Alg Lin Maple

  • Uploaded by: Pomohaci Cristian
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Alg Lin Maple as PDF for free.

More details

  • Words: 36,239
  • Pages: 183
Cristian Mihai Pomohaci

Algebră liniară

Bucureşti 2005

Cuprins Capitolul 1: MulŃimi şi aplicaŃii (funcŃii) 1.1. NoŃiunea de mulŃime 1.1.1. MulŃime. NotaŃii 1.1.2. Simboluri logice 1.2. OperaŃii cu mulŃimi 1.3. AplicaŃie (funcŃie) 1.3.1. NoŃiuni de bază 1.3.2. Moduri de definire a unei aplicaŃii (funcŃii) 1.4. AplicaŃii injective, surjective, bijective 1.4.1. AplicaŃie injectivă 1.4.2. AplicaŃie surjectivă 1.4.3. AplicaŃie bijectivă Capitolul 2: Matrice 2.1. Matrice 2.1.1. NoŃiunea de matrice 2.1.2. Tipuri de matrice 2.1.3. OperaŃii cu matrice 2.1.3.1. Egalitatea matricelor 2.1.3.2. Adunarea şi scăderea matricelor 2.1.3.3. ÎnmulŃirea unei matrice cu un scalar 2.1.3.4. ÎnmulŃirea a două matrice 2.1.4. Transpusa unei matrice 2.1.5. Matricea inversă a unei matrice pătratice 2.1.6. Calcularea matricei inverse prin metoda necunoscutelor 2.1.7. Norma unei matrice

eliminării

complete

Capitolul 3: DeterminanŃi 3.1. DeterminanŃi de ordinul doi şi trei 3.2. DefiniŃia determinantului de ordin n 3.3. Descompunerea determinantului după elementele unei linii 3.4. ProprietăŃile determinanŃilor 3.5. Calcularea inversei unei matrice pătratice nedegenerate cu ajutorul matricei adjuncte 2

a

Capitolul 4: Sisiteme de ecuaŃii liniare 4.1. NoŃiunea de sistem de ecuaŃii liniare şi de soluŃie a sa 4.2. Forme liniare. DependenŃă şi independenŃă liniară 4.3. Rangul unei matrice 4.3.1. Rangul liniilor şi coloanelor unei matrice 4.3.2. Transformări elementare ale matricei 4.4. Calcularea rangului unei matrice 4.5. Metode directe de rezolvare a sistemelor de ecuaŃii liniare 4.5.1. Regula lui Cramer 4.5.2. Metoda lui Gauss 4.6. Metode iterative pentru determinarea soluŃiei sistemelor de ecuaŃii liniare 4.6.1. Metoda iteraŃiilor succesive 4.6.2. Metoda lui Seidel 4.7. BalanŃa legăturilor dintre ramuri Capitolul 5: SpaŃii vectoriale 5.1. Vectori 5.2. DefiniŃia spaŃiului vectorial 5.3. Liniar independenŃă. Bază 5.4. SubspaŃii vectoriale.

Capitolul 6: Operatori liniari 6.1. DefiniŃie. ProprietăŃi. 6.2. OperaŃii cu operatori liniari 6.3. Matricea unui operator liniar (izomorf) 6.4. Valori proprii. Vectori proprii Capitolul 7: FuncŃionale biliniare 7.1. DefiniŃie. ProprietăŃi 7.2. Produs scalar Capitolul 8: Introducere în Maple 8.1. Ce este Maple ? 8.1.1. NoŃiuni generale 3

8.1.2. Fereastră Maple 8.2. Obiecte Maple 8.2.1. Limbajul sistemului Maple 8.2.2. Obiecte Maple 8.3. Operatori Maple 8.3.1. Operatorul de atribuire 8.3.2. Ditto – operatori 8.3.3. Operatorul de concatenare 8.3.4. Operatorul de compoziŃie 8.3.5. Operatorul neutru 8.4. FuncŃii Maple 8.5. Structuri Maple 8.6. OperaŃii analitice cu comenzi Maple 8.6.1. Comanda simplify( ) 8.6.2. Comanda expand( ) 8.6.3. Comanda factor( ) 8.6.4. Comanda normal( ) 8.6.5. Comanda combine( ) 8.6.6. Comanda collect( ) 8.6.7. Comanda rationalize( ) 8.6.8. Alte comenzi Capitolul 9: Pachete şi grafică Maple 9.1. Pachete ale algebrei liniare 9.1.1. NoŃiuni de bază 9.1.2. Pachetul linalg 9.1.2.1. OperaŃii cu matrice 9.1.3. Pachetul LiniarAlgebra 9.1.3.1. Produs scalar 9.1.3.2. Valori şi vectori proprii 9.1.3.3. Metoda lui Gauss 9.1.4. Rezolvarea sistemelor de ecuaŃii liniare cu Maple 9.1.4.1. Metoda LU 9.1.4.2. Metoda QR 9.1.4.3. Metoda lui Cholesky 9.2. Grafică Maple

4

9.2.1. Grafică 2d 9.2.2. Grafică 3d 9.3. Pachete pentru aplicaŃii în geometrie 9.3.1. Pachetul geometry 9.3.2. Pachetul geom3d 9.4. Pachetul student 9.4.1. Rezolvarea unui sistem de inecuaŃii 9.4.2. Rezolvarea ecuaŃiilor neliniare 9.4.3. Reprezentarea iteteraŃiilor lui Newton sub formă simbolică Bibliografie

5

Capitolul 1 MULłIMI ŞI APLICAłII (FUNCłII) În cadrul acestui capitol se vor recapitula anumite noŃiuni învăŃate în liceu, acestea fiind necesare în înŃelegerea conceptelor prezentate în acest manual. În plus, din experienŃa anilor de predare am observat anumite dificultăŃi întâmpinate de studenŃi proveniŃi de la licee diferite, în fiecare liceu fiind un anumit mod de predare. De aceea rolul acestui prim capitol este de a stabili o bază comună pentru toŃi studenŃii.

1.1. NoŃiunea de mulŃime

1.1.1. MulŃime. NotaŃii NoŃiunile „mulŃime” şi „element al unei mulŃimi” sunt primare în matematică. Ele nu pot fi definite strict, ci se explică prin exemple. De exemplu, se poate vorbi despre mulŃimea tuturor studenŃilor unei facultăŃi, despre mulŃimea punctelor unui segment de dreaptă etc. MulŃimile se notează cu majuscule: A, B, C, X ... , iar elementele lor cu minuscule: a, b, c, x, ... Astfel cu litere aldine N, Z, Q, R se notează, respectiv, mulŃimea numerelor naturale, mulŃimea numerelor întregi, mulŃimea numerelor raŃionale şi mulŃimea numerelor reale. O mulŃime M se consideră definită (determinată) dacă este cunoscut pe deplin din care elemente este alcătuită. MulŃimea cu un număr finit de elemente este o mulŃime finită, în caz contrar, mulŃimea se numeşte infinită. Se cunosc două moduri de a defini o mulŃime 1) prin scrierea nemijlocită a tuturor elementelor mulŃimii: M = {m1, m2, …}

6

Exemple 1. M = {1, 2, 5, 10} – mulŃimea tuturor divizorilor lui 10 2. N = {0, 1, 2, … , n, …} – mulŃimea tuturor numerelor naturale 2) prin specificarea unei proprietăŃi pe care o au elementele mulŃimii şi nu le au alte elemente: A = {x | P(x)}. Aici A este mulŃimea de elemente x ce posedă proprietatea P(x). Exemple 1. MulŃimea M1 = {x | x = 3n , n = 0,1,2, …} constă din numerele naturale 0,3,6,9 … 2. X = {x | x ∈(-1,1)} este mulŃimea numerelor reale cuprinse între -1 şi 1. Simbolurile a∈A, b∉A înseamnă că elementul a aparŃine mulŃimii A, iar elementul b nu aparŃine lui A. MulŃimea care nu conŃine nici un element se numeşte mulŃime vidă (∅) Exemplu MulŃimea punctelor de intersecŃie a două drepte paralele este mulŃimea ∅ NotaŃia A ⊂ B înseamnă că mulŃimea A este inclusă în mulŃimea B. Două mulŃimi A şi B se numesc egale şi se scriu A = B dacă orice element al lui A aparŃine lui B şi reciproc, adică A ⊂ B şi B ⊂ A.

D1.1.

1.1.2. Simboluri logice În cele ce urmează se întrebuinŃează următoarele simboluri logice: 1. ∀ (cuantificatorul universal) se foloseşte în locul cuvintelor “pentru orice” , “oricare ar fi”; 2. ∃ (cuantificatorul existenŃial), se foloseşte în locul cuvintelor “există” sau “există un aşa”; 3. ⇒ (implicaŃie), înseamnă “implică”, “urmează”, “rezultă” (o propoziŃie sau afirmaŃie, rezultă din alta);

7

4. ⇔ sau ~ (echivalenŃă), înseamnă echivalenŃa afirmaŃiilor ce se află în stânga şi în dreapta simbolului; 5. Σ (simbolul sigma), exprimă o sumă de forma x1 + x2 + ... + xn =

n

∑x i =1

i

1.2. OperaŃii cu mulŃimi Pentru mulŃimi au loc următoarele operaŃii: 1) reuniunea a două mulŃimi: A ∪ B = { x | x ∈A sau x∈B}; Exemplu {4,5,6} ∪ {6,7} = {4,5,6,7} 2) intersecŃia A ∩ B = {x | x∈ A şi x∈B}; Exemple a) {1,2,3}∩{5,6,7} = ∅ b) A1 = {a,b,c,d,e} , A2 = {a,d,e,f} , A3 = {d,e,k} ⇒ A1 ∩ A2 ∩ A3 = ={d,e} 3) diferenŃa A\B = {x | x ∈ A , x ≠ B}; Exemplu {a,b,c} \ {b,c,d} = {a}

1.3. AplicaŃie (funcŃie) 1.3.1. NoŃiuni de bază NoŃiunea de aplicaŃie (sau funcŃie), la fel ca şi noŃiunea de mulŃime, se referă la noŃiunile fundamentale ale matematicii.

8

Dacă fiecărui element x∈A, în baza unei legi f i se asociază un unic element y∈B, atunci se spune că este definită o aplicaŃie f (sau corespondenŃă) a mulŃimii A în mulŃimea B. Elementul y∈B corespunzător elementului x prin aplicaŃia f (sau valoarea lui f în x), iar însuşi elementul x – preimagine a lui y prin f. O aplicaŃie a lui A în B se mai numeşte şi funcŃie definită pe mulŃimea A cu valori în mulŃimea B. DefiniŃia aplicaŃiei presupune, de fapt, existenŃa următoarelor trei elemente: 10. O mulŃime A, pe care este definită aplicaŃia şi care se numeşte domeniul de definiŃie al aplicaŃiei; 20. O a doua mulŃime B, în care ia valori aplicaŃia şi care se numeşte domeniul valorilor aplicaŃiei sau codomeniul aplicaŃiei; 30. o lege (procedeu, convenŃie, etc.) f, conform căreia fiecărui element x∈A i se asociază un anumit element y∈B. Această lege se numeşte legea de asociere (sau de definire) a aplicaŃiei; Pentru A, B şi f avem f: A → B

(1)

Dacă prin aplicaŃia f:A→B elementului x∈A i se asociază elementul y∈B, notat şi f(x), atunci se scrie y = f(x). În cazul când (1) este numită funcŃie, A se numeşte domeniul de definiŃie al funcŃiei f, B – domeniul valorilor funcŃiei sau codomeniul funcŃiei. Imaginea f(A) se numeşte mulŃimea valorilor funcŃiei sau domeniul de variaŃie al funcŃiei f.

1.3.2. Moduri de definire a unei aplicaŃii (funcŃii) Pentru a defini o funcŃie trebuie să precizăm următoarele trei elemente: domeniul de definiŃie, domeniul valorilor şi legea de asociere.

AplicaŃii definite sintetic. În unele cazuri f:A→B poate fi definită numind pentru fiecare element în parte din A elementul ce i se asociază din mulŃimea B. Exemplu Pentru A ={a,b,c,d} şi B = {1,2,3} legea f:A→B se defineşte considerând f(a) = 2 , f(b) = 1 , f(c) = 2 , f(d) = 3. Grafic această lege poate fi reprezentată

9

prin diagrama

A

B f

a

1

b

2

c

3

d

Figura 1. DefiniŃia funcŃiei sau tabelul x f(x)

a 2

b 1

c 2

Tabelul 1 d 3

AplicaŃii definite analitic f:A→B poate fi definită specificând o proprietate (relaŃie) ce leagă un element arbitrar x∈A de elementul f(x) din B (y = f(x) ∈ B). Exemple 1) Fie A mulŃimea Ńărilor Uniunii Europeene, B – mulŃimea oraşelor din Europa. În acest caz f:A→B este aplicaŃia care asociază fiecărei Ńări a UE, capitala ei. 2) Prin definiŃie, partea întreagă [a] a unui număr real a este cel mult egal cu a. Astfel, pentru [3,2] = 3 , [7] = 7 , [-6,15] = -7 etc. AplicaŃia f: R → Z se defineşte în felul următor: f(x) = [x] , ∀ x∈R 3) Pentru o formulă (sau o expresie algebrică) E(x) se poate asocia o funcŃie sau mai multe funcŃii. Astfel, considerând E(x) = x2 se poate defini f: R→R astfel încât f(x) = x2. Aceleiaşi expresii E(x) = x2 i se poate asocia funcŃia g: Z → R , g(x) = x2. FuncŃiile f şi g sunt diferite, deoarece domeniul de definiŃie al lui f este R, iar

10

al lui g este Z. 4) Pentru mai multe expresii algebrice se pot defini o funcŃie sau mai multe funcŃii. Pentru expresiile E1(x) = x + 1 , E2(x) = x2 şi E(x) = 1, poate fi definită funcŃia f :R→R în felul următor:

x<0 x + 1, daca  2 f (x ) =  x daca 0 ≤ x ≤ 1  1 daca x >1  Aceleiaşi expresii poate fi asociată şi funcŃia g: Z→R

x<0 x + 1, daca  2 g(x ) =  x daca 0 ≤ x ≤ 1  1 daca x >1 

1.4. AplicaŃii injective, surjective, bijective 1.4.1. AplicaŃie injectivă O aplicaŃie f:A→B se numeşte aplicaŃie injectivă sau simplu injecŃie dacă fiecare imagine f(x) are o singură preimagine x

D2

AplicaŃia (funcŃia) f:A→B este injectivă dacă şi numai dacă din condiŃia x ≠ x’ (x,x’∈A) rezultă f(x) ≠ f(x’). CondiŃia x ≠ x’ (x,x’∈A) ⇒ f(x) ≠ f(x’) poate fi considerată ca definiŃie a aplicaŃiei injective. Faptul că f este o aplicaŃie injectivă se mai exprimă şi astfel: dacă x şi x’ sunt oricare două elemente din A cu proprietatea f(x) = f(x’) atunci rezultă că x = x’. O aplicaŃie nu este injectivă dacă există cel puŃin două elemente x,x’∈A, x ≠ x’ pentru care f(x) = f(x’) AplicaŃii 1. AplicaŃia f: A→ B, asociată diagramei:

11

A

B

f(x) x

Figura 2. FuncŃie injectivă este o aplicaŃie injectivă. 2) Să se arate că aplicaŃia f:R→R ,

2 x + 1, x < 0 f (x) =  este injectivă.  x + 2, x > 0 Din f(x1) = f(x2) , x1, x2∈(-∞,0) ⇒ 2x1+1 = 2x2 +1 ⇒ x1 = x2; f(x1) = f(x2) , x1,x2 ∈[0,∞) ⇒ x1 + 2 = x2 + 2 ⇒ x1 = x2; Fie x1 < 0 ≤ x2 ⇒ f(x1) < 1 < 2 ≤ f(x2), aşadar x1 ≠ x2 ⇒ f(x1) ≠ f(x2). Prin urmare aplicaŃia f este injectivă. 3) Să se arate că f:R→R, f(x) = 2x3-4x2+5 este o aplicaŃie injectivă. Scriind f(x)=2x2(x-2)+5 se observă că produsul x2(x-2) se anulează pentru x1=0

12

şi x2=2. Deoarece x1≠x2 ⇒ f(x1) = f(x2) = 5, aplicaŃia f nu este injectivă.

1.4.2. AplicaŃie surjectivă

O aplicaŃie f:A→B se numeşte aplicaŃie surjectivă sau simplu surjecŃie sau aplicaŃie a lui A pe B, dacă există pentru fiecare element y∈B există (cel puŃin) o preimagine x∈A astfel încât f(x) = y.

D3

Cu alte cuvinte, f:A→B este surjectivă dacă imaginea f(A) a mulŃimii A prin aplicaŃia f coincide cu toată mulŃimea B, adică f(A) = B. Exemple 1. AplicaŃia asociată diagramei

f

A

B Figura 3. FuncŃie surjectivă

este o aplicaŃie surjectivă.

13

2) FuncŃia f:R→R definită prin relaŃia f(x) = kx , k ≠ 0 este surjectivă.

 x −1 x < 0 nu este saurjectivă. Se 3) Să se arate că f :R→R , f ( x ) =  2 x + 3 x > 0 observă, intuitiv, că f((-∞,0)) = (-∞, -1); f([0,+∞)) = [3,+∞). Avem f(R) = = f((-∞,0) ∪[0,+∞)) = f((-∞,0)) ∪ f([0,+∞)) = (-∞, -1) ∪ [3,+∞) ≠ R. Prin urmare, f nu este o aplicaŃie surjectivă.

1.4.3. AplicaŃie bijectivă O aplicaŃie f:A→B se numeşte aplicaŃie (corespondenŃă sau funcŃie) bijectivă sau simplu bijecŃie între mulŃimile A şi B dacă ea este simultan injectivă şi surjectivă.

D4

Cu alte cuvinte, se spune că între mulŃimile A şi B (sau între elementele acestor mulŃimi) este stabilită o corespondenŃă bijectivă (sau biunivocă) f când sunt îndeplinite condiŃiile: 1) fiecare element x∈A are o imagine y∈B şi numai una (corespondenŃa este univocă); 2) pentru fiecare element y∈B există (cel puŃin) o preimagine x∈A (f este o corespondenŃă a lui A pe B); 3) două elemente diferite x1, x2 din A (x1 ≠ x2) au imagini diferite y1, y2 în B (y1 ≠ y2) Exemple 1) AplicaŃia f :A → B asociată diagramei

x

y = f(x)

Figura 4. FuncŃie bijectivă 14

este bijectivă. 2) FuncŃia f :R→R , f(x) = kx + b, unde k,b∈R şi k ≠ 0 este bijectivă 3) Să se arate că aplicaŃia f:[1,∞) → [2,∞) , f(x) = x +

1 x

este bijectivă. Dacă x1 > x2 ≥ 1 ⇒ f(x1) – f(x2) = x1 + = (x1 – x2) – (

1 1 - x2 = x1 x 21

 1 1 1 ) = (x1 – x2) 1 − x 1 x 21  x1x 2

  > 0 ⇒ f(x1) > f(x2) ⇒ 

⇒ este strict crescătoare ⇒ f este injectivă. 1 Dacă x ≥ 1 ⇒ x + ≥ 2. Folosind inegalitatea mediilor, obŃinem că x 1 1 1 1 ≥ 2 ⇒ f(x) ≥ 2 ⇔ f este surjectivă. Prin x +  ≥ x ⋅ = 1 ⇔ x + 2 x x x urmare, f este bijectivă.

15

Capitolul 2 MATRICE

Exact ca şi în capitolul 1 şi-n acest capitol facem o recapitulare a noŃiunilor mai importante din anii anteriori. În plus încercăm să introducem şi o parte din noŃiunile specifice algebrei liniare.

2.1. Matrice

2.1.1. NoŃiunea de matrice de numere

Matricile au o aplicare largă în cercetările economice, deoarece ele facilitează în mod considerabil studierea dependenŃelor dintre diferiŃi indici economici. Se numeşte matrice de tipul (forma) m x n, sau simplu matrice, un tablou dreptunghiular compus din m.n numere reale aşezate în m linii (sau

D.2.1

rânduri) şi n coloane. Sub forma generală matricea A de tipul m x n se prezintă astfel:

 a 11 a 21 A=   ...  a m1

a 12 a 22 ... a m2

... a 1n  ... a 2 n  ... ...   ... a mn 

sau

 a 11   a 21 A=  ...  a  m1

16

a 12 a 22 ... a m2

... a 1n   ... a 2 n  ... ...   ... a mn 

(2)

De multe ori matricele (2) se notează prescurtat prin simbolurile [aij] sau (aij) sau prin litera mare a alfabetului latin, de exemplu A sau A = [aij]. În aceste cazuri, când este important de arătat tipul m x n al matricei A, aceasta se notează cu simbolul Amxn. Numerele aij din care constă matricea A se numesc elementele1 matricei. Uneori elementele matricei A se notează cu simbolul Aij sau (A)ij. Primul indice al elementului înseamnă numărul liniei, al doilea – numărul coloanei în care se află elementul dat. De exemplu, a34 înseamnă numărul (elementul) din linia a treia şi coloana a patra a acestei matrice. Dacă numărul liniilor matricei este egal cu numărul coloanelor ei, adică m = n, atunci matricea se numeşte pătratică, tipul ei este n x n. Numărul n de linii (coloane) a unei matrice pătratice se numeşte ordinul acestei matrice şi se spune că matricea e

pătratică de ordinul n care constă din n2 elemente. În matricea

 a 11 a 21 A=   ...  a m1

a 12 a 22 ... a m2

... a 1n  ... a 2 n  ... ...   ... a mn 

(3)

pătratică de ordinul n, elementele aii (i = 1, 2, ... , n) formează diagonala

principală a matricei A, adică vectorul (a11, a22, ... , ann). Cealaltă diagonală, considerată ca vectorul (a1n, a2n-1, ... , an1), se numeşte diagonala secundară a matricei. Exemplu Să presupunem că există 3 oraşe. C1, C2 şi C3 şi două linii de autobuz L1 şi L2. Ştim că L1 circulă între oraşele C1 şi C3, iar L2 circulă între oraşele C2 şi C3. Notăm cu 1 atunci când linia de autobuz trece prin oraş şi cu 0 dacă acea linie de autobus nu trece prin acel oraş. Vom avea următorul tabel: ORAŞE

AUTOBUZE

1

C1

C2

C3

L1

1

0

1

L2

0

1

1

Ca elemente ale matricei putem avea şi alte obiecte

17

Ştiind că pe coloane avem oraşele iar pe linii traseele autobuzelor nu mai este necesar să le scriem, iar valorile le punem într-o matrice pe care o notăm cu T:

 1 0 1  T =  0 1 1  

2.1.2. Tipuri de matrice Matricea care constă dintr-un singur element a, adică 1 x 1 – matricea A = (a), se identifică cu însuşi acest element şi convenŃional se notează în felul următor (a) = a Matricea de tipul m x 1, adică matricea de forma

 b1  b  2 B = Bmx1 =    ...    b n  Constă dintr-o singură coloană şi se numeşte matrice-coloană, sau vector-coloană sau simplu coloană, iar numărul elementelor ei – înălŃimea coloanei. Matricea A = [a1 a2 ... an] = A1x n constă dintr-o singură linie şi se numeşte matrice-linie (vector-linie sau linie), iar numărul elementelor ei – lungimea liniei Exemple 1) Tabelul oficial al câştigurilor tragerii la sorŃi reprezintă o matrice dreptunghiulară din m linii şi trei coloane. Elementele primei arată numărul seriilor, elementele celei de-a doua – numărul biletelor, elementul coloanei a treia – mărimea câştigului în lei. 18

1 2 − 3 2) A = 3 2 4  0 6 8 

este o matrice pătratică de ordinul trei cu 9

elemente. Diagonala principală o formează elementele: a11 = 1, a22 = 2, a33 = 8. Matricea ale cărei elemente sunt toate zero se numeşte matrice nulă şi se notează cu θ sau cu θn sau θmxn dacă apare necesitatea de a indica tipul ei. Exemple Matricele

0 0  0 0 0  = θ2 , θ =  θ=   = θ2x3 0 0  0 0 0  sunt matrice nule. În continuare vom evidenŃia unele tipuri de matrice pătratice. Matricea de forma

d 1 0 D=  ...  0

0 d2 ... 0

... 0  ... 0  ... ...   ... d n 

la care toate elementele din afara diagonalei principale sunt egale cu zero, se numeşte matrice diagonală. Dacă d1 = d2 = ... = dn = s , atunci D se transformă în matricea scalară, iar dacă s = 1, atunci avem matricea unitate

1 0 E=  ...  0

0 ... 0  1 ... 0  ... ... ...  0 ... 1 

2.1.3. OperaŃii cu matrice

19

OperaŃiile de bază asupra matricelor sunt adunarea, scăderea, înmulŃirea matricei cu un număr şi înmulŃirea matricei cu matrice. La baza studierii operaŃiilor cu matrice este pusă noŃiunea de egalitate a matricelor.

2.1.3.1. Egalitatea matricelor Două matrice A şi B se numesc egale dacă ele sunt de aceeaşi formă şi dacă sunt egale toate elementele lor situate pe locurile corespunzătoare

D 2.2.

(adică elementele din aceeaşi linie i şi aceeaşi coloană j) ale acestor matrice Astfel, o egalitate matriceală A = B între matricele m x n – matricele A = [aij] şi B = [bij] este echivalentă cu m.n egalităŃi scalare: A = B ⇔ aij = bij (i = 1,2, ... , m ; j = 1,2, ... , n) Adică pentru a avea două matrice egale:

 a 11 a  21

a 12 a 22

a 13   b 11 = a 23  b 21

b 12 b 22

b13  b 23 

trebuie îndeplinite condiŃiile a11 = b11 , a12 = b12 , a13 = b13 a21 = b21 , a22 = b22 , a23 = b23

2.1.3.2. Adunarea şi scăderea matricelor Se numeşte suma (diferenŃa) a două matrice A = [aij] şi B = [bij] de acelaşi tip m x n matricea C = [cij] ale cărei elemente sunt egale cu suma (diferenŃa) elementelor corespunzătoare ale celor două matrice: cij = aij ± bij (i = 1,2,...,m; j =1,2,...,n) AplicaŃie Pentru matricele

0 − 1 A = 1 2  , B = 2 0 

20

− 3 0  4 1    1 1 

D 2.3.

suma A + B este matricea C:

0 + (−3) − 1 + 0 − 3 − 1 C = A + B =  1 + 4 2 + 1  =  5 3   2 + 1 0 + 1   3 1  Adunarea matricelor are următoarele proprietăŃi: 10. A + B = B + A (comutativitatea); 20. A + (B+C) = (A+B) + C (asociativitatea); 30. A + θ = A ; θ - matrice nulă de acelaşi tip cu A

2.1.3.3. ÎnmulŃirea unei matrice cu un scalar Produsul dintre matricea A = [aij]mxn şi scalarul α (sau un număr α) este o matrice B = [bij]mxn care se obŃine din matricea A prin înmulŃirea tuturor elementelor ei ci α, adică

D 2.4.

bij = αaij (i = 1,2,...,m ; j = 1,2,...,m) Produsul matricei A prin α se notează cu αA sau Aα. AplicaŃie (−7) ⋅ 0 (−7) ⋅ 3  − 14 0 − 21  2 0 3   ( −7 ) ⋅ 2 -7.  =   = 7 − 1 1 − 2 ( − 7 ) ⋅ ( − 1 ) ( − 7 ) ⋅ 1 ( − 7 ) ⋅ ( − 2 ) − 7 14       Din definiŃia operaŃiei de înmulŃire a matricei cu un număr rezultă următoarele proprietăŃi ale acestei operaŃii: 10 1.A = A; 20 0. A = θ ; 30 α(βA) = (αβ)A; 40 (α+β)A = αA + βA; 50 α(A + B) = αA + αB; Fie A1, A2, … , An matrice de acelaşi tip şi α1, α2, ..., αn ∈ R. Se

21

D 2.5.

numeşte combinaŃie liniară a matricelor A1, … , An expresia

α1.A1 + ... + αn.An

Din 10 şi 40 rezultă că: A + A = 2A , A + A + A = 3A , .... Matricea (-1)A deobicei se notează –A şi se numeşte opusă matricei A. Prin urmare, prin definiŃie, (-1)A = -A DiferenŃa a două matrice poate fi definită în felul următor: A – B = A + (-1).B

2.1.3.4. ÎnmulŃirea a două matrice Pentru o mai bună înŃelegere a noŃiunilor din această secŃiune vom începe prin a prezenta următoarea problemă La trei întreprinderi se produc patru tipuri de produse. Datele despre volumul producŃiei în prima şi a doua jumătate a anului sunt respectiv cele din tabelele 2 şi 3. Tabelul 2: producŃia lunile 1-6 Întreprinderea

P1

P2

P3

I

1020

1061

II

1415

III

990

Tabelul 3: producŃia lunile 7-12

ProducŃia P4

Întreprinderea

ProducŃia P1

P2

P3

P4

605

108

I

1028

1005

610

918

1220

975

1005

II

1419

1217

971

1008

707

1101

1055

III

992

710

1155

1059

Cunoscând programul anual de producŃie al fiecărei întreprinderi (suma datelor din cele două tabele) şi cantităŃile a două resurse necesare pentru a produce o unitate de producŃie (tabelul 4)

Tabelul 4: resursele necesare pentru a produce o unit de prod. Resursele

ProducŃia P1

22

R1

R2

5

7

P2

3

4

P3

4

6

P4

2

3

să se determine volumul anual de resurse necesare pentru fiecare întreprindere. Pentru a afla volumul anual de consum pentru resursa R1 la prima întreprindere, se calculează suma produselor elementelor primei linii a matricei C2) cu elementele corespunzătoare ale coloanei întâi a matricei

5 3 R=  4  2

7 4 6  3

Se obŃine: d11 = (1020 + 1028).5 + (1061 + 1065).3 + (605 + 610).4 +(908 + 918).2 = (●); d12 = (1415 + 1419).5 + (1220 + 1217).3 + (975+971).4 + (1005 + 1008).2 = (●●); d32 = (990 + 912).5 + (707 + 710).3 + (1101 + 1155).4 + (1055 + 1059).2 = (●●●). De asemenea, pentru resursa R2, obŃinem: d12 = 2048.5 + 2126.3 + 1215.4 + 1826.2 = (x); d22 = 2834.5 + 2437.3 + 1946.4 + 2013.2 = (xx); d32 = 1982.5 + 1417.3 + 2256.4 + 2114.2 = (xxx); Aşadar avem:

 d 11 D = d 21 d 31

d 12   (•) (x )    d 22  =  (• •) ( xx )  d 32  (• • • ) ( xxx )

Elementele matricei D (numită produsul matricei C cu matricea R) indică volumul anual a celor două resurse necesare pentru fiecare întreprindere. Din cele expuse mai sus se observă că, pentru a înmulŃi două matrice, este necesar ca numărul de coloane ale primei matrice să fie egal cu numărul de linii ale matricei a doua.

matricea C este suma matricelor A şi B, unde A este matricea corespunzătoare datelor din tabelul 2.1, iar B – matricea corespunzătoare datelor din tabelul 2.2 2)

23

Acum vom defini noŃiunea de produs a două matrice. Fie A şi B matrice astfel încât numărul de coloane ale lui A coincide cu numărul de linii ale lui B, adică A = [aij]mxn , iar B = [bij]nxp . Prin produsul AB al matricelor A şi B se înŃelege matricea C = [cij]mxp ale cărei elemente se obŃin în modul următor: n

cij =

∑a k =1

ik

b kj

D 2.5

(i = 1,2,...,m ; j = 1,2,...,n)

Matricea C = AB, după cum se observă, are atâtea linii câte linii are matricea A şi atâtea coloane câte coloane are matricea B. Din definiŃie rezultă că elementul cij al matricei AB, situat pe linia i şi coloana j, se obŃine calculând suma produselor elementelor liniei i a matricei A cu elementele corespunzătoare ale coloanei j a matricei B. AplicaŃie

1 3 4  Pentru A = 2 0 5  şi B = 3 6 8 

a b  c d  să se afle produsul C = A.B   e f 

Calculând obŃinem:

1 ⋅ a + 3 ⋅ c + 4 ⋅ e 1 ⋅ e + 3 ⋅ d + 4 ⋅ f  C = 2 ⋅ a + 0 ⋅ c + 5 ⋅ e 2 ⋅ b + 0 ⋅ d + 5 ⋅ f  3 ⋅ a + 6 ⋅ c + 8 ⋅ e 3 ⋅ b + 6 ⋅ d + 8 ⋅ f  Se observă că dacă matricea A poate fi înmulŃită cu matricea B, atunci din aceasta nu rezultă că B poate fi înmulŃită cu A. Produsul matricelor pătrate de acelaşi ordin este o matrice pătratică tot de acest ordin.

D 2.6

Produsul unei matrice pătratice cu o matrice-coloană este o matrice coloană, iar produsul unei matrice coloană cu o matrice-linie este o matrice dretunghiulară sau pătratică, pe când produsul unei matrice-linie cu o matrice-coloană este un scalar, adică o matrice de tipul 1x1.

24

ProprietăŃiel înmulŃirii matricelor sunt: 10 Pentru matricele A, B şi C astfel încât să existe produsele AB şi BC are loc egalitatea: A(BC) = (AB)C

(asociativitatea)

20 Pentru matricele A şi B şi numărul α (α ≠ 0) când există produsul AB sunt valabile egalităŃile:

α(AB) = (αA)B = A(αB) 30 Pentru matricele A, B şi C pentru care există AB şi AC (A şi B fiind de acelaşi tip) are loc egalitatea: (distributivitatea la stânga)

A(B+C) = AB+BC

Dacă A şi b nu sunt de acelaşi tip şi există AC şi BC, atunci (distributivitatea la dreapta)

(A+B)C = AC+BC

40 Pentru matricea A pătratică şi matricea unitară E de acelaşi ordin are loc: AE = EA = A Deoarece pentru noŃiunea de produs a două matrice A şi B are importanŃă ordinea AB, rezultă că înmulŃirea matricelor nu este comutativă. Dacă matricele A şi B sunt pătratice de acelaşi ordin, atunci produsul lor este definit. Pentru matricea pătratică A şi numărul natural p puterea matricei Ap se definieşte în felul următor: Ap = A A2 ⋅ ... A 1⋅4 4⋅3 de p ori

Pentru p = 0, prin definiŃie, A0 = E, e are acelaşi ordin ca A. Se poate demonstra uşor că dacă p şi q sunt numere naturale, atunci: ApAq = Ap+q (Ap)q = Apq

25

Exemplu

λ 1 1) pentru matricea A =  0 λ 1 A2 =  0

0 pătratul ei este λ 2 

0  λ 1 . λ 2   0

0  λ21 =  λ 2   0

λ3 A3 =  1 0

0  λ32 

0  λ22 

În mod analog

Un alt lucru important ce rezultă din înmulŃirea matricelor este faptul că orice expresie de genul 6x + y − 2z Se poate scrie ca o înmulŃire de matrice astfel

 x   (6 1 − 2) ⋅  y  z   Generalizând putem scrie formula:

a 1 b1 + a 2 b 2 + ... + a n b n = (a 1

a2

 b1    b  ... a n ) ⋅  2  ...   b   n

Deci o ecuaŃie de forma

a11x1 + a12 x 2 + ... + a1n x n = b1 Se poate scrie matriceal astfel:

(a 11

a 12

 x1    x  ... a 1n ) ⋅  2  = b1 ...   x   n

Adică un sistem de ecuaŃii

26

 a 11 x 1 + a 12 x 2 + ... + a 1n x n = b 1 a x + a x + ... + a x = b  21 1 22 2 2n n 2  .......... .......... .......... .......... .....   a s1 x 1 + a s 2 x 2 + ... + a sn x n = b n

poate fi scris sub formă matriceală astfel:

 a 11   a 21  ...  a  s1

a 12

...

a 22

...

...

...

a s2

...

a 1n   x 1   b 1       a 2n   x 2   b 2  ⋅ = ...   ...   ...       a sn   x n   b n 

Notând:

 a11 ... a1n    A =  ... ... ...  , x = a   s1 ... a sn 

 x1     ...  şi b = x   n

 b1     ...  b   n

putem scrie sistemul sub formă matriceală A.x=b AplicaŃii

1) Fie T:

M

2,1

mulŃimea matricelor cu două linii şi o coloană şi fie

M 2,1→ R. Spunem că T este liniară dacă pentru orice u,v ∈M 2,1 şi scalarii

c,d ∈ R avem relaŃia T(c.u+d.v) = c.T(u)+d.T(v)

(4)

Să verificăm dacă T: M 2,1→ R de forma  x T(   ) = x  y

(5)

este liniară

27

 x z Pentru aceasta luăm u =   şi v =   şi calculăm termenul din  y  w stânga ecuaŃiei 1 (4)  x  z  1.3  c ⋅ x   d ⋅ z  1.2 . . .  .     +   ) = T(c u + d v) = T(c y + d  w  ) = T (       c ⋅ y   d ⋅ w  c ⋅ x + d ⋅ z  ( 2) .  ) = c x + d.z = T(   c ⋅ y + d ⋅ w  x z dar x = T(   ) şi z = T(   ) deci obŃinem în continuare:  y  w  x z c.x + d.z = c.T(   ) + d.T(   ) = c.T(u) + d.T(v)  y  w Adică am demonstrat că T este o funcŃie liniară.

Se poate observa că T poate fi definit şi ca un produs de matrice

x x   . T(   ) = ( 1 0 )  y     y 2) Să presupunem că o firmă comercializează un tip de deodorant, să zicem deodorantul A. După un timp aceeaşi firmă are pe piaŃă un alt tip de deodorant să zicem deodorantul B. Studiind vânzările la anumite intervale de timp s-au observat următoarele: că din cei ce cumpărau deodorantul A 60% au rămas fideli alegerii, în timp ce 40% au schimbat opŃiunea alegând deodorantul A. Pentru a scrie modelul corespunzător vom nota cu a1 numărul de cumpărători ce au cumpărat deodorantul A în prima etapă şi cu a2 numărul de cumpărători ce au cumpărat deodorantul A în a doua etapă. Analog avem notaŃiile pentru deodorantul B cu b1 respectiv b2. Putem deci scrie sistemul de ecuaŃii

a 2 = 60% ⋅ a 1 + 30% ⋅ b1  b 2 = 40% ⋅ a 1 + 70% ⋅ b1 1

deasupra semnului egal vom scrie numărul definiŃiei aplicate

28

Notând:

 a1   , X2 =  b1 

X1 = 

 a2   b2

  şi C = 

 0,6 0,3    0,4 0,7 

atunci matriceal sistemul se va scrie x2 = C . x1 Generalizând obŃinem: xk+1 = C . xk adică dacă tendinŃa de migrare a cumpărătorilor s-ar menŃine în conformitate cu matricea C, atunci la momentul k+1 putem calcula numărul de cumpărători ai deodorantului A, respectiv deodorantul B. ObservaŃie Fiecare coloană a matricei C ne arată distribuŃia cumpărătorilor unui tip de deodorant. De exemplu pentru deodorantul A 60% sunt cei care au rămas fideli acestui produs în timp ce 40 % provin din cei care au schimbat opŃiunea de la produsul B la produsul A. Matricea C se mai numeşte matrice de tranziŃie3

2.1.4. Transpusa unei matrice Fie A o matrice de tipul m x n:

 a 11   a 21 A=  ...  a  m1

a 12 a 22 ... a m2

... a 1n   ... a 2 n  ... ...   ... a mn 

Matricea

3

la cursul de probabilităŃi vom vedea că toate acestea alcătuiesc un lanŃ Markov.

29

 a 11   a 12 T A = ...  a  1n

a 21 a 22 ... a 2n

... a m1   ... a m 2  ... ...   ... a mn 

care se obŃine din matricea A schimbând liniile în coloane, se numeşte matricea transpusă a matricei date A, sau transpusa matricei A. Prin urmare, transpusa matricei A = [aik] este matricea AT = [ a Tki ], unde a Tki = aik (k = 1,2,...,n ; i = 1,2,...,m). Dacă tipul matricei A este mxn, atunci tipul matricei transpuse AT este nxm. Având în vedere acest fapt, orice matrice-coloană

 b1  b  2 B=    ...    b m  Poate fi scrisă sub formă de matrice-linie: B = [b1 b2 ... bm] T , adică matricea-linie transpusă este o matrice coloană şi reciproc. Din definiŃia matricei transpuse rezultă următoarele proprietăŃi: 10 ATT = (AT)T = A (transpunerea repetată duce la matricea iniŃială); 20 (A+B)T = AT + BT ; 30 (αA)T = αAT; 40 (AB)T = BTAT 50 Produsul unei matrice cu transpusa sa intotdeauna există şi formează o matrice pătratică simetrică4.Într-adevăr, dacă se introduce notaŃia AAT = C, atunci CT = (AAT)T = ATTAT = AAT = C Exemple 1) Produsul matricelor

1 0 A=   şi B = 0 2 

1 2 3 0  

Este egal cu

4

Matricea pătratică A se numeşte simetrică dacă aij = aji (i,j = 1,2,...,n). Pentru matricea simetrică A avem relaŃia: AT = A

30

1 2 AB =   6 0  Matricea transpusă a acestui produs este: 1 6  (AB)T =   2 0 Pe de altă parte:

1 3  . 1 0  1 6  BTAT =     =   2 0 2 0 2 0 şi, deci, (AB)T = BTAT. 2) Pentru matricea simetrică

1 3 A=   3 2 1 3 T avem A =   , adică A = A. 3 2  

2.1.5. Matricea inversă a unei matrice pătratice

Fie

 a 11 a 21 A=   ...  a n1

a 12 a 22 ... a n2

... a 1n  ... a 2 n  ... ...   ... a nn 

o matrice pătratică. Matricea B (dacă există) se numeşte matricea inversă a matricei A dacă AB = BA = E unde E este matricea unitate.

31

D 2.7

Matricea A ce posedă matrice inversă se numeşte inversabilă. Din definiŃie rezultă că matricea B (dacă există) cât şi matricea E sunt pătratice au acelaşi ordin n cu matricea A. Pentru fiecare matrice inversabilă există numai o singură matrice inversă. Matricea inversă B a matricei A, dacă există, se notează prin A-1 şi se mai numeşte inversa matricei A. Aşadar, prin definiŃie, matricea pătratică A este inversabilă dacă există matricea A1 astfel încât: AA-1 = A-1A = E , unde E este matricea unitate de acelaşi ordin cu A. Inversele matricelor pătratice posedă următoarele proprietăŃi: 10 (A-1)-1 = A ; 20 (AB)-1 = B-1A-1; 30 (AT)-1 = (A-1)T;

2.1.6. Calcularea matricei inverse prin metoda eliminării complete a necunoscutelor Fie matricea pătratică

 a 11 a 21 A=   ...  a n1

a 12 a 22 ... a n2

... a 1n  ... a 2 n  ... ...   ... a nn 

Fie matricea inversă A-1 şi elementele ei (necunoscute) de forma xik (i,k=1,2,...,n):

 x 11 x 21 A-1 =   ...   x n1

x 12 x 22 ... x n2

... x 1n  ... x 2 n  ... ...   ... x nn 

Din relaŃia AA-1 = E, aplicând regula de înmulŃire a matricelor, şi anume, înmulŃind toate liniile matricei A cu coloana k a matricei A-1, obŃinem coloana k a produsului matricelor date, care este egală cu coloana k a matricei E:

32

 a 11 x 1k + a 12 x 2 k + ... + a 1n x nk = 0,  ..................................................   a k1 x 1k + a k 2 x 2 k + ... + a kn x nk = 1,  ....................................................  a n1 x 1k + a n 2 x 2 k + ... + a nn x nk = 0.

(6)

Pentru fiecare valoare k = 1,2,...,n , (6) reprezintă un sistem de n ecuaŃii liniare în raport cu necunoscutele x1k , x2k, ... , xnk. Aceste necunoscute formează coloana k a matricei A-1. Toate sistemele ce se rezolvă au una şi aceeaşi matrice A a sistemului, dar se deosebesc numai prin coloanele de termeni liberi, care sunt vectorii unitate şi au forma:

1  0  0  1    ,   , ... , ... ...     0  0 

0  0    . ...   1 

Avem n astfel de vectori. În sistemul k (k = 1,2,...,n), coloana termenilor liberi conŃine unitatea în linia k, iar toate celelalte elemente ale ei sunt egale cu zero. Toate aceste n sisteme de ecuaŃii liniare, ce servesc pentru aflarea coloanelor matricei A-1, pot fi rezolvate concomitent prin eliminări complexe (metoda JordanGauss), folosind tabelele lui Gauss. Până ce pentru aceasta scriem următorul tabel iniŃial al lui Gauss (tabelul 5), comun pentru toate n sistemele liniare (6):

Tabelul 5: tabelul iniŃial al lui Gauss x1kx2k...xnk k = 1 b

(1)

k=2 b

(2)

....

k=n

....

b

(n)

k=1

k=2

....

k=n

Σ

Σ

(2)

....

Σ(n)

(1)

a11a12...a1n

1

0

....

0

σ1(1)

σ1(2)

....

σ1(n)

a21a22...a2n

0

1

....

0

σ2(1)

σ2(2)

....

σ2(2)

................

....

....

....

....

....

....

....

....

σn

....

σn(n)

....

....

an1an2...ann

0

0

....

1

σn

................

....

....

....

....

....

(1)

(2)

....

Efectuând transformările corespunzătoare ale tabelului 5 prin metoda eliminării complete a necunoscutelor, se ajunge la soluŃiile tuturor celor n sisteme de ecuaŃii (6),

33

stabilind în felul acesta dacă matriceaA este inversabilă sau nu: dacă toate n sistemele (6) au soluŃii şi A este neinversabilă în caz contrar. AplicaŃie Să se afle matricea inversă a matricei

1 2 − 1 A = 0 − 1 1  2 0 − 1 Rezolvarea este reprezentată schematic în tabelul 6

Tabelul 6 x1k x2k x3k

k=1 b

(1)

k=2 b

(2)

k=3 b

(3)

k=1

Σ

(1)

k=2

Σ

(2)

k=3

Σ(3)

1 0

2 -1 -1 1

1 0

0 1

0 0

3 0

2 1

2 0

2

2

-1

0

0

1

1

1

2

1

2

-1

1

0

0

3

2

2

0 0

-1 -4

1 1

0 -2

1 0

0 1

0 -5

1 -3

0 -2

1 0

1 -1

0 1

1 0

1 1

0 0

3 0

3 1

2 0

0

-3

0

-2

-1

1

-5

-4

-2

1 0

0 1

0 0

1/3 2/3

2/3 1/3

1/3 -1/3

4/3 5/3

5/3 7/3

4/3 2/3

0

0

1

2/3

4/3

-1/3

5/3

4/3

2/3

În tabelul transformat al lui Gauss, pentru o valoare dată a parametrului k (k = 1,2,3), în dreptul fiecărei unităŃi bazice 1 citim sus, în linia de titlu a tabelului, necunoscuta respectivă, iar în dreapta, în coloana b(k) de termeni liberi, valoarea respectivă a acestei necunoscute. În aşa fel, pentru valoarea dată k (k = 1,2,3) se află necunoscutele x1k , x2k , x3k , adică elementele coloanei k a matricei A-1. Rezultă că

34

 x 11 A-1 =  x 21  x 31

x 12 x 22 x 32

x 13  1 / 3 2 / 3 1 / 3  1 2 1  x 23  = 2 / 3 1 / 3 − 1 / 3 = 2 1 − 1 x 33  2 / 3 4 / 3 − 1 / 3 2 − 1 − 1

Se observă că în ultimul tabel transformat al lui Gauss s-a efectuat permutarea liniilor în aşa fel încât în partea stângă a lui să rezulte matricea unitate, adică unităŃile bazice să fie situate după diagonala principală a matricei sistemului, atunci în tabelul astfel obŃinut, în partea dreaptă de matricea unitate, e scrisă matricea inversă A-1:

Tabelul 7 x1k x2k x3k

k=1 b

(1)

k=2 b

k=3

(2)

b(3)

1

0

0

1/3

2/3

1/3

0 0

1 0

0 1

2/3 2/3

1/3 4/3

-1/3 -1/3

2.1.7. Norma unei matrice Se numeşte normă a matricei pătratice A numărul real ||A|| , care satisface condiŃiile: 10 ||A|| ≥ 0 şi ||A|| = 0 ⇔ A = ∅; 20dacă A = ∅ atunci ||αA|| = |α|.||A|| , α este un număr arbitrar real 30 ||A + B|| ≤ ||A|| + ||B|| ; 40 ||AB|| ≤ ||A||.||B|| . Cel mai des utilizabile sunt normele: n

||A||1 = max ∑ | a ij | ; i

j=1 n

||A||2 = max ∑ | a ij | j

j=1

35

D 2.8

n

||A||3 =

n

∑∑ | a i =1 j=1

ij

|2

AplicaŃie Să se calculeze cele trei norme pentru matricea

0,2 0,1 − 0,1  A = 0,4 0,5 0,1   0 0,3 − 0,6 În urma calculelor obŃinem: ||A||1 = max((0,2 + 0,1 + 0,1) , (0,4 + 0,5 + 0,1) , (0 + 0,3 + 0,6)) = = max (0,4 ; 1 ; 0,9) = 1 ||A||2 = max ((0,2 + 0,4 + 0) , (0,1 + 0,5 + 0,3) , (0,1 + 0,1 + 0,6)) = = max(0,6 ; 0,9 ; 0,8) = 0,9 ||A||3 =

(0,04 + 0,01 + 0,01) + (0,16 + 0,25 + 0,01) + (0 + 0,09 + 0,36) =

= 0,06 + 0,42 + 0,45 = 0,93 = 0,964

36

Capitolul 3 DETERMINANłI

3.1. DeterminanŃi de ordinul doi şi trei

Fie

 a 11 x 1 + a 12 x 2 = b1  a 21 x 1 + a 22 x 2 = b 2

(7)

un sistem de două ecuaŃii liniare cu două necunoscute. CoeficienŃii necunoscute-lor acestui sistem determină o matrice pătratică

 a 11 A=  a 21

a 12  a 22 

Pentru rezolvarea sistemului (7) exprimăm, de exemplu, necunoscuta x2 din ecuaŃia a doua (acest lucru poate fi făcut dacă a22 ≠ 0 ) şi atunci x2 =

b 2 − a 21 x 1 a 22

Substituind (8) în prima ecuaŃie a sistemului (7), obŃinem a11x1 + a22 .

b 2 − a 21 x 1 = b1 a 22

37

(8)

sau (a11a22 – a21a12)x1 = b1a22 – b2a12 Presupunând că a11a22 – a21a12 ≠ 0, ajungem la x1 =

b 1a 22 − b 2 a 12 b a − b1a 21 , x2 = 2 11 a 11a 22 − a 21a 12 a 11a 22 − a 21a 12

Numitorul comun pentru valorile necunoscutelor x1 şi x2 se exprimă destul de simplu prin elementele matricei A a sistemului de ecuaŃii (7). El este egal cu produsul elementelor de pe prima diagonala principală a matricei A minus produsul elementelor situate pe diagonala secundară. Acest număr (numitor comun) se numeşte valoarea determinantului matricei A şi se notează:

∆ = det (A) =

a 11 a 21

a 12 = a11a22 – a21a12 a 22

(9)

Deoarece A este o matrice de ordinul doi, vom spune că şi det (A) este de ordinul doi. AplicaŃii 1) Să se calculeze determinantul matricei pătratice

5 − 2 A=   3 1  Conform formulei (9), obŃinem ∆ = det (A) =

5 −2 3

1

= 5.1 – (-2).3 = 11

2) Să se calculeze determinantul

− sin α

cos α

− cos α − sin α Calculele arată că:

− sin α

cos α

− cos α − sin α

= (-sin α).(-sin α) – (-cosα).cosα = sin2α + cos2α = 1

Pentru o matrice pătratică de ordinul trei

38

 a 11 A = a 21 a 31

a 12 a 22 a 32

a 13  a 23  a 33 

Determinantul se notează astfel

a 11

a 12

a 13

a 21 a 31

a 22 a 32

a 23 a 33

şi este egal cu numărul care se determină cu ajutorul formulei:

a 11

a 12

a 13

a 21 a 31

a 22 a 32

a 23 = a11a22a33 + a12a23a31 + a21a32a13 – a13a22a31 – a12a21a33 – a23a32a11 a 33

(10)

Regula de calcul a determinantului de ordinul trei, numită regula triunghiurilor sau regula lui Sarrus, constă în următoarele: fiecare termen din cei şase termeni este produsul a trei elemente – câte un element din fiecare linie şi fiecare coloană. Unul dintre cei trei termeni consideraŃi cu semnul „+” este produsul elementelor diagonalei principale (a11 , a22 , a33) a matricei, iar fiecare dintre ceilalŃi doi – produsul elementelor situate în vârfurile triunghiului cu baza paralelă la diagonala principală şi cu vârful în colŃul opus al matricei. AlŃi trei termeni, considerând cu semnul „-„ , se obŃin în acelaşi mod numai că faŃă de diagonala secundară (a13 , a22 , a31). AplicaŃii 1) Să se calculeze determinantul matricei de ordinul trei

2 5 − 1 A = 1 − 1 4  1 0 1  Conform definiŃiei, adică în conformitate cu regula triunghiurilor (10), obŃinem

2

5

∆ = det (A) = 1 − 1

1

0

−1 4 = 2.(-1) + 5.4.1 + 1.0.(-1) – (-1).(-1).1- 4.0.2 = 4 1

39

2) Să se calculeze determinantul

a−x ∆=

a

x

a+x x b b+x

a −x

Conform formulei (10), rezultă

∆ = (a2 – x2)(b+x) – ax2 + abx + (a+x)x2

3.2. DefiniŃia determinantului de ordin n NoŃiunea de determinant de ordinul arbitrar n, n ≥ 2, o vom introduce inductiv, presupunând că deja este introdusă noŃiunea de determinant al unei matrice pătratice de ordinul n-1. Fie

 a 11 a 21 A=   ...  a n1

a 12 a 22 ... a n2

... a 1n  ... a 2 n  ... ...   ... a nn 

(11)

o matrice de ordinul n. Examinând produsul a câte n elemente ale matricei A, luate câte unul din fiecare linie şi fiecare coloană, adică

a 1α 1 ⋅ a 2 α ⋅ ... ⋅ a n α n

(12)

unde (α1, α2, ... , αn) este o permutare a numerelor 1, 2, ... , n, observăm că numărul unor astfel de produse este egal cu numărul de permutări diferite din n simboluri, adică n! = 1.2. ... .n. Vom considera toate aceste numere obŃinute drept termeni ai determinantului de ordinul n, corespunzător matricei (11). pentru a determina semnul cu care produsul (12) va apărea ca termen al determinantului, aflăm numărul k de transpoziŃii ce aduce permutarea (1,2,...,n) la permutarea (α1, α2, ... , αn). Întrucât la determinanŃii de ordinul doi şi trei unde numărul de transpoziŃii k este par, iar cu semnul minus – termenii pentru k impar, este firesc să se păstreze această regulă şi pentru determinanŃii de ordinul n.

40

Se numeşte determinant de ordinul n al matricei (11) suma a n! termeni de forma (-1)k a 1α 1

⋅ a 2 α ⋅ ... ⋅ a n α n

,

D 3.1

unde k este numărul de transpoziŃii ce aduce permutarea (1,2,...,n) la permutarea (α1, α2, ... , αn)

3.3. Descompunerea determinantului după elementele unei linii Dacă în matricea (11) se suprimă lini i şi coloana k, atunci elementele rămase ale matricei, în ordinea lor firească, formează o matrice de ordinul n-1. Determinantul de ordinul n-1 al matricei (11) se numeşte minorul elementului αik, aflat la intersecŃia liniei i

şi a coloanei k, al matricei (11) şi se notează prin simbolul

Mik , (i,k = 1,2,...,n) Determinantul Mik luat cu semnul (-1)i+k se numeşte complementul algebric al elementului aik, adică Aik = (-1)i+k Mik

(i,k = 1,2,...,n)

(13)

Se poate arăta că dacă se grupează toŃi termenii determinantului care conŃin factorul ai1, apoi toŃi termenii care conŃin factorul ai2 aşa mai departe, pentru toŃi termenii care conŃin factorul ain şi se vor scoate aceşti factori în faŃa parantezei, atunci det (A) = ai1Ai1 + ai2Ai2 + ... + ainAin ,

(14)

adică vom obŃine că valoarea determinantului este egală cu suma produselor elemente-lor unei linii la complemenŃii lor algebrici respectivi. Dezvoltarea (descompunerea) determinantului poate fi efectuată şi după elementele unei coloane. AplicaŃie Să se calculeze determinantul matricei pătratice de ordinul patru

41

0 4 A=  0  2

3 0 1 4 1 0 1  3 − 1 2 1

0

Folosind formula (14) Dezvoltarea determinantului după elementele primei linii adică conform formulelor (14) şi (13) este det(A) = (-1)1+1.0.M11 + (-1)1+2.1. M12 + (-1)1+3.0.M13 + (-1)1+4.3.M14 , unde

4

1

4

4 0

1

M12 = 0

0 1 = 6 , M14 = 0 1 0 = -6 2 −1 2 2 3 −1

Prin urmare, det(A) = -1.1.6 – 1.3.(-6) = 12

3.4. ProprietăŃile determinanŃilor 10 Determinantul matricei A este egal cu determinantul matricei transpuse AT: det(A) = det(AT). 20 Dacă toate elementele unei linii (sau ale unei coloane) a unei matrice sunt nule, atunci determinantul matricei este egal cu zero. 30 Dacă într-un determinant ∆ îşi schimbă locul două linii (sau două coloane) între ele, atunci determinantul îşi schimbă semnul. 40 Dacă două linii (sau două coloane) ale unui determinant sunt identice, atunci determinantul este egal sau zero. 50 Factorul comun al unei linii a determinantului poate fi scos în afara determinantului.

42

60 Dacă două linii (sau două coloane) ale unui determinant sunt proporŃionale, atunci determinantul este cu zero. 70 Dacă toate elementele unei linii k sunt prezentate sub formă de sume a doi termeni, adică are forma a k1 + b k1 , a k 2 + b k 2 ,..., a k n + b k n , atunci este adevărată egalitatea:

a11

a12

...

a1n

a 11

a 12

... a 1n

b11

b12

... b1n

...

...

...

...

...

...

...

...

...

...

a k1 + bk1 a k2 + bk2 ... a kn + bkn = a k1 ... ... ... ... ...

a k2 ...

... a k n + b k1 ... ... ...

b k2 ...

... b k n ... ...

a n2

... a nn

bn2

... b nn

a n1

a n2

...

a nn

a n1

...

b n1

...

80 Valoarea determinantului nu se schimbă dacă la elementele unei linii se adună elementele corespunzătoare ale altei linii înmulŃite cu unul şi acelaşi număr, adică

a 11

a 12

...

a 1n

... a k1 ... a e1

... a k2 ... a e2

... ... ... ...

... a n1

... a n2

... ...

... ... a kn a k1 + αa e1 ... ... = a en a e1 ... ... a nn a n1

a 11

a 12

...

a 1n

...

...

...

a k 2 + αa e2 ...

... a k n + αa en ... ...

a e2 ...

... ...

a en ...

a n2

...

a nn

90 Dacă una din linii (coloane) a determinantului este o combinaŃie liniară a altor linii (coloane), atunci valoarea determinantului este egală cu zero. 100 Determinantul produsului a doua matrice pătratice A şi B este egal cu produsul determinanŃilor acestor matrice, adică det(AB) = det(A).det(B).

43

3.5. Calcularea inversei unei matrice pătratice nedegenerate cu ajutorul matricei adjuncte

O matrice pătratică A se numeşte nedegenrată (sau nesingulară) dacă

det(A)

≠ 0. Dacă, însă, matricea A se numeşte degenerată (sau singurlară). Reamintim că A-1 este inversa matricei pătratice A dacă au loc egalităŃile: AA-1 = A-1A = E Pentru ca o matrice pătratică A să posede matricea inversă este necesar şi suficient ca această matrice să fie nedegenerată.

D 3.2

Pentru matricea A (vezi (11)) scriem matricea compusă din complementele algebrice ale elementelor matricei date:

 A11 A  21  ...   A n1

A12 A 22 ... A n2

... A 1n  ... A 2 n  ... ...   ... A nn 

Transpunând această matrice, rezultă matricea ce se notează cu simbolul Aa şi se numeşte matricea adjunctă a matricei A:

 A11 A 21 a A =   ...   A n1

A12 A 22 ... A n2

... A 1n  ... A 2 n  ... ...   ... A nn 

ÎnmuŃind A cu Aa, în virtutea afirmaŃiei despre dezvoltarea determinantului după o linie (sau o coloană) şi a relaŃiilor (14) şi proprietăŃii 90, obŃinem că 0 det(A )  0 det(A ) AAa = AaA =   ... ...  0  0

 ... 0  = ... ...   ... det(A )

...

0

44

1  . 0 = det(A) ...  0

0 ... 0  1 ... 0  = det(A).E ... ... ...  0 ... 1 

(15)

Dacă A este o matrice nedegenerată (det(A)≠0), atunci înmulŃind (15) cu

1 , det(A )

în baza proprietăŃilor operaŃiei înmulŃirii matricelor, rezultă că 1 . 1 . a 1 . a 1 . a (AAa) = (A A) = E ⇒ A( A)=( A )A = E, det(A ) det(A ) det(A ) det(A ) de unde, ştiind că AA-1 = A-1A = E, rezultă că A-1 există şi are forma: 1 . a A det(A )

A-1 =

(16)

AplicaŃie Să se afle A-1 pentru matricea:

2 0 1  A = 0 3 0  0 0 2 Evident, det(A) = 12 ≠ 0. Calculăm complementele algebrice: A11 =

3 0 0 2

A21 = A31 =

0 1 0 2

0 1 3 0

0 0

= 6 , A12 = = 0 , A22 =

0 2 2 1 0 2

= -3 , A32 = -

2 1 0 0

= 0 , A13 = = 4 , A23 = = 0 , A33 =

0 3 0 0 2 0 0 0 2 0 0 3

=0, =0, = 6.

În aceste condiŃii matricea adjunctă are forma

6 0 − 3 1 . a A = 0 4 0  ⇒ A-1 = A = det(A ) 0 0 6  a

45

1 6 0 − 3  2 1 . = 0 4 0  =  0  12 0 0 6   0 

1 −  4  1 0 . 3  1  0 2  0

Se verifică uşor că AA-1 = A-1A = E.

46

Capitolul 4 SISTEME DE ECUAłII LINIARE

4.1. NoŃiunea de sistem de ecuaŃii liniare şi de soluŃie a sa

De cele mai multe ori rezolvarea multor probleme economice se reduce la rezolvarea unor sisteme de ecuaŃii. EcuaŃiile liniare de forma a.x = b şi sistemele de ecuaŃii de forma:

 a 1 x + b1 y = c1  a 2 x + b 2 y = c 2 şi

 a 1 x + b 1 y + c1 z = d 1  a 2 x + b 2 y + c 2 z = d 2 a x + b y + c z = d 3 3 3  3 cu coeficienŃi reali au fost cercetate în cursul respectiv de matematică în şcoală. În cele ce urmează dorim să prezentăm modul de rezolvare a sistemelor de ecuaŃii de gradul întâi pentru forma generală:

 a 11 x 1 + a 12 x 2 + ... + a 1n x n = b1  a x + a x + ... + a x = b  21 1 22 2 2n n 2  .......... .......... .......... .......... ........  a m1 x 1 + a m 2 x 2 + ... + a mn x n = b m

47

(17)

Sistemul (17) se numeşte sistem de m ecuaŃii liniare cu n necunoscute sau sistem

de ecuaŃii liniare. În (17) x1, x2, ..., xn sunt necunaoscutele sistemului, care trebuie determinate; numărul necunoscutelor n poate fi mai mic, mai mare sau egal cu numărul ecuaŃiilor m; aij (i = 1,2,...,m; j = 1,2,...,n) sunt numere date, numite coeficienŃii necunoscutelor (sau coeficienŃii sistemului). Indicele i de la aij reprezintă numărul ecuaŃiei în sistem, iar al doilea – numărul necunoscuteipe lângă care este situat acest coeficient; b1, b2,..., bm sunt numere care se numesc termenii liberi ai ecuaŃiilor (sau ai sistemului de ecuaŃii). Dacă în (17) termenii liberi sunt egali cu zero (b1 = b2 = ... = bn = 0), atunci sistemul de ecuaŃii se numeşte omogen. Dacă, însă nu toŃi termenii liberi sunt egali cu zero, atunci sistemul este neomogen. Tabelul dreptunghiular compus din coeficienŃii sistemului de ecuaŃii:

 a 11 a 21 A=   ...  a m1

a 12 a 22 ... a m2

... a 1n  ... a 2 n  ... ...   ... a mn 

se numeşte matricea coeficienŃilor sistemului. Tabelul

 a 11 a 21 A = [A | B] =   ...  a m1

a 12 a 22 ... a m2

... a 1n ... a 2 n ... ... ... a mn

M b1  M b 2  , M ...   M bm 

obŃinut din matricea A a sistemului (17) prin anexarea la ea a coloanei termenilor liberi, se numeşte matricea extinsă a sistemului de ecuaŃii. Un sistem ordonat de numere (valori) x10 , x20 , ... , xn0 se numeşte soluŃie sistemului de ecuaŃii liniare (17) dacă, înlocuind necunoscutele x1, x2, ... , xn prin valorile x10 , x20 , ... , xn0, toate ecuaŃiile sistemului sunt transformate în identităŃi. Nu orice sistem de forma (17) are soluŃie. Astfel, de exemplu, sistemul

48

x 1 + x 2 = 0   x1 + x 2 = 1 nu are nici o soluŃie, deoarece dacă ar exista soluŃia x10 , x20 a acestui sistem, atunci, substituind această soluŃie în sistem, vom avea în membri stângi ai ambelor egalităŃi acelaşi număr x10 + x20 şi deci am obŃine că 0 = 1 (ceea ce evident este fals). Dacă sistemul (17) admite cel puŃin o soluŃie, atunci se spune că sistemul este

compatibil ; în caz contrar, vom spune că sistemul este incompatibil. Sistemul se numeşte compatibil determinat dacă el are o singură soluŃie şi se numeşte compatibil nedeterminat dacă el admite mai mult decât o singură soluŃie. Sistemele nedeterminate admit o infinitate de soluŃii. Exemple 1) Sistemul

3x 1 − 2 x 2 = 11   x 1 + 2x 2 = 9 are o singură soluŃie: x1 = 5, x2 = 2. Prin urmare sistemul dat este compatibil determinat. 2) Sistemul

 3x 1 − 2 x 2 = 11  6 x 1 − 4 x 2 = 22 este compatibil nedeterminat. Într-adevăr ecuaŃia 6x1 – 4x2 = 22 rezultă din ecuaŃia 3x1 – 2x2 = 11 prin înmulŃirea ambilor membri ai acesteia cu 2. De aceea sistemul se reduce la o singurăp ecuaŃie cu două necunoscute. Considerând, de exemplu, prima ecuaŃie şi rezolvând.o în raport cu x1, obŃinem x1 =

11 + 3

2 + x2. Atribuind lui x2 valori arbitrare şi calculând din ultima egalitate 3 valorile respective ale necunoscutei x1, obŃinem o mulŃime infinită de soluŃii ale sistemului dat. De exemplu, x2 = 0 , x1 = x1 =

8 etc. 3

49

11 17 3 ; x2 = 3, x1 = ; x2 = - , 3 3 2

4.2. Forme liniare. DependenŃă şi independenŃă liniară

Pentru a putea răspunde la întrebarea: În ce condiŃii un sistem de ecuaŃii liniare este compatibil, vom introduce noŃiunile de rang al matricei, care se bazează pe noŃiunea de dependenŃă şi independenŃă liniară. Expresia n

yi =

∑c x j=1

j

(18)

j

unde xj ( j = 1,2,...,n) sunt variabile, iar cj ( j = 1,2,...,n) sunt constante se numeşte formă liniară. Formele liniare (4.2) se numesc liniar dependente, dacă există m numere reale λ1, λ2,...,λm nu toate egale cu zero, astfel încât

λ1y1 + λ2y2 + ... + λmym = 0 pentru orice valori ale variabilelor xj (j = 1,2,...,n). Dacă însă egalitatea

D 4.1

λ1y1 + λ2y2 + ... + λmym = 0 nu are loc decât dacă λ1 = λ2 = ... = λm = 0 atunci formele y1, y2, ... , ym se numesc liniar independente. Aceste noŃiuni pot fi extinse şi asupra unui sistem de ecuaŃii liniare. În cazul dat, ecuaŃii ale sistemului de ecuaŃii liniare cu n necunoscute sunt liniar dependente, dacă există p numere λ1 , λ2 , ... , λp nu toate egale cu zero, astfel încât

λ1y1 + λ2y2 + ... + λpyp = 0 unde n

yi =

∑a i =1

Dacă

n

∑λ y j=1

i

i

ij

x j - bi

, i = 1,2,...,p

= 0 are loc dacă şi numai dacă λ1 = λ2 = ... = λp= 0, atunci ecuaŃiile

sunt liniar independente. 50

Numărul maximal de ecuaŃii liniar independente ale unui sistem de ecuaŃii liniare se numeşte rangul sistemului de ecuaŃii. Se poate arăta că transformările elementare asupra unui sistem de ecuaŃii liniare nu schimbă rangul sistemului.

4.3. Rangul unei matrice 4.3.1. Rangul liniilor şi coloanelor unei matrice Fie matricea avand ca elemente numere reale:

 a 11 a 21 Amxn =   ...  a m1

a 12 a 22 ... a m2

... a 1n  ... a 2 n  ... ...   ... a mn 

(19)

considerând liniile ca vectori de lungimea n ai spaŃiului real Rn, iar liniile ca vectori de înălŃime m. Pentru sistemul de vectori linie A1, A2,..., Am ai matricei A, există un subsistem care constă din numărul maxim de vectori-linie liniar-independenŃi ai acestei matrice – baza sistemului de vectori-linie ai matricei A. În mod analog, pentru sistemul de vectoricoloană A(1) , A(2) , ... , A(n) ai matricei A, există subsistemul care constă din numărul maxim de vectori-coloană liniar independenŃi ai acestei matrice – baza sistemului de vectori coloană ai matricei A. Exemplu Se consideră matricea:

1 2 1 3    A = 2 0 2 1   4 − 4 4 − 3   Liniile A1 , A2 formează un subsistem al sistemului de linii ale matricei A, care constă din numărul maxim 2 de linii liniar independente ale matricei. Aceeaşi afirmaŃie are loc şi despre coloanele respective ale

51

matricei A. Într-adevăr, A1 şi A2 sunt liniar independente, deoarece au loc relaŃiile:

α1A1 + α2A2 = 0 ⇒ α1 = α2 = 0 şi 2A1 – 3A2 + A3 = 0 ⇒ A3 = -2A1 + 3A2 Pentru sistemul de coloane avem:

α1A(1) + α2A(2) = 0 ⇒ α1 = α2 = 0 şi A(3) = A(1) , A(n) =

1 (1) 5 (2) A + A . 2 4

Numărul maxim de vectori-linie liniar independenŃi ai unei matrice A se numeşte rangul sistemului de linii ale matricei A, sau rangul

D 4.2

matricei A, şi se notează rang(A) În mod analog se introduce rangul sistemului de coloane ale lui A - ca numărul maxim de vectori-coloană ai lui A, liniar independenŃi. Rangul matricei este o caracteristică importantă a matricei Pentru o matrice oarecare A rangul sistemului de linii şi de coloane ale lui A nu se schimbă dacă asupra lui A se va efectua oricare dintre următoarele transformări: a) permutarea între ele a două linii oarecare ale matricei A;

P 4.3

b) adăugarea la elementele unei linii (coloane) a matricei A a elementelo corespunzătoare ale altei linii (coloane) înmulŃite cu un număr arbitrar α.

4.3.2. Transformări elementare ale matricei Transformările de tipul a), b) din P 4.3 se numesc transformări elementare ale matricei. Elementară se numeşte, de asemenea, şi următoarea transformare:

c)

– înmulŃirea tuturor elementelor unie linii (sau coloane) a matricei cu un număr arbitrar α (α ≠ 0).

52

La fel ca a) , b) şi c) nu schimbă cele două ranguri ale sistemelor de linii şi coloane ale matricei A. Rangul sistemului de linii ale unei matrice A este egal cu rangul sistemului de coloane ale acestei matrice

P 4.4

4.4. Calcularea rangului unei matrice Pentru calcularea rangului unei matrice A aceasta prin transformări elementare se transformă în matricea B, al cărei rang se poate afla mai uşor. Dacă rang(A) = rang(B), atunci A ~ B, adică matricele A şi B sunt echivalente. Pentru a calcula rangul matricei (17) cu ajutorul unui şir de tranformări elementare, matricei A o aducem la o matrice de forma:

 b11   0  ...  B=  0  0   ...   0

b 12

...

...

b 22

...

...

...

...

...

0

... b rr

0

...

0

...

...

...

0

...

0

... b1n   ... b 2 n  ... ...   ... b 2 r   ... 0  ... ...   ... 0 

În acest caă rangul matricei B coincide cu numărul r de elemente diagonale nenule b11, b22, ... , brr ale acestei matrice. Prin urmare, avem A ~ B şi rang (A) = rang(B) = r. AplicaŃii 1) Să se calculeze rangul matricei

 0 1 2 − 1   A = 2 1 5 1  4 −1 4 5   

53

Elementul a21 = 2 ≠ 0. Permutăm liniile 1 şi 2. ObŃinem matricea

2 1 5 1    A1 =  0 1 2 − 1 , A ~ A1 . 4 −1 4 5    Adăugăm la linia a treia (l3) a matricei A prima linie înmulŃită cu (2)(-2l1):

5 1 2 1   A2 =  0 1 2 − 1 , A ~ A2 0 − 3 − 6 3    Elementul matricei A2 a22(1) = 1 ≠ 0. Adăugăm la linia a treia (l3) linia a doua înmulŃită cu 3 (3l2):

2 1 5 1    B =  0 1 2 − 1 , A ~ B 0 0 0 0    Evident, rangul matricei B este egal cu 2, fiindcă pe diagonală se află două elemente diferite de zero: 2 şi 1. Prin urmare, rangul matricei iniŃiale A de asemenea este egal cu doi: rang (A) = rang(B) = 2 2) Să se afle rangul matricei:

 3 1 −1 2   A =  2 1 0 3 1 3 2 3   c 2 −3 c1 →c 2 l 2 − 2 l1 →l 2

2 3  c3 − 2 c1 →c3  1 3 2 3  l − 3l → l  1 3 3 1 3     c 4 −3c1 →c 4 A ~  2 1 0 3 ~  0 − 5 − 4 − 3 ~  3 1 −1 2 0 − 8 − 7 − 7     l1 ↔ l 3

0 0  c 2 −c3  1 0 0 0 0  c3 + 4 c 4 1 0 1 0 0   c 4 −c3   c2 ↔c4   c 4 +c2 0 − 5 − 4 − 3 ~ 0 − 1 − 4 1 ~ 0 1 − 4 − 1       ~ 0 − 8 − 7 − 7 0 −1 − 7 0  0 0 − 7 − 1      

54

0  − 1 c3  1 0 0 0  1 0 0   7   ~0 1 0 0  ~ 0 1 0 0 ,  0 0 − 7 − 1 0 0 1 0     deci rang(A) = 3.

Dacă A este o matrice pătratică de ordinul n şi rang (A) = r, atunci diferenŃa n – r dintre ordinul şi rangul ei se numeşte defectul matricei A. AplicaŃie Să se afle rangul şi defectul matricei:

 2 − 1 − 1 − 4 − 3   3 9   1 −1 2 A = −1 3 −1 −1 4    0 1 1  −1 1 1  0 0 −1 3   În urma transformărilor vom obŃine: 0 0 −1 3  1 0 0 −1 3  1     3 9  0 −1 2 4 6   1 −1 2 A ~ −1 3 −1 −1 4  ~ 0 3 −1 − 2 7  ~     0 1 1  0 1 0 0 4  −1 1  1 − 1 − 1 − 1 − 3  0 − 1 − 1 − 2 − 9      0 −1 3  1 0 1 0    4 6  0 −1 0 −1 2 ~ 0 0 5 10 25  ~  0 0    2 4 10   0 0 0 0  0 0 − 3 − 6 − 15   0 0   

1 0  0 −1 ~0 0  0 0 0 0 

0 −1 3  1 0   2 4 6 0 −1 1 2 5 ~ 0 0   0 0 0 0 0   0 0 0 0 0

0 −1 3  2 4 6 1 2 5  1 2 5  1 2 5

0 0 0 1 0   2 4 6 0 −1 1 2 5 ~ 0 0   0 0 0 0 0   0 0 0 0 0

55

0 0 0  0 0 0 1 2 5 ~  0 0 0  0 0 0

1 0  0 −1 ~0 0  0 0  0 0

0 0 0  0 0 0 not 1 0 0 = B ⇒  0 0 0  0 0 0

⇒ rang (A) = rang (B) = 3, iar n-r = 2. Prin urmare, rangul matricei A este egal cu 3, iar defectul matricei A este egal cu 2.

4.5. Metode directe de rezolvare a sistemelor de ecuaŃii liniare Pentru rezolvarea sistemelor de ecuaŃii liniare pot fi aplicate mai multe metode.

4.5.1. Regula lui Cramer Pentru rezolvarea unui sistem de ecuaŃii liniare cu coeficienŃii numerici se pot folosi mai multe metode: regula lui Cramer, metoda lui Gauss şi modificările ei, metoda rădăcinilor pătrate, metoda lui Cholesky care, în ansamblu, poartă denumirea de metode exacte pentru rezolvarea sistemelor de ecuaŃii liniare. Se cunosc şi un şir de metode iterative: metoda iteraŃiilor succesive, metoda lui Iacobi, metoda lui Seidel, etc. În cadrul acestei secŃiuni ne vom referi la metoda lui Cramer. Pe scurt aceasta constă în: dacă determinantul sistemului de ecuaŃii (17) este diferit de zero, atunci sistemul (17) are soluŃie care este unică. Această soluŃie se calculează după formulele: x1 =

unde

∆1 ∆ ∆ , x2 = 2 , ... , xn = n ∆ ∆ ∆

(20)

∆ este determinantul sistemului (4.1), iar ∆i (i = 1,2, ... , n) este

determinantul matricei care se obŃine din matricea sistemului de ecuaŃii când coloana i se substituie cu coloana termenilor liberi. AplicaŃie

56

Să se calculeze rădăcinile sistemului de ecuaŃii

 2 x 1 − x 2 + x 3 + 3x 4 = − 1  x + x − x − 4x = 6  1 2 3 4   3x 1 − x 2 + x 3 + x 4 = 4  x 1 − 3x 2 + 3x 4 = −5 aplicând regula lui Cramer. Calculăm determinantul sistemului de ecuaŃii ∆ şi determinanŃii ∆i (i = 1,2,3,4)

∆=

∆2 =

∆4 =

2

−1

1

1

1

−1 − 4

3

−1

3

1

1 −3

0

3

2

−1

1

1

6

−1 − 4

3

4

3

1

1 −5

0

3

2 −1

1

−1

1

−1

6

3 −1

3

4

1 −3

0

−5

1

−1 −1

3 = -15 ≠ 0 , ∆1 =

−1

=0 ,

∆3 =

1

−3 −4

6

1

3

−1

1

−3 −5

4

2

−1 −1

1

1

6

−4

3

−1

4

1

1 −3 −5

3 1

= -15 ,

3

3 = - 45 ,

3

= 30

conform (20) calculăm soluŃia sistemului dat de ecuaŃii liniare: x1 =

∆ ∆ 1 − 15 ∆ − 45 0 = = 1 , x2 = 2 = = 0 , x3 = 3 = =3 , ∆ − 15 ∆ − 15 ∆ − 15

x4 =

∆4 30 = = -2 ∆ − 15

4.5.2. Metoda lui Gauss Pentru rezolvarea sistemului de ecuaŃii liniare (17) mai există şi metoda eliminării necunoscutelor, numită şi metoda lui Gauss, care are câteva scheme de calcul. Una dintre ele este metoda eliminării succesive complete. Această metodă constă în transformarea

57

sistemului de ecuaŃii liniare cu ajutorul unei consecutivităŃi finite de transformări elementare într-un sistem echivalent cu cel iniŃial. În continuare vom ilustra această metodă pentru cazul n = 4:

 a 11 x 1 + a 12 x 2 + a 13 x 3 + a 14 x 4 a x + a x + a x + a x  21 1 22 2 23 3 24 4   a 31 x 1 + a 32 x 2 + a 33 x 3 + a 34 x 4 a 41 x 1 + a 42 x 2 + a 43 x 3 + a 44 x 4

= b1 = b2 = b3 = b4

(21)

Vom exclude necunoscuta x1 din toate ecuaŃiile sistemului (21), mai puŃin prima ecuaŃie. Numim coeficientul a11 de pe lângă necunsocuta x1 elementul pivot al ecuaŃiei, iar ecuaŃia se va numi ecuaŃia pivotului. ÎmpărŃim ecuaŃia pivotului la pivot, obŃinând în felul acesta ecuaŃia:

x1 +

a a 12 a b x2 + 13 x3 + 14 x4 = 1 a 11 a 11 a 11 a 11

(22)

Dacă introducem notaŃiile:

a a 12 a b = b12 , 13 = b13 , 14 = b14 , 1 = b15 a 11 a 11 a 11 a 11 Generalizând, vom scrie:

a ij a 11

= bij ( j >1). În aceste condiŃii (4.6) devine:

x1 + b12x2 + b13x3 + b14x4 = b15

(23)

de unde rezultă: x1 = b15 - b12x2 - b13x3 - b14x4

(23)’

Pentru eliminarea necunoscutei x1 din ecuaŃiile sistemului (4.5) vom realiza următoarele transformări: 1) Din ecuaŃia a doua a sistemului (21) se scade ecuaŃia (23) înmulŃită cu a21 şi obŃinem: (a22 – a21b12)x2 + (a23 – a21b13)x3 + (a24 – a21b14)x4 = b2 – a21b15

58

Facem următoarele notaŃii: a22 – a21b12 = a (221) , a23 – a21b13 = a (231) , a24 – a21b14 = a (241) , a25 – a21b15 = a (251) Înlocuim în formula (23)’ obŃinem: a (221) x2 + a (231) x3 + a (241) x4 = b (21) 2) Din ecuaŃia a treia a sistemului (17) se scade ecuaŃia (23) înmulŃită cu a31 (a32 – a31b12)x2 + (a33 – a31b13)x3 + (a34 – a31b14)x4 = b3 – a31b15 Facem următoarele notaŃii: (1) (1) (1) a32 – a31b12 = a 32 , a33 – a31b13 = a 33 , a34 – a31b14 = a 34 , b3 – a31b15 = b 3(1)

de unde rezultă: (1) (1) (1) a 32 x2 + a 33 x3 + a 34 x4 = b 3(1)

3) Din ecuaŃia a patra a sistemului (21) se scade ecuaŃia (23) înmulŃită cu a41. În mod analog cu calculele de la 1) şi 2) vom obŃine ecuaŃia a (421) x2 + a (431) x3 + a (441) x4 = b (41) În urma acestor transformări se ajunge la sistemul

a 11 x 1 + a 12 x 2 + a 13 x 3 + a 14 x 4  a (221) x 2 + a (231) x 3 + a (241) x 4   (1) (1) (1) a 32 x 2 + a 33 x 3 + a 34 x4  ( 1 ) ( 1 ) ( 1 )  a 42 x 2 + a 43 x 3 + a 44 x 4

= b1 = b (21) = b 3(1) = b (41)

(24)

unde coeficienŃii a ij(1) (i,j ≥ 2) se calculează în conformitate cu formula:

a ij(1) = aij – ai1b1j ÎmpărŃind coeficienŃii ecuaŃiei a doua a sistemului (4.8) la pivotul a (221) rezultă: x2 + b (231) x3 + b (241) x4 = b (251) unde

b

(1) 2j

=

a (21j)

(j>2)

a (221)

Acum eliminând x2 la fel cum am procedat cu x1, se ajunge la sistemul

59

(25)

( 2) (2) a 33 x 3 + a 34 x 4 = b 3( 2)  ( 2) (2) ( 2) a 43 x 3 + a 44 x 4 = b 4

(26)

unde

a ij( 2) = a ij(1) - a i(12) b (21j)

(i,j ≥ 3)

( 2) Dacă în (26) prima ecuaŃie se împrate la a 33 , atunci ( 2) ( 2) x3 + b 34 x4 = b 35

(27)

unde

b

( 2) 3j

=

a 3( 2j )

( j > 3).

( 2) a 33

Necunoscuta x3 din (4.10) poate fi exclusă în mod analog, ajungând la a (443) x4 = b (453) , unde

a (ij3) = a ij( 2) - a i(32) b 3( 2j )

( i,j ≥ 4)

Prin urmare, sistemul (21) în urma transformărilor efectuate, este echivalent cu sistemul

a 11 x 1     

+ a 12 x 2 a (221) x 2

+ a 13 x 3 + a (231) x 3 ( 2) a 33 x3

+ a 14 x 4 = b1 + a (241) x 4 = b (21) ( 2) + a 34 x 4 = b 3( 2) a (443) x 4 = b (43)

(28)

Procedeul transformării sistemului (21) la sistemul (28) trece prin următoarele faze:

Faza 1 - excluderea directă: matricea sistemului a fost adusă la o matrice trunghiulară superior. Faza 2 – substituŃiile inverse: calcularea necunoscutelor: din ultima ecuaŃie a sistemului (28) se determină x4, din penultima ecuaŃie (a treia) se determină necunoscuta x3, x2 din (25) şi x1 din (23):

x4 =

b (43) , a (443)

( 2) ( 2) x3 = b 35 − b 34 x4 ,

60

x2 = b (251) − b (241) x 4 − b (231) x 3 , x1 = b15 – b14x4 – b13x3 – b12x2 . AplicaŃii Să se determine, prin metoda eliminării succesive a necunoscutelor, soluŃia sistemului de ecuaŃii liniare:

 2x 1 + 2x 2 − x 3 + x 4 = 4  4 x + 3x − x + 2 x = 6  1 2 3 4  8x 1 + 5x 2 − 3x 3 + 4 x 4 = 12  3x 1 + 3x 2 − 2 x 3 + 2 x 4 = 6 ÎmpărŃind prima ecuaŃie prin 2 obŃinem x1 + x2 – 0,5x3 + 0,5x4 = 2

(29)

Eliminând pe x1 din ultimile trei ecuaŃii ale sistemului şi înmulŃind ecuaŃia (29) consecutiv la 4, 8 şi 3 şi scăzând rezultatele obŃinute respectiv din fiecare ecuaŃie a sistemului obŃinem:

x 1     

+ x2 − x2 − 3x 2

x 1   ⇒   

+ x2 − x2

− 0,5x 3 + x3 + x3 − 0,5x 3 − 0,5x 3 + x3 − 2x 3

+ 0,5x 4

+ 0,5x 4 + 0,5x 4

0,5x 4

=2 = −2 ⇒ = −4 =0 =2 = −2 =2 = −0,5

Aplicând faza a doua, a substituŃiilor inverse, obŃinem: x4 = -1 x3 = -1 x2 = 1 x1 = 1 .

61

4.6. Metode iterative pentru determinarea soluŃiei sistemelor de ecuaŃii liniare 4.6.1. Metoda iteraŃiilor succesive Pentru rezolvarea unui sistem de ecuaŃii linare prin metode iterative se aduce mai întâi sistemul la o formă convenabilă pentru aplicarea iteraŃiilor. Fie

 a 11 x 1 + a 12 x 2 + ... + a 1n x n = b 1 a x + a x + ... + a x = b  21 1 22 2 2n n 2  .......... .......... .......... .......... .......  a n1 x 1 + a n 2 x 2 + ... + a nn x n = b n

(30)

un sistem dat de ecuaŃii liniare în care elementele diagonalei aii sunt diferite de zero. Atunci acest sistem este echivalent cu sistemul:

 x 1 = β1 + α11 ⋅ 0 + α12 ⋅ x 2 + ... + α1n −1 x n −1 + α 1n x n x = β + α ⋅ x + α ⋅ 0 + ... + α x + α x  2 2 21 1 22 2 n −1 n −1 2n n   ..............................................................................  x n = β n + α n1 x 1 + α n 2 x 2 + ... + α nn −1 x n −1 + α nn ⋅ 0

unde βi =

a ij bi şi αij = pentru i,j = 1,...,n a ii a ii

Dacă notăm soluŃia iniŃială cu X(0) unde:

62

(31)

 x 1( 0 )   (0)  x  X(0) =  2  =  ...   x (0)   n 

 β1     β2   ...    β   n

(32)

Atunci sistemul (4.15) se poate scrie sub formă matriceală astfel: X(k+1) = β + α.X(k)

(33)

Dacă şirul de valori X(0), X(1), ... , X(k), are limită finită, atunci această limită este soluŃia sistemului de ecuaŃii (4.14). AplicaŃie Să se rezolve sistemul de ecuaŃii liniare:

8x 1 + x 2 + x 3 = 26   x 1 + 5x 2 − x 3 = 7  x − x + 5x = 7 2 3  1 prin metoda iteraŃiilor succesive Aducem sistemul la forma (31):

x 1 = 3,25 − 0,125x 2 − 0,125x 3  x 2 = 1,4 − 0,2 x 1 + 0,2 x 3 x = 1,4 − 0,2 x + 0,2 x 1 2  3 Atunci

− 0,125 − 0,125   0   α =  − 0,20 0 0,20  , β =  − 0,20 0,20 0  

 3,25     1,40   1,40   

Calculăm în continuare aproximaŃiile succesive pornind de la (32) şi (33): Prima aproximaŃie:

63

 x 1(1)   (1)  x2  =  x (1)   3 

− 0,125 − 0,125   3,25   3,25   0       0 0,20  .  1,40  =  1,40  +  − 0,20  1,40   − 0,20 0,20 0   1,40    

 2,90     1,03   1,03   

A doua aproximaŃie:  x 1( 2 )   3,25   0 − 0,125 − 0,125   2,90   (2)        0 0,20  .  1,03  =  x 2  =  1,40  +  − 0,20  x ( 2 )   1,40   − 0,20 0,20 0   1,03     3  

 2,99     1,03   1,03   

La o a treia aproximare observăm că soluŃiile rămân neschimbate şi dacă dorim o aproximaŃie de 2 zecimale vom avea soluŃiile: x1 = 2,99 x2 = 1,03 x3 = 1,03

4.6.2. Metoda lui Seidel

Metoda lui Seidel este o modificare a metodei iteraŃiilor succesive. Pentru calcularea valorii necunoscutei x i( k +1) se iau în considerare calculele iteraŃiei k+1 ale necunoscutelor x1, x2,..., xi-1, adică x 1( k +1) , x (2k +1) , ... , x i(−k1+1) . Ca şi în cazul metodei iteraŃiilor succesive

 x 1( 0 )   (0)  x  X(0) =  2   ...   x (0)   n  este o valoare iniŃială a soluŃiei sistemului (30). Presupunând cunoscute x 1( k ) , x (2k ) , ... , x (nk ) se determină, aproximaŃiile k + 1

64

n  ( k +1) x = β + a ij x (jk ) ∑ 1 1  j=1  n x ( k +1) = β + a x ( k +1) + a x ( n ) ∑ 2 2 21 1 2j j  j= 2  ..................................................  i −1 n x i( k +1) = β i + ∑ a ij x (jk ) + ∑ a ij x (jk )  j=1 j= i ..................................................... n −1  ( k +1) x = β + a ij x (jk +1) + a nn x (nn )  n ∑ n  j=1

(34)

AplicaŃie Să se determine soluŃia sistemului din aplicaŃia din secŃiunea anterioară, aplicând metoda lui Seidel. Şi în cazul dat  x 1( 0 )    X(0) =  x (20 )  =  x (0)   3 

 3,25     1,40   1,40   

Calculând obŃinem la prima aproximaŃie: x 1(1) = 3,25 – 0,125.1,40 – 0,125.1,4 = 2,9 x (21) = 1,40 – 0,20.2,9 + 0,20.1,4 = 1,10 x 3(1) = 1,40 – 0,20.2,9 + 0,20.1,1 = 1,08 ca şi la procedeul anterior observăm că după a doua iteraŃie soluŃiile rămân neschimbate Metoda lui Seidel converge către soluŃia unică pentru oricare aproximaŃie iniŃială, dacă norma matricei α este mai mică decât 1.

4.7. BalanŃa legăturilor dintre ramuri

Economia naŃională constă din mai multe ramuri. Vom reduce modelul economiei naŃionale la trei ramuri: industria, agricultura şi celelalte ramuri luate toate împreună.

65

Presupunem că în baza rezultatelor activităŃii tuturor obiectelor economice a fost întocmită balanŃa (în unităŃi băneşti) dintre ramuri pe anul precedent (an ipotetic). Tabelul 7 Ramurile (producător) - i

Ramurile (consumator) - j

ProducŃia

Industria

Agricultura

Celelalte ramuri

Cons total

Val/an prod

Industria

20,5

8,4

5,6

52,0

86,5

Agricultura

14,8

5,1

1,1

18,2

39,2

Celelate ramuri

11,3

2,4

1,9

13,0

28,6

Pentru aflarea coeficientului chesltuielilor directe aij, se împart datele din fiecare coloană (primele trei coloane) a balanŃei la mărimea volumului de producŃie anual corespunzător. Rezultă matricea coeficienŃilor cheltuielilor directe:

 20,5 / 86,5 8,4 / 39,2 5,6 / 28,6    A =  11,8 / 86,5 5,1 / 39,2 1,1 / 28,6   11,3 / 86,5 2,4 / 39,2 1,9 / 28,6    CoeficienŃii aij indică cheltuielile din ramura i pentru ca ramura j să producă o unitate de producŃie. Cunoscând matricea coeficienŃilor cheltuielilor directe A = (aij)nxn , unde n este numărul de ramuri, se poate întocmi programul de activitate al fiecărei ramuri pe anul viitor, care ar asigura balanŃa dintre ramuri şi volumul final. Dacă prin xi (i = 1,2...n) se notează volumul anual de producŃie respectiv pentru fiecare ramură, iar prin yi (i = 1,2...n) volumul consumului final, atunci modelul matematic al balanŃei legăturilor directe dintre ramuri este de forma:

 x 1 = a 11 x 1 + a 12 x 2 + ... + a 1n x n + y 1  (1 − a 11 ) x 1 − a 12 x 2 − ... − a 1n x n = y1  x = a x + a x + ... + a x + y  − a x + (1 − a ) x − ... − a x = y  2  21 1 21 1 22 2 2n n 2 22 2 2n n 2 ⇔    ......................................................  ........................................................... x n = a n1 x 1 + a n 2 x 2 + ... + a nn x n + y n − a n1 x 1 − a n 2 x 2 − ... + (1 − a nn ) x n = y n Ceea ce se scrie sub formă matriceală astfel: X = A.X + Y sau (E-A).X = Y de unde rezultă X = (E-A)-1Y 66

Aplicând matricei A formulele de mai sus obŃinem:   20,5  8,4 5,6 20,5 8,4 5,6  x2 − x 3 = y1 x 1 −  1 −  x 1 = 86,5 x 1 + 36,2 x 2 + 28,6 x 3 + y 1 36,2 28,6  86,5    14,8 5,1 1,1 5,1  1,1    14,8 x1 + x2 + x 3 + y 2 ⇔ − x 1 + 1 − x3 = y2 x 2 − x 2 = 86,5 36,2 28,6 28,6  36,2    86,5  x = 11,3 x + 2,4 x + 1,9 x + y  11,3 2,4 1,9   3  − 86,5 x 1 − 36,9 x 2 + 1 − 28,6  x 3 = y 3  3 86,5 1 36,2 2 28,6 3   

şi

 1,45 0,38 0,32    (E - A) =  0,29 1,23 0,11   0,22 0,13 1,12    -1

not

Matricea (E - A)-1 = B = (bij) se numeşte matricea coeficienŃilor cheltuielilor complexe (cheltuielilor directe şi indirecte). CoeficienŃii cheltuielilor complete bij indică cheltuielile din ramura i, necesare pentru a produce în ramura j o unitate de producŃie pentru consumul final. Cunoscând B putem, pentru diferite variante ale consumului final, să determinăm programul anual de producŃie pentru fiecare ramură. Adică pentru datele de mai sus: y  x 1   1,45 0,38 0,32   1     . y  x 2  =  0,29 1,23 0,11   2   x   0,22 0,13 1,12   y 3   3   Dacă y1 = 55, y2 = 21, y3 = 15 vom obŃine x1 = 92,51 , x2 = 43,74 , x3 = 31,92.

67

Capitolul 5 SPAłII VECTORIALE

5.1. Vectori Ce se înŃelege prin vector? Denumirea vine din latină, vecto-vectare care înseamnă „a trage”, „a duce”. NoŃiunea de vector a fost folosită mai întâi în mecanică şi era folosită în legătură cu unele mărimi fizice: forŃă, viteză, etc., unde un vector era caracterizat prin modul, direcŃie şi sens. În cele ce urmează vom lucra cu vectorii cu elemente din mulŃimea numerelor reale şi doar acolo unde va fi cazul vom specifica dacă avem o altă mulŃime pe care definim vectorii. Un vector definit pe Rn va fi de forma

X =

{(x 1 , x 2 ,...,

x n ) / x i ∈ R , i ∈ [1, n ]}

Având în vedere că vectorii pot fi priviŃi şi ca nişte cazuri particulare de matrice se defineşte analog cu capitolul anterior operaŃia de adunare a doi vectori şi operaŃia de înmulŃire cu scalari a unui vector.

DefiniŃie 5.1. a) Fie V o mulŃime de vectori şi K un corp de scalari. OperaŃia :

+ : VxV → V se numeşte operaŃie internă. b) OperaŃia: .

: Vx K → V

se numeşte operaŃie internă.

68

5.2. DefiniŃia spaŃiului vectorial

În condiŃiile din secŃiunea 5.1. putem da următoarea definiŃie:

DefiniŃie 5.2. Se numeşte K - spaŃiu vectorial o mulŃime nevidă V de vectori care, împreună cu o mulŃime de scalari K, cu operaŃia de adunare a vectorilor şi cu înmulŃirea cu scalari, îndeplineşte condiŃiile: (1) u,v ∈ V ⇒ u + v ∈ V (2) u + v = v + u pentru orice u,v ∈ V (3) (u + v) + w = u + (v + w) pentru orice u, v, w ∈ V (4) există 0 ∈ V astfel încât u + 0 = 0 + u

pentru orice u ∈ V

(5) pentru orice u ∈ V există –u ∈ V astfel încât u + (-u) = (-u) + u = 0 .

(6) pentru orice u ∈ V şi orice a ∈ V rezultă a v ∈ V (7) a (u + v) = au + av pentru orice u, v ∈ V şi a ∈ K (8) (a + b) u = au + bu pentru orice u ∈ V şi a, b ∈ K (9) (ab)u = a (bu)

pentru orice u ∈ V şi a,b ∈ K .

(10) există 1 ∈ K astfel încât 1 u = u

Exemple 1) SpaŃiul vectorial (R2, R, + ,

.

). Elementele acestui spaŃiu sunt de forma unei

perechi ordonate (a,b) cu a ∈ R şi b ∈ R. OperaŃia internă, în acest caz adunarea, se defineşte astfel: (a1, b1) + (a2, b2) = (a1 + a2 , b1 + b2) iar operaŃia externă se defineşte c.(a,b) = (c.a, c.b) lăsăm ca exerciŃiu verificarea faptului că (R2, R, +, . ) este un spaŃiu vectorial 2) SpaŃiul vectorial format din matricele cu n linii şi m coloane împreună cu adunarea

şi înmulŃirea matricelor şi scalari din R

69

3) Fie mulŃimea F [0,1] alcătuită din funcŃiile continue pe intervalul [0,1] cu scalari din R, având ca operaŃie internă adunarea funcŃiilor

( f + g )(x) = f(x) + g(x)

5.3. Liniar independenŃă. Bază

DefiniŃie 5.3. a) Fie un X un K - spaŃiu vectorial şi fie x1, x2, ... , xn ∈ X şi α1, α2, ... , αn∈K. Spunem că x1, x2, ... , xn sunt liniar independenŃi dacă este adevărată implicaŃia:

α1x1 + α2x2 + ... + αnxn = 0 ⇒ α1 = α2 = ... = αn = 0

b) în caz că implicaŃia nu e adevărată vom spune că vectorii sunt liniar dependenŃi.

DefiniŃie 5.4. Fie v, v1, v2, ... , vn vectori din V. Spunem că v este combinaŃie liniară a vectorilor v, v1, v2, ... , vn dacă există c1, c2, ..., cn ∈ K astfel încât

v = c1v1 + c2v2 + ... + cnvn PropoziŃie 5.5. Vectorii v1, v2, ... , vn sunt liniar dependenŃi dacă şi numai dacă unul dintre ei se scrie ca o combinaŃie liniară de ceilalŃi vectori.

DemonstraŃie Pentru a demonstra această propoziŃie trebuie să arătăm că: 1) dacă v1, v2, ... , vn sunt liniar dependenŃi atunci unul se scrie ca o combinaŃie liniară de ceilalŃi. 2) Dacă unul se scrie ca o combinaŃie liniară de ceilalŃi atunci v1, v2, ... , vn sunt liniar dependeŃi. 1) dacă v1, v2, ... , vn sunt liniar dependenŃi atunci există un ci ≠ 0 pentru care

c1v1 + c2v2 + ... + cnvn = 0 70

atunci putem scrie

vi = (c1/ci)v1 + ... + (cn/ci)vn adică vi este combinaŃie liniară de ceilalŃi vectori. 2) dacă un vector se poate scrie ca o combinaŃie liniară de ceilalŃi vectori, notăm cu vj acest vector:

vj = c1v1 + … + cnvn de unde rezultă

c1v1 + … + (-1).vj + … + cnvn = 0 deci am găsit cj = 1 ≠ 0 astfel încât

c1v1 + … + cjvj + … + cnvn = 0 deci vectorii sunt liniar dependenŃi.

DefiniŃie 5.6. Spunem că vectorii v1, v2, ... , vn alcătuiesc un sistem de generatori pentru V dacă orice alt vector v din V se poate scrie ca o combinaŃie liniară a vectorilor v1, v2, ... , vn, adică

v = c1v1 + c2v2 + ... + cnvn DefiniŃie 5.7. Spunem că v1, v2, ... , vn reprezintă o bază pentru V dacă: 1) v1, v2, ... , vn sunt liniar independenŃi 2) v1, v2, ... , vn reprezintă un sistem de generatori pentru V

Exemplu Fie spaŃiul vectorial (Rn, R). Atunci pe acest spaŃiu putem avea următoarea bază:

E = (e1, e2, ... , en) ⊆ R unde

1   0 e1 =   , e2 = ...   0  

0   1  ...  , ... , en =   0  

acest tip de bază mai este denumit şi bază canonică.

71

 0    0 ...   1  

DefiniŃie 5.8. Se numeşte reper baza în care se Ńine cont de ordinea vectorilor. DefiniŃie 5.9. Fie L ( ⊂ V ) o mulŃime de vectori liniar independenŃi. Spunem că mulŃimea de vectori liniar independenŃi este maximală dacă orice L’ ⊂ V şi L ⊂ L’, L ≠ L’, nu este o mulŃime de vectori liniar independenŃi.

DefiniŃie 5.10. Fie S ( ⊂ V ) o mulŃime de vectori care reprezintă un sistem de generatori pentru V. Spunem că S este alcătuită dintr-un sistem minimal de generatori pentru V dacă orice mulŃime de vectori S’⊂ V, S’⊂ S cu S’≠ S nu este sistem de generatori. Vom da în continuare o propoziŃie fără demonstraŃie:

PropoziŃia 5.11. Fie B o mulŃime de vectori din V. Atunci sunt adevărate afirmaŃiile: a) B este bază pentru V dacă şi numai dacă B este liniar independent maximal b) B este bază pentru V dacă şi numai dacă B este sistem de generatori Putem reprezenta enunŃul propoziŃiei 5.11. şi prin figura de mai jos: Sistem de generatori

V

Bază Vectori liniar independenŃi

Teorema 5.12. Orice două baze ale unui spaŃiu vectorial au acelaşi număr de vectori. 72

DemonstraŃie Presupunem că avem două baze B1 şi B2 care au n vectori şi respectiv m vectori. Deoarece B1 este bază, în conformitate cu propoziŃia 2.11. punctul a, B1 este liniar independent maximal, deci are cel mai mare număr de vectori dintre toate mulŃimile de vectori liniar independenŃi şi, în particular, B1 are mai mulŃi vectori ca B2, adică

n≥m

(35)

Dar B2, ca bază, reprezintă o mulŃime maximală de vectori liniar independenŃi. Deci are cel mai mare număr de vectori liniar independenŃi din V, deci şi un număr mai mare ca numărul de vectori ai lui B1, adică

m≥n

(36)

Din (35) şi (36) rezultă că n = m şi cum bazele B1 şi B2 au fost luate aleator, rezultă că orice două baze din V au acelaşi număr de vectori. Pornind de la această teoremă putem da următoarea definiŃie:

DefiniŃie 5.13. Numărul vectorilor unei baze a unui K spaŃiu vectorial, reprezintă dimensiunea acelui spaŃiu.

NotaŃie dimensiunea lui V = dim V DefiniŃie 5.14. Spunem că un spaŃiu vectorial este finit dacă are o bază cu un număr finit de vectori.

Teorema 5.15. Fie V un K spaŃiu vectorial de dimensiune n şi B o bază a sa. Atunci orice vector din V se scrie în mod unic ca o combinaŃie liniară de vectori ai bazei B.

DemonstraŃie Fie B = (b1, b2, ... , bn) o bază a lui V. Presupunem că avem două mulŃimi de scalari

{c1, c2, ... , cn} şi {c1’, c2’, ... , cn’} 73

astfel încât

v = c1b1 + .... + cnbn v = c1’b1 + ... + cn’bn Notăm cu 0V elementul neutru al spaŃiului V în raport cu legea internă. Atunci:

0V = v + (-v) = c1b1 + c2b2 + ... + cnbn + (-c1’b1 - ... - cn’bn )= = (c1 – c1’)b1 + ... + (cn – cn’)bn

(37)

deoarece (b1, ... , bn) este bază, rezultă că (b1, ... , bn) sunt liniar independenŃi. Din această afirmaŃie şi din relaŃia (37) rezultă că:

c1 – c1’ = ..... = cn – cn’ = 0 adică

c1 = c1’ , ..... , cn = cn’ Cum (c1, ... , cn ) şi (c1’, ... , cn’ ) au fost luate arbitrar, înseamnă că v se scrie în mod unic ca o combinaŃie liniară a vectorilor bazei (b1, ... , bn) Deoarece scrierea oricărui vector în funcŃie de elementel bazei este unică, putem da următoarea definiŃie:

DefiniŃie 5.16. Fie v ∈ V şi B = (b1, ... , bn) o bază a K-spaŃiului vectorial V. Atunci (c1, ... , cn) pentru care

v = c1b1 + ... + cnbn se numesc coordonatele vectorului v în baza B. Până în acest punct am văzut că într-un K-spaŃiu vectorial putem avea mai multe baze, dar că, în fiecare bază, coordonatele unui vector se scriu în mod unic. În cele ce urmează se pune problema găsirii unei formule ce ne-ar putea exprima schimbarea coordonatelor unui vector la schimbarea bazei. Ne vom rezuma prezentarea la un nivel intuitiv.

74

Fie V un K-spaŃiu vectorial de dimensiune n şi fie E şi G două baze în acest spaŃiu de forma:

E = {e1, … , en} G = {g1, … , gn} Atunci un vector v ∈ V poate fi scris în funcŃie de fiecare bază astfel:

vE = α1e1 + ... + αnen vG = β1g1 + ... + βngn Dar g1, ... , gn sunt vectori din V, deci se pot scrie fiecare în funcŃie de elementele bazei E:

g1 = c11e1 + ... + c1nen g2 = c21e1 + ... + c2nen ................................... gn = cn1e1 + ... + cnnen Matriceal, sistemul de ecuaŃii se poate scrie:

 g 1   c11     g 2   c 21  ...  =  ...     g  c  n   n1

... ... ... ...

... c1n   e1     ... c 2 n   e2  ⋅ ... ...   ...     ... c nn   en 

Matricea

 c11   c 21 CEG =  ...  c  n1

... ... ... ...

... ... ... ...

se numeşte matricea de trecere de la E la G.

75

c1 n   c2 n  ...   c nn 

Teorema ce urmează o vom prezenta, pentru claritatea expunerii, pentru cazul în care n = 3. În capitolul urmator vom prezenta teorema pentru cazul general. Fie V un K-spaŃiu vectorial de dimensiune n = 3 şi două baze ale acestui spaŃiu:

E = {e1, e2, e3} G = {g1, g2, g3} Fie v ∈ V. Atunci acest vector se poate scrie astfel în funcŃie de cele două baze:

vE = α1e1 + α2e2 + α3e3 vG = β1g1 + β2g2 + β3g3 Facem următoarele notaŃii:

 α1    α VE =  2  ; VG = α   3

 β1     β 2  şi CEG = β   3

 c11 c12 c13     c21 c22 c23  c c c   31 32 33 

(38)

În aceste condiŃii avem următoarea teoremă:

Teorema 5.17. T ) VG VG = (C EG −1

DemonstraŃie

g1 = c11e1 + c12e2 + c13e3 g2 = c21e1 + c22e2 + c23e3 g3 = c31e1 + c32e2 + c33e3 v = β1g1 +β2g2 + β3g3 = = β1(c11e1+c12e2 + c13e3)+β2(c21e1 +c22e2+c23g3) +β3(c31g1+c32g2+c33g3) = = β1c11e1 + β1 c12e2 + β1 c13e3 + β2c21e1 + β2c22e2 + β2c23g3 +β3c31g1+ + β3c32g2 + β3c33g3 =

76

apoi grupăm termenii după e1, e2 respectiv e3:

= (β1c11 + β2c21 + β3c31).e1 + + (β1c12 + β2c22 + β3c32).e2 + +(β1c13 + β2c23 + β3c33).e3 dar

v = α1.e1 + α2.e2 + α3.e3 şi cum coordonatele sunt unice, avem:

α1 = β1c11 + β2c21 + β3c31 α2 = β1c12 + β2c22 + β3c32 α3 = β1c13 + β2c23 + β3c33 scriind matriceal avem:

 α1   c11 c21 c31   β1        α = c c c  2   12 22 23  ⋅  β 2     α   c  3   13 c23 c33   β 3  Folosind notaŃiile (38) avem: . T VE = C EG VG

(39)

T Cum det(CEG) ≠ 0 ⇒ det (C EG ) ≠ 0, deci există inversa (C EGT ) şi relaŃia (39)

−1

devine: T VG = (C EG ) VG

−1

O altă noŃiune importantă în teoria spaŃiilor vectoriale este aceea de subspaŃiu vectorial. În condiŃiile în care avem un K- spaŃiu vectorial V şi S o submulŃime a lui V, în ce condiŃii S se numeşte subspaŃiu vectorial al lui V? Este ceea ce ne dă următoarea definiŃie:

77

5.4. SubspaŃii vectoriale

DefiniŃia 5.18 Fie (V, K, +, . ) un K – spaŃiu vectorial şi S ⊆ V. Vom spune că S este subspaŃiu al lui V dacă (S, K, +, . ) îndeplineşte condiŃiile unui spaŃiu vectorial.

Exemple

1. Fie V un K spaŃiu vectorial. Atunci V este un subspaŃiu al lui V. 2. Fie 0V elementul neutru faŃă de adunare în K - spaŃiul vectorial V. Atunci {0V} este un subspaŃiu vectorial al lui V.

PropoziŃie 5.19 Fie S un subspaŃiu al unui K-spaŃiu vectorial V. Atunci:

dim S ≤ dim V DemonstraŃie

Vom folosi raŃionamentul prin reducere la absurd. Presupunem că dim S > dim V. Fie BS = {v1, v2, ... , vn} o bază din S. Atunci BS sunt liniar independenŃi şi alcătuiesc un sistem de generatori şi BS ⊂ S ⊂ V, adică BS este o bază şi pentru V deci dimV= dims, ceea ce contrazice presupunerea iniŃială. (dim S > dim V ). Deci

dim S ≤ dim V PropoziŃia 5.20. Fie V un K – spaŃiu vectorial şi S ⊂ V. Dacă afirmaŃiile de mai jos sunt adevărate: 1) pentru orice s1, s2 ∈ S avem s1 + s2 ∈ S 2) pentru orice α ∈ K şi s ∈ S avem α s ∈ S, atunci S este un subspaŃiu al lui V. DemonstraŃie

Asociativitatea şi comutativitatea operaŃiei interne, fiind valabilă pentru V va fi valabilă şi pentru S. Dacă s ∈ S, (-1) ∈ K din afirmaŃia 2) rezultă că –s ∈ S. Tot din aceeaşi afirmaŃie avem:

78

0 ∈ K, s ∈ S ⇒ 0.s ∈ S adică 0 ∈ S Deoarece S este definit tot peste corpul K, celelalte afirmaŃii legate de operaŃia externă rămân valabile.

79

Capitolul 6 OPERATORI LINIARI

6.1. DefiniŃie. ProprietăŃi Fie X şi Y două K - spaŃii vectoriale.

DefiniŃie 6.1. Se numeşte operator, o aplicaŃie:

T:X→Y DefiniŃie 6.2. Spunem că un operator T : X → Y este aditiv dacă:

T (x1 + x2) = T(x1) + T(x2)

(40)

oricare ar fi x1, x2 ∈ X

DefiniŃie 6.3. Spunem că un operator T : X → Y este omogen dacă

T(αx) = α T(x)

(41)

pentru orice α ∈ K şi orice x ∈ X.

PropoziŃie 6.4. Dacă T este un operator aditiv, atunci

T (0X) = 0Y unde 0X este elementul neutru din X şi 0Y este elementul neutru din Y. DemonstraŃie

80

T(0X) = T(0X + 0X) = T(0X) + T(0X) deci

T(0X) = T(0X) + T(0X) Adunăm în ambii termeni pe –T(0X) şi vom obŃine

T(0X) - T(0X) = T(0X) + T(0X) - T(0X) Adică

0Y = T(0X) PropoziŃie 6.5. Fie z ∈ Z şi T un operator aditiv T : X → Y. Atunci:

T(zx) = zT(x)

(42)

pentru orice x ∈ X. DemonstraŃie

Fie z = n ∈ N. Demonstrăm prin inducŃie după n. Pentru n = 1, avem T(1.x) = 1.T(x) Considerăm afirmaŃia adevărată pentru n şi o vom arăta pentru n+1. cf ( 40 ) .

T((n+1) x) = T(nx + x)

=

T(nx) + T(x)

Conforma ipotezei de inducŃie

T(n.x) = n.T(x) Deci

T((n+1).x) = n.T(x) + T(x) = (n+1) T(x) Deci afirmaŃia este adevărată pentru z = n ∈ N. Fie z = - n , n ∈ N. În primul rând vom arăta că T(-x) = - T(x): cfP 6.4.

T(x) + T(-x) = T(x-x) = T(0X)

=

0Y

Deci T(-x) este inversul lui T(x) adică

T(-x) = - T(x) Şi avem:

T(zx) = T((-n).x) = T(-nx) = - T(nx) Cum în prima parte a demonstraŃiei am arătat că T(n.x) = n.T(x), obŃinem:

T(zx) = -T(nx) = -n.T(x) = (-n) T(x) = z T(x)

81

ObservaŃie. PropoziŃia 6.5. este adevărată şi pentru α raŃional, adică

T(αx) = αT(x) DefiniŃie 6.6. Fie X şi Y două K – spaŃii vectoriale şi T: X → Y. Spunem că T este operator liniar dacă T este adictiv şi omogen, adică avem îndeplinite următoarele două condiŃii: 1) T(x1 + x2) = T(x1) + T(x2) , pentru orice x1, x2 ∈ X 2) T(αx) = α.T(x) ,

pentru orice x ∈ X şi orice α ∈ K.

PropoziŃia 6.7. MulŃimea

TX = {T(x) | x ∈ X} formează un subspaŃiu vectorial DemostraŃie

Pentru a arăta că TX este un subspaŃiu al lui Y vom folosi propoziŃia 2.20., adică trebuie să arătăm că 1) y1, y2 ∈ TX atunci y1 + y2 ∈ TX 2) α ∈ K şi y ∈TX atunci αy ∈ TX Fie y1 şi y2 ∈ TX. Atunci y1 = T(x1) şi y2 = T(x2) şi y1 + y2 = T(x1)+T(x2) ∈ TX Fie α ∈ K şi y ∈ TX, atunci y = T(x) şi αy = α T(x) = T(αx) ∈ TX.

PropoziŃia 6.8. Operatorul T: X → Y este liniar dacă şi numai dacă

T(α1x1 + α2x2) = α1T(x1) + α2T(x2) DemonstraŃie

Vom demonstra că: 1) T : X → Y operator liniar ⇒ T(α1x1 + α2x2) = α1T(x1) + α2T(x2) 2) T(α1x1 + α2x2) = α1T(x1) + α2T(x2) ⇒ T : X → Y operator liniar 1) T operator liniar. Notăm α1x1 = u şi α2x2 = v. Atunci T(α1x1 + α2x2) = T(u + v) = T(u) + T(v) = T(α1x1) + T(α2x2) = α1T(x1) + α2T(x2) . 2) Ştim că T(α1x1 + α2x2) = α1T(x1) + α2T(x2). Luăm α1 = α2 = 1 şi obŃinem prima condiŃie a liniarităŃii operatorului Dacă luăm α2 = 0 atunci vom obŃine ce-a de-a doua condiŃie a liniarităŃii operatorului.

82

6.2. OperaŃii cu operatori liniari Fie L (X,Y) mulŃimea operatorilor liniari T: X → Y. Atunci, adunarea pentru L(X,Y) va fi definită astfel:

+ : L (X,Y) x L (X,Y) → L (X,Y) ÎnmulŃirea cu scalari

(αT)(x) = α T(x) DefiniŃia 6.9. Fie T: X → Y un operator liniar. Se numeşte nucleul operatorului T, mulŃimea

Ker T = {x ∈ X | T(x) = 0Y} PropoziŃia 6.10. MulŃimea Ker T este un subspaŃiu vectorial al K-spaŃiului vectorial X. DemonstraŃie 1. Fie x1, x2 ∈ Ker T. Atunci T(x1) = 0 şi T(x2) = 0. Deci T(x1 + x2) = T(x1) + T(x2) = 0Y + 0Y = 0Y , adică x1 + x2 ∈ Ker T 2. Fie x ∈ Ker T şi α ∈ K. Atunci

T(αx) = α T(x) = α.0Y = 0Y Deci αx ∈ Ker T

PropoziŃia 6.11. Fie T: X → Y un operator liniar. Atunci:

T este injectivă ⇔ Ker T = {0X} DemonstraŃie

„⇒” Dacă T este injectivă atunci avem implicaŃia

T(x1) = T(x2) ⇒ x1 = x2

83

Fie x ∈ Ker T, atunci T(x) = 0Y. Conform propoziŃiei 6.4. avem T(0X) = 0Y. Din acestea rezultă că T(x) = T(0X). Deoarece T este injectivă rezultă că x = 0X. Cum x a fost luat arbitrar înseamnă că

Ker T = {0X} “⇐”

Ştim că avem Ker T = {0X} , deci avem implicaŃia

T(x) = 0Y ⇒ x = 0X

(43)

Fie T(x1) = T(x2) ⇒ T(x1) – T(x2) = 0Y ⇒ T(x1) + (-1) T(x2) = 0Y ⇒ T(x1) + T(-x2) = 0Y ⇒ ⇒ T(x1 – x2) = 0Y . Conform (43) rezultă că

x1 – x2 = 0X adică

x1 = x2 Deci T este injectivă

DefiniŃie 6.12. Se numeşte imaginea operatorului liniar T mulŃimea

Im T = {y ∈ Y | există x ∈ X astfel încât T(x) = y } PropoziŃie 6.13. Im T este subspaŃiu al lui Y. DemonstraŃie

Pentru a demonstra că Im T este subspaŃiou vom folosi propoziŃia 5.20. 1) Fie y1 ∈ Im T ⇒ există x1 ∈ X astfel încât T(x1) = y1 . Fie y2 ∈ ImT ⇒ există x2 ∈ X astfel încât T(x2) = y2. Atunci

y1 + y2 = T(x1) + T(x2) = T(x1 + x2) deci există x1 + x2 ∈ X astfel încât y1 + y2 = T(x1 + x2), adică y1 + y2 ∈ Im T. 2) Fie y ∈ ImT şi α ∈ K. Atunci exsită x ∈ X astfel încât T(x) = y. Fie αx ∈ X, atunci:

T(αx) = αT(x) = αy Deci αy ∈ Im T.

84

Din 1) şi 2) rezultă că ImT este subspaŃiu al lui Y.

PropoziŃie 6.14. Fie T: X → Y, un operator liniar. Atunci

Im T = Y ⇔ T este surjectiv DemonstraŃie

Rezultă imediat din definiŃia mulŃimii ImT.

DefiniŃie 6.15 Fie T: X → Y un operator liniar. Atunci a) T se numeşte monomorfism dacă T este injective b) T se numeşte epimorfism dacă T este surjectiv. c) Dacă T este monomorfism şi epimorfism, atunci el se numeşte izomorfism. Cum orice funcŃie bijectivă este şi inversabilă şi în acest caz, dacă T este un izomorfism, atunci T este inversabil şi vom nota inversa lui cu T-1. Se poate demonstra că T-1 este tot un operator liniar.

DefiniŃie 6.16. Spunem că sunt izomorfe K- spaŃiile vectoriale X, Y dacă există un izomorfism T: X → Y

6.3. Matricea unui operator liniar (izomorf) Fie operatorul T: X → Y şi fie două baze definite, respectiv pe cele două spaŃii vectoriale X şi Y.

BX = {e1, e2, … , en} BY = {g1, g2, … , gm} Elementul T(ei) este din Y, deci se poate scrie ca o combinaŃie liniară a elementelor din BY. Adică:

T(e1) = a11g1 + a21g2 + ... + am1gm T(e2) = a12g1 + a22g2 + ... + am2gm ...................................................... 85

T(e2) = a1ng1 + a2ng2 + ... + amngm Matriceal acest sistem se scrie:

 T (e1 )   a11 a21    T ( e )  2   a12 a22  ...  =  ... ...    T (e )   a a  n   1n 2n

... am1   g1     ... am2   g2  ⋅ ... ...   ...     ... amn   gm 

DefiniŃia 6.17. Matricea A pentru care transpusa este:

 a11 a21   a12 a22 T A =  ... ...  a a  1n 2n

... am1   ... am2  ... ...   ... amn 

se numeşte matricea ataşată operatorului liniar T în bazele BX şi BY. Se observă că elementele matricei A depind de bază, deci, ne putem pune problema determinării modificărilor ce survin în matricea unui operator la schimbarea bazelor. În capitolul anterior, am demonstrat în teorema 5.17. faptul că T VG = (C EG

)

−1

VG

Pentru cazul n = 3. În cele ce urmează vom demonstra teorema pentru cazul general: Fie V un K – spaŃiu vectorial de dimensiune n. Fie E şi G două baze în acest spaŃiu, unde:

E = {e1, e2, ... , en} G = {g1, g2, … , gn} Atunci:

Teorema 6.18

86

T ) VG VG = (CEG −1

DemonstraŃie

Având cele două baze E şi G, orice vector v ∈ V se poate scrie în funcŃie de cele două baze astfel:

vE = α1e1 + α2e2 + ... + αnen

 α1    α  vE =  2  ...   α   n

(44)

vG = β1g1 + β2g2 + ... + βngn

 β1    β  vG =  2  ...   β   n

(45)

Cum βI sunt vectori din V ei se pot scrie în funcŃie de baza E, astfel:

g1 = c11e1 + c12e2 + … + c1nen g2 = c21e1 + c22e2 + … + c2nen ………………………………. gn = cn1e1 + cn2e2 + … + cnnen Deci putem scrie (13) astfel:

v = β1 (c11e1 + c12e2 + … + c1nen) + β2 (c21e1 + c22e2 + … + c2nen) + … + + βn(cn1e1 + cn2e2 + + … + cnnen) Grupând termenii după e1, e2, … , en obŃinem:

v = (β1c11 + β2c22 + … + βncn1).e1 + + (β1c12 + β2c22 + … + βncn2).e2 + + ……………………………… +

87

(46)

+ (β1c1n + β2c2n + … + βncnn).en Dar v se poate scrie şi conform formulei (44). Deoarece coordonatele unui vector după o bază sunt unice (teorema 5.15), avem sistemul de ecuaŃii:

α1 = β1c11 + β2c21 + … + βncn1 α2 = β1c12 + β2c22 + … + βncn2 ………………………………. αn = β1c1n + β2c2n + … + βncnn Forma matriceală a sistemului este:

 α1   c11 c21    α 2   c12 c22  ...  =  ... ...    α   c c  3   1n 2n

... ... ... ...

cn1   β1     cn2   β2  ⋅ ...   ...     cnn   β n 

Ceea ce se mai poate scrie şi:

( )

T vG = CEG

−1

⋅ vE

În continuare dorim să studiem modificarea matricei unui operator la schimbarea bazelor. Pentru aceasta fie T : X → Y şi AT matricea ataşată acestui operator în bazele E1 ⊂ X şi G1 ⊂ Y. Dacă în X trecem de la baza E1 la o altă bază E2, conform teoremei 6.18. există o matrice C astfel încât:

xE2 = C −1 xE1

(47)

Analog există o matrice D pentru trecerea de la baza G1 la o bază G2 în K – spaŃiul vectorial Y:

yG2 = C−1 yG1

(48)

Similar cu matricea A de trecere de la baza E1 la baza G1, vom avea o matrice B pentru trecerea de la baza E2 la G2. Scriind A şi B ca matrice ataşate unui operator liniar obŃinem următoarele formule:

88

(T (x))G

1

= A ⋅ xE1

(49)

(T (x))G

= A⋅ xE2

(50)

2

Pentru orice x ∈ X. Dar

(T (x ))G

2

este un element al lui Y şi, aplicând formula

(50), obŃinem:

(T (x ))G

= D −1 (T ( x ))G2 = D −1 A ⋅ x E1 = D −1 ACx E2 (17 )

2

(15 )

(51)

Din (50) şi (51) rezultă:

B = D -1 A C PropoziŃia 6.19. Dacă operatorul T ∈ L (X,X), atunci

B = C -1 A C

6.4. Valori proprii. Vectori proprii Fie V un K - spaŃiu vectorial, n-dimensional şi T ∈ L (X,X).

DefiniŃie 6.20. Un subspaŃiu S al lui V este invariant faŃă de T dacă pentru orice s ∈ S T(s)∈ S. ObservaŃie dacă dim S = 1, atunci

T(s) = λ.s Pentru orice s ∈ S, s ≠ 0 şi λ ∈ K.

89

(52)

DefiniŃie 3.21. a) Scalarul λ dat de ecuaŃia (52) se numeşte valoare proprie a operatorului T5 b) Vectorii nenuli care satisfac ecuaŃia (52) se numesc vectori proprii. ObservaŃie Dacă însă corpul K nu este numeric, valorile λ se numesc elemente proprii

În cele ce urmează vom vedea cum putem să calculăm valorile proprii λ. Fie AE matricea ataşată operatorului T. Atunci

T(x) = AE.x

(53)

Cum λ este valoare proprie, avem

T(x) = λ.x

(54)

Din (53) şi (54) rezultă λ.x = AE.x ⇒ AE.x - λ.x = 0 ⇒ (AE – I.λ).x = 0

(55)

Scriind sub formă matriceală obŃinem:

 a11 a12   a21 a22  ... ...   an1 an2

... a1n  1   ... a2n  0 − λ ⋅ ... ... ...    0 ... ann  

0 ... 0   x1   0       1 ... 0   x2   0  ⋅ = ... ... ..   ...  ...      0 ... 1   xn   0 

de unde rezultă sistemul de ecuaŃii:

 (a11 − λ )x1 + a12 x2 + ... + a1n xn = 0 a x + (a − λ ) x + ... + a x = 0  21 1 22 2 2n n   ...................................................... an1 x1 + an 2 x2 + ... + (ann − λ ) xn = 0 Pentru ca acest sistem să admită soluŃii nenule trebuie pusă condiŃia:

det (A - λ.I) = 0

DefiniŃie 3.22. a) EcuaŃia (56) se numeşte ecuaŃia caracteristică a matricei A. 5

Dacă este numeric K

90

(56)

b) polinomul de grad n în λ, obŃinut prin dezvoltarea determinantului, se numeşte polinom caracteristic. c) vectorii x determinaŃi din ecuaŃia (55) se numesc vectori proprii. d) soluŃiile reale ale ecuaŃiei (56) se numesc valori proprii. AplicaŃii 1) Să se calculeze polinomul caracteristic, rădăcinile caracteristice şi valorile proprii ale matricei:

 2 1 2   A =  3 0 4 0 0 1   Conform definiŃiei 6.22 polinomul caracteristic va fi

2−λ det(A - λI) =

1

2

0−λ 4 = -λ3 + 3λ2 + λ - 3 0 1− λ

3 0

pentru a afla valorile proprii ale matricei A vom calcula rădăcinile ecuaŃiei -λ3 + 3λ2 + λ - 3 = 0 Deci valorile proprii vor fi λ1 = 1 , λ2 = -1 , λ3 = 3. 2) Să se afle valorile proprii şi vectorii proprii ai matricei:  2 1  A =   2 3 EcuaŃia caracteristică va fi: λ2 - 5λ + 4 = 0 Rădăcinile ecuaŃiei, care reprezintă valorile proprii sunt λ1 = 1 şi λ2 = 4.

 x1  În continuare vom afla vectorii proprii. Fie vectorul X =   . x2  Rezolvând ecuaŃia matriceală (55) obŃinem sistemul de ecuaŃii:

 (2 − λ) x 1 + x 2 = 0  2 x 1 + (3 − λ ) x 2 = 0 Pentru λ1 = 1 sistemul devine:

91

(56)

 x1 + x 2 = 0  2 x 1 + 2 x 2 = 0 SoluŃia generală a sistemului este de forma x1 = a , x2 = -a. Deci vectorii proprii sunt de forma:  a  X =   − a Pentru λ2 = 4 sistemul devine:

− 2 x 1 + x 2 = 0   2x 1 − x 2 = 0 de unde vor rezulta vectorii proprii de forma: b X =    2b 

PropoziŃie 6.23. Valorile proprii ale unui operator liniar nu depind de alegerea bazei. DemonstraŃie Fie A matricea operatorului liniar T într-o bază E a spaŃiului şi B matricea

operatorului liniar T într-o bază F a spaŃiului. Atunci, conform propoziŃiei 3.19 avem:

det (B - λ.I) =det (C-1.A.C - λ.I) =det(C-1.A.C – C-1.λ.I.C) =det C-1.(A - λ.In).C = = det C-1.det(A - λ.In).det C = det(A - λ.In)

PropoziŃie 6.24. Fie λ1, λ2, ... , λn valori proprii distincte. Atunci vectorii proprii corespunzători lui λ1, λ2, ... , λn sunt liniari independenŃi. DemonstraŃie

Dacă λi este valoare proprie şi vi este vectorul propriu corespunzător atunci:

T(vi) = λivi Fie n numărul de valori proprii distincte. Vom demonstra propoziŃie prin inducŃie după n.

92

1. luăm mai întâi n = 2 şi fie λ1 şi λ2 două valori proprii distincte, λ1 ≠ λ2. Notăm cu v1 vectorul propriu corespunzător valorii proprii λ1, respectiv cu v2 vectorul prorpiu corespunzător valorii proprii λ2. Presupunem că v1 şi v2 sunt liniar dependenŃi. Atunci există α1 ≠ 0 şi α2 ≠ 0 astfel încât:

α1v1 + α2v2 = 0

(57)

de unde rezultă că α2v2 = - α1v1 (58). Aplicăm operatorul T şi obŃinem:

T(α1v1 + α2v2) = T(0) ⇒ α1T(v1) + α2T(v2) = 0 ⇒ ⇒ α1λ1v1 + α2λ2v2 = 0

(59)

În ecuaŃia de mai sus, notată cu (55), aplicăm formula (58) şi obŃinem:

α1λ1v1 - α2λ2v1 = 0 ⇒ α1(λ1 - λ2)v1 = 0 Cum α1 ≠ 0 rezultă λ1 = λ2. Ceea ce este în contradicŃie cu ipoteza. 2. P(n) ⇒ P(n +1)

Ştim că v1, v2, ... , vn sunt liniar independenŃi pentru λ1, λ2, ... , λn valori proprii distincte. Fie λn+1 ≠ λi pentru orice i = 1, ... , n. Presupunem că v1, ..., vn, vn+1 sunt liniar dependenŃi. Atunci vn+1 se poate scrie ca o combinaŃie liniară de v1, ..., vn:

αn+1vn+1 = α1v1 + ... + αnvn

(60)

⇒ T(α1v1 + ... + αnvn + αn+1vn+1) = T(0) ⇒ ⇒α1 T(v1) + ... + αn T(vn) + αn+1 T(vn+1) = 0 ⇒ ⇒ α1λ1v1 + ... + αnλnvn + αn+1λn+1vn+1 = 0 Din ecuaŃiile (60) şi (61) rezultă:

α1λ1v1 + ... + αnλnvn + α1λn+1v1 + ... + αnλn+1vn = 0 α1 (λ1 - λn+1)v1 + ... + αn(λn - λn+1)vn = 0 Dar v1, ... , vn sunt liniar independenŃi, deci:

α1(λ1 - λn+1) = ... = αn(λn - λn+1) = 0 Cum λi ≠ λn+1 pentru orice i = 1, ... , n rezultă

93

(61)

α1 = α2 = ... = αn = 0 Deci, conform (60) αn+1vn+1 = 0 ⇒ αn+1 = 0

94

Capitolul 7 FUNCłIONALE BILINIARE

7.1. DefiniŃie. ProprietăŃi

Fie V1 şi V2 două K spaŃii vectoriale. Atunci avem următoarea definiŃie:

DefiniŃie 7.1. Se numeşte funcŃională biliniară orice funcŃie

f: V1 x V2 → K care îndeplineşte următoarele condiŃii: 1) f(x1+x2,y) = f(x1,y) + f(x2,y)

pentru orice x1, x2 ∈ V1 şi y ∈ V2

2) f(α.x,y) = α.f(x,y)

pentru orice x∈V1 , y∈V2 şi α∈K

3) f(x,y1+y2) = f(x,y1) + f(x,y2)

pentru orice x∈V1 şi y1,y2∈V2

.

.

4) f(x,α y) = α f(x,y)

pentru orice x∈V1 , y∈V2 şi α∈K

ObservaŃie CondiŃiile 1 şi 2 verifică liniaritatea în primul argument, iar condiŃiile 3 şi 4 verifică liniaritatea în al doilea argument NotaŃie Vom nota cu 0V1 elementul neutru din V1, cu 0V2 elementul neutru din V2 şi cu 0K elementul neutru din K PropoziŃie 7.2. Fie f: V1 x V2 → K o funcŃională biliniară. Atunci: 1) f(0V1,y) = 0K 2) f(x,0V2) = 0K

95

pentru orice x∈V1 , y∈V2 DemonstraŃie

f(0V1,y) = f(0V1 + 0V1 , y) = f(0V1,y) + f(0V1,y)

(62)

f(0V1,y) = f(0V1,y) + 0K

(63)

dar Din (62) şi (63) rezultă că:

f(0V1,y) = 0K Analog se demonstrează că f(x,0V2) = 0K În continuare vom prezenta modul în care se rezolvă două probleme importante din teoria funcŃionalelor biliniare. Fie V1 şi V2 sunt K-spaŃii vectoriale finite şi f: V1 x V2 → K o funcŃională biliniară. PROBLEMA 1 Cum se poate reprezenta o funcŃionala biliniară f în funcŃie de bazele din V1 respectiv V2? PROBLEMA 2 Cum se modifică matricea funcŃionalei biliniare dacă se schimbă bazele prin care se reprezintă această funcŃională? Pentru a rezolva problema 1 facem următoarele notaŃii: m – dimensiunea lui V1 n – dimensiunea lui V2 XV1 = {x1, … , xm} – o bază a lui V1 YV2 = {y1, … , yn} – o bază a lui V2 Atunci

u∈V1 ⇒ u = u1x1 + u2x2 + …+ umxm s∈V2 ⇒ s = s1y1 + s2y2 + … + snyn În aceste condiŃii avem: cfDef

f(u,s) = f(u1x1 + u2x2 + …+ umxm, s1y1 + s2y2 + … + snyn) = = u1s1f(x1,y1) + …. + u1snf(x1,yn) + 96

+ u2s1f(x2,y1) + … + u2snf(x2,yn) + + ………………………………. + + ums1f(xm,y1) + … + umsnf(xm,yn)

(64)

NotaŃii 1) aij = f(xi,yj)

 u1    2) u =  ...  u   m

(65)

 s1    3) s =  ...  s   n

(66)

DefiniŃie 7.3. Matricea A = (aij) i =1,m se numeşte matricea funcŃionalei biliniare f j =1, n

corespunzătoare bazelor X şi Y.

DefiniŃie 7.4. Expresia

f(u,s) = uXT.A.sY

(67)

se numeşte forma matriceală a funcŃionalei biliniare f corespunzătoare bazelor V1

şi V2

Pentru a rezolva a doua problemă, pe lângă notaŃiile introduse la problema 1 mai avem următoarele notaŃii: H – o nouă bază a lui V1 C – matricea de trecere de la baza X la baza H E – o nouă bază a lui V2 D – matricea de trecere de la baza Y la baza E B – matricea funcŃionalei biliniare f corespunzătoare bazelor H şi S Atunci, conform problemei 1, avem:

f(u,s) = uHT.B.sE

97

(68)

Dar

uH = C-1.uX

(69)

sE = D-1.sY

(70)

Din relaŃiile (35) şi (36) rezultă:

uXT.A.sY = uHT.B.sE

(71)

Aplicând relaŃiile (69) şi (70) în relaŃia (71), obŃinem:

uXT.A.sY = (C-1.uX)T.B.(D-1.sY) ⇒ ⇒ uXT.A.sY =uXT.(C-1)T.B.D-1.sY ⇒ ⇒ A = (C-1)T.B.D-1 ⇒ ⇒ B = CT . A . D Formula de mai sus ne arată modul în care se modifică matricea funcŃionalei biliniare atunci când se schimbă bazele prin care se reprezintă această funcŃională, adică problema 2 este rezolvată.

DefiniŃie 7.5. În condiŃiile definiŃiei 7.1, dacă V1 = V2 = V şi

f(x,y) = f(y,x) spunem că funcŃionala este simetrică.

DefiniŃie 7.6. MulŃimea DV = {(v,v) | v∈V} se numeşte diagonala produsului cartezian VxV.

DefiniŃie 7.7. a) Fie f: VxV → R o funcŃională biliniară simetrică. Atunci F: DV → R, F(v) = f(v,v) se numeşte funcŃională pătratică. b) FucnŃionala f din care provine funcŃionala pătratică F se numeşte funcŃionala polară a lui V

98

PropoziŃie 7.8. Fiecărei fucnŃionale pătratice i se poate asocia în mod unic o funcŃională polară. demonstraŃie

Pentru a arăta cerinŃa propoziŃiei este suficient să găsim o relaŃie între funcŃionala pătratică şi funcŃionala polară asociată:

F(u+s) = f(u+s,u+s) = f(u,u) + f(u,s) + f(s,u) + f(s,s) Cum f este simetrică şi f(u,u) = F(u) şi f(s,s) = F(s) rezultă:

F(u+s) = F(u) + 2.f(u,s) + F(s) ⇒ f(u,s) =

1 [F(u+s) – F(u) – F(s)] 2

7.2. Produs scalar

Fie V un K-spaŃiu vectorial unde K poate fi mulŃimea numerelor reale sau mulŃimea numerelor complexe.

DefiniŃie 7.9. Spunem că <.,.> : VxV → K este produs scalar dacă sunt îndeplinite următoarele condiŃii: a) ≥ 0

pentru orice v∈V

a1) = 0 ⇔ v = 0V b) < v, u >= < u , v >

pentru orice v,u∈V

c) <λ.v,u> = λ.

pentru orice v,u∈V şi λ∈K

d) = +

pentru orice v1,v2,u∈V

ConsecinŃă Se poate generaliza condiŃia d a definiŃiei 7.9. astfel: = + + … + DefiniŃie 7.10. Se numeşte spaŃiu euclidian spaŃiul vectorial pe care s-a definit un produs scalar

Exemplu 99

 v1  u1      Fie V = R şi K = R. Atunci pentru orice v şi u din V, v =  v 2  şi u =  u 2  , v  u   3  3 produsul scalar va fi: = v1u1 + v2u2 + v3u3 3

PropoziŃia 7.11. (Inegalitatea Cauchy-Buniakovski) Fie V un K-spaŃiu vectorial, unde K este fie multimea numerelor reale, fie mulŃimea numerelor complexe. Atunci:

< x, y > ≤ < x, x > ⋅ < y, y > pentru orice x,y ∈ V

DefiniŃie 7.12. Fie V un spaŃiul euclidian. FuncŃia: || . || : V → R , ||x|| =

< x, x >

se numeşte normă a spaŃiului euclidian.

PropoziŃie 7.13. Fie V un spaŃiu euclidian şi o normă definită pe acest spaŃiu. Atunci sunt adevărate afirmaŃiile: 1. ||x|| > 0

pentru orice x∈V

2. ||x|| = 0 ⇔ x = 0 .

.

3. ||α x|| = |α| ||x||

pentru orice x∈V pentru orice α∈R şi x∈V

4. ||x + y|| ≤ ||x|| + ||y|| pentru orice x,y∈V

DefiniŃie 7.14. Fie x,y ∈ V, nenuli. Se numeşte cosinusul unghiului dintre x şi y (notat cu cos(x,y) ):

cos(x,y) =

< x, y > || x || ⋅ || y ||

ConsecinŃă Fie x,y∈V, nenuli. Conform propoziŃiei 7.11. avem:

<x,y> ≤ |<x,y>| ≤ < x, x > ⋅ < y, y > ⇒ <x,y> ≤ ||x|| . ||y|| ⇒

100

< x, y > ≤ 1 ⇒ cos(x,y) ≤ 1 || x || ⋅ || y ||

DefiniŃie 7.15. Fie x,y∈V, nenuli. Vectorii x şi y se numesc ortogonali dacă:

cos(x,y) = 0 ConsecinŃă cos(x,y) = 0 ⇔ <x,y> = 0 , deci pentru a arăta că x,z sunt ortogonali trebuie să arătăm că <x,y> = 0

PropoziŃie 7.16 Fie sistemul de vectori S = {s1, s2, … , sm} şi S ⊂ V . Dacă S este alcătuit din vectori nenuli şi ortogonali doi câte doi, atunci S este un sistem liniar independent.

101

MAPLE



Software pentru calcule matematice matematice

102

Capitolul 8 INTRODUCERE ÎN MAPLE

8.1. Ce este Maple ? 8.1.1. NoŃiuni generale

Maple este un software specializat în calcule matematice. PosibilităŃile lui cuprind

aproape toate compartimentile matematicii contemporane. Sistemul Maple se foloseşte în regim de dialog interactiv, precum şi prin scrierea programelor cu ajutorul limbajului său propriu (limbajul Maple), orientat spre calcule matematice de orice natură. Spre deosebire de limbajele de programare de nivel înalt (Fortran, Basic, C, Pascal etc.), Maple rezolvă multe probleme matematice doar prin apelare la comenzi, fără a fi nevoie să se compună programe aparte. Baza sistemului Maple o constituie nucleul principal – programul transformărilor simbolice. În plus, Maple conŃine câteva mii (peste 3000) de funcŃii şi proceduri speciale, care formează aşa-numitele biblioteci, orientate spre transformările simbolice şi calcule numerice din diverse compartimente ale matematicii. Maple mai dispune de o grafică puternică şi foarte

uşor de utilizat, de o arhitectură modulară, care permite adăugarea de noi proceduri şi funcŃii.

103

Programul Maple operează deopotrivă cu numere întregi, fracŃionare şi aproximative, ceea ce-i permite sistemului să returneze rezultatele rezolvării problemei cu o exactitate ideală (exactitate infinită). Cu Maple soluŃia multor probleme poate fi obŃinută nu numai numeric, ci şi sub formă analitică, adică cu ajutorul unor formule. Din această cauză se mai spune că Maple este un program de matematici simbolice. În zilele noastre Maple cu versiunile sale (Maple V, Maple 6 – 9 şi recenta versiune Maple 10) este cel mai performant sistem de calcule matematice în stare să realizeze cele mai complexe proiecte. Maple execută transformări şi simplificări algebrice complexe; calculează sume şi produse finite şi infinite, limite şi integrale; rezolvă numeric şi analitic sisteme algebrice (şi transcendente) de ecuaŃii şi inecuaŃii; calculează determinanŃii matricelor cu elemente simboluri matematice; determină toate rădăcinile unui polinom; determină numeric şi analitic soluŃia sistemului de ecuaŃii diferenŃiale ordinare, precum şi a unor clase de ecuaŃii cu derivate parŃiale etc. Scrierea unui program în Maple este foarte simplă, fiind vorba doar de aplicarea

unor comenzi formate din termeni uzuali din vorbirea curentă. Complexitatea programelor

şi procedurilor depinde numai de utilizator, deoarece peste 80% din miile de comenzi Maple sunt de fapt programe Maple. Programele Maple pot fi modificate şi extinse în aşa mod încât să ofere utilizatorului soluŃiile optime ale problemei în cauză.

8.1.2. Fereastră Maple Lansarea sistemului Maple se efectuează prin comenzi specifice sistemului de operare pe care este instalat. Vom considera în continuare sistemul de operare Windows, caz în care lansarea se face prin activarea •

icon-ului Maple sau



aplicaŃiei Maple din directorul în care a fost instalat sistemul Maple.

În urma efectuării acestei comenzi se deschide o fereastră (vezi fig.8.1) în care apare prompterul „ > ” specific sistemului Maple.

104

Fig. 8.1. Aspectul general al ferestrei sistemului Maple

Sistemul Maple devine în acest fel interactiv, adică la fiecare comandă sau funcŃie tastată şi urmată de „ ; ” sau „ : ” şi, bineînŃeles, acceptată de Maple (editarea comenzii sau funcŃiei încheindu-se prin Enter), sistemul o execută şi afişează pe ecran rezultatul, dacă este cazul. Fereastra Maple (vezi fig.8.1), la fel ca alte aplicaŃii de genul acesta, este o fereastră Windows şi constă din Titlul ferestrei (pătrăŃelul 1) după care imediat urmează Bara meniului de bază (pătrăŃelul 2) care conŃine butoanele File, Edit, Wiew, Insert,

Format, Spreadsheet, Options, Window şi Help. Sub bara meniului de bază se află Panoul instrumentelor de bază (pătrăŃelul 3) cu butoane ce repetă cele mai des utilizate comenzi ale meniului de bază. Un clic pe buton este suficient ca comanda să fie îndeplinită. Mai jos de panoul de instrumente se află Panoul contextual (pătrăŃelul 4) forma căruia depinde de poziŃia cursorului. Câmpul de lucru (pătrăŃelul 5) ocupă cea mai mare suprafaŃă a ferestrei interfeŃei. Din câmpul de lucru fac parte Foile de lucru Maple. InterfaŃa sistemului Maple este de tipul multe documente şi permite lucrul cu mai multe foi, care şi formează aşa-numitele Documente Maple. În partea de jos a ferestrei se află Linia stare (pătrăŃelul 6) care are în componenŃa sa mai mulŃi parametri caracteristici sistemului Maple, precum şi o scurtă informaŃie referitoare la comanda aleasă sau la butonul panoululi de instrumente. Meniul de bază, la rândul său, constă din: •

File – comenzi standard pentru operare cu fişiere;

105



Edit – comenzi standard pentru redactarea unui text;



View – comenzi standard de gestionare cu structura ferestrei Maple;



Insert– inserarea diverselor texte, grafice 2- şi 3-dimensionale;



Options– stabilirea diverşilor parametri;



Windows – comenzi pentru a trece de la o foaie de lucru la alta;



Help – conŃine informaŃie despre sistemul Maple. Dialogul dintre utilizator şi sistemul Maple este organizat sub forma unei sesiuni –

utilizatorul introduce solicitările ce Ńin de soluŃionarea unei probleme (comenzi, expresii, proceduri) care sunt preluate şi prelucrate de sistem. InformaŃia introdusă şi rezultatele prelucrării ei compun Foaia de lucru care este formată din: 1. domeniul de introducere (înregistrare) – conŃine linii comenzi şi începe cu prompterul ”>”(vezi pătrăŃelele 1 din fig.8.2); 2. domeniul de afişare – conŃine rezultatele prelucrării informaŃiei introduse: expresii analitice, obiecte grafice sau comunicări despre erorile comise (vezi pătrăŃelele 2 ale fig.8.2); 3. domeniul comentariilor text – explică modul de funcŃionare al procedurilor. InformaŃia liniei text nu este prelucrată de Maple. O linie comandă poate fi transformată într-o linie text prin intermediul butonului la linia iniŃială (linia text → linia comandă ) se apasă

. Pentru revenirea .

Domeniul de înregistrare a informaŃiei şi domeniul de afişare formează aşa-numitul grup de calcule, care este marcat în stânga de o paranteză pătrată. Un grup de calcule poate conŃine mai multe domenii de înregistrare şi, respectiv, domenii de afişare.

106

Fig.8.2. Foaie Maple

Ceea ce caracterizează, însă, un grup este că toate instrucŃiunile grupului se îndeplinesc la o singură apăsare Enter, adică toate instrucŃiunile domeniului de lucru vor fi îndeplinite.

Fig.8.3. Domeniul de afişare

Exemple 1) Cu ajutorul secvenŃei > 2*5^3/125-x^2*sin(z-Pi)-13/52; 7 + x 2 sin( z ) 4

107

# programul a îndeplinit toate operaŃiile indicate în expresia înscrisă în linia stare şi a afişat rezultatul 7 + x 2 sin( z ) . Mai mult, observăm că programul a 4

făcut şi unele modificări: a simplificat fracŃia −

13 1 =− . 52 4

2) Expresia −

48 + sin 4 x + cos 4 x 64

poate fi simplificată cu ajutorul comenzii combine( ) după cum urmează

> combine(-48/64+sin(x)^4+cos(x)^4; 1 cos(4 x ) 4

Şi în cazul acestui exemplu sistemul a executat simplificările posibile. Din cursul de trigonometrie se ştie că prin intermediul formulelor sin 4 α =

1 1 (cos 4 x − 4 cos 2 x + 3) şi cos 4 α = (cos 4 x + 4 cos 2 x + 3) 8 8

rezultă relaŃia sin 4 α + cos 4 α =

3 1 + cos 4 x . Programul a efectuat, de sine 4 4

stătător, şi a redus termenii, adică

3 1 48 1 + cos 4 x − = cos 4 x . 4 4 64 4

Expresiile în Maple dispun nume. Operatorul de atribuire este „:=”. În cazul în care expresia are un nume poate fi afişat doar numele acesteia.

Exemplu Să se atribuie expresiei −

39 + sin 4 x + cos 4 x numele C. Acest lucru se 52

108

obŃine cu

> C:=(-39/52+sin(x)^4+cos(x)^4; C := −

3 + sin( x ) 4 + cos( x ) 4 4

Programul a simplificat fracŃia -

39 . Cu ajutorul comenzii combine( ) 52

programul simplifică expresia C := − 3 + sin( x)4 + cos( x) 4 , atribuindu-i un alt 4

nume > R:= combine(C); 1 4

R:= cos(4 x)

Acum apelând la R, obŃinem rezultatul de mai înainte:

> R; 1 cos(4 x ) 4

Acelaşi rezultat se obŃine şi dacă

> C := combine(C); C;

C :=

1 cos(4 x ) 4

1 cos(4 x ) 4

Maple este un limbaj al expresiilor. Expresiile în Maple conŃin operatori sau caractere speciale, funcŃii şi nume de variabile. Expresiile introduse de utilizator se

afişează pe ecran (pe spaŃiul de lucru) şi sunt interpretate şi evaluate de instrucŃiunile programului. InstrucŃiunile (comenzile) Maple, de cele mai multe ori, au forma > variabilă: = expresie ;

109

fiind foarte scurte şi extrem de simple, se mai numesc instrucŃiuni-expresie. Maple mai admite încă un tip de instrucŃiuni şi anume instrucŃiuni-procedură:

> Nume_comandă (argument, opŃiuni); Numele unei comenzi, de regulă, corespunde menirii acesteia. Astfel, sum

înseamnă sumă, det – determinant, int – integrală, intparts - integrare prin părŃi,

max – maximum, select – selecŃie, solve – rezolvare, subs – substituire, inverse – inversă, evalt – evaluare, simplify – simplificare, expr – expresie, combine – combinaŃie, sqrt – radical de ordinul doi etc. Toate instrucŃiunile Maple pot fi consultate. Pentru aceasta este necesar ca după

„?” să urmeze denumirea (chiar şi ipotetică) a instrucŃiunii, urmată de Enter sau clic

pe

.

După această scurtă expunere a unor comenzi cititorul este invitat să înceapă să experimenteze cu Maple, să rezolve cât mai multe şi diverse probleme. În felul acesta va acumula noi cunoştinŃe despre sistemul Maple. Totodată, pentru o mai profundă cunoaştere a programului, este bine să ştim structura acestuia, parametrii instrucŃiunilor şi alte noŃiuni legate de acest sistem.

8.2. Obiecte Maple 8.2.1. Limbajul sistemului Maple

Ca orice alt limbaj algoritmic de programare Maple constă din caractere, expresii, sintaxă. Caracterele limbajului Maple sunt literele mari şi mici ale alfabetului latin,

cifrele arabe şi încă 32 de caractere speciale, dintre care menŃionăm: _ , ;, :, -, *, /, ^, !, =, <, >, (, ), [, ], {, }, « , %, #, ? etc. Sintaxa cuprinde regulile de înscriere a cuvintelor în propoziŃii şi determină

sensul dat de Maple când primeşte o comandă. Dacă comanda, din punct de vedere

110

sinacsic, nu este scrisă corect Maple semnalizează acest fapt printr-un mesaj de tipul syntax error, indicând totodată şi locul unde a fost comisă eroarea. Exemple >

++7; Syntax error, `+` unexpected

Sistemul Maple nu admite consecutiv două semne"+". În Maple există mai multe forme de scriere a numerelor cu virgulă mobilă:

> 3.7e-3, 3.7E-03, +0.0037 ; .0037, .0037, .0037

> Float(14142, -4) ; 1.4142 > 5.e-4 ; Syntax error, missing operator or `;` Scrierea corectă este 5.0e-4 (între punctul zecimal şi sufixul exponential neaparat trebuie să fie o cifră) si returnează .0050

Cuvinte rezervate sau cuvinte-chee în Maple sunt cuvintele cu sensuri speciale

care în programe nu pot fi folosite ca variabile.

Exemple Iată câteva cuvinte rezervate în Maple:

of, then, else, fi, for, in, by, to, while, do, od, proc, local, end, option, global, read, stop, union, minus, or, not şi altele.

111

Separatori Maple. În Maple pentru separarea uor expresii, comenzi, funcŃii se

folosesc spaŃiile sau semnele de punctuaŃie. Pentru obŃinerea spaŃiilor între simboluri (sau expresii) pot fi folosite tastele: Space, Tab, Enter. SpaŃiul liber (blank) se obŃine cu ajutorul tastelor Space sau Tab, iar un spaŃiu între linii – cu tasta Enter. Semnele „:” şi „;” se folosesc pentru separarea expresiilor (propoziŃiilor). Deosebirea dintre ele este următoarea: semnul „:” în cadrul unei sesiuni interactive nu permite afeşarea rezultatului executării operaŃiei. Expresiile precedate de semnul # fac parte dintr-un comentariu (nu influenŃează programul Maple). Exemple x:=y ;

>

x := y

>

x:=y ; Syntax error, `=` unexpected

Eroarea apare în urma scrierii incorecte: între „:” şi „=” este un spaŃiu liber. SpaŃiile libere nu sunt admise în interiorul lexemelor.

> C := 2*t + x*z ; # 11 septembrie 2001 a fost ziua atentatului sângeros asupra Americii C := 2 t + y z Tot ce urmează după semnul # nu este luat în considerare de programul Maple.

ConŃinutului unei comenzi poate fi transferat şi în altă linie dacă se acŃionează Shift-Enter.

112

8.2.2. Obiecte Maple

Expresii Expresii. Expresiile sunt noŃiunile de bază cu care operează Maple. O expresie

constă dintr-un nume, formule şi diverse tipuri de date. Ordinea executării operaŃiilor în expresie este cea cunoscută în matematica elementară: operaŃiile din paranteze, apoi ridicarea la putere, pe urmă înmulŃirea şi împărŃirea şi, în sfârşit, adunarea şi scăderea. În cazul când pentru determinarea ordinii operaŃiilor unei expresii există mai multe sensuri se folosesc parantezele rotunde„(, )”. Maple operează cu numere şi nume unite între ele cu operatori matematici: + (adunare), - (scădere), * (înmulŃire), / (împărŃire), ^ (ridicare la putere), @ (compoziŃie) etc. Practic, lungimea unei expresii nu este limitată. Exemple 1)

Expresii scrise în Maple precum şi rezultatul acestora afişat pe ecran:

> a – b + c/d;

a-b+



c d

> 5*t^3 + 2*t^2 – t + 19.37; 5 t3 + 2 t2 - t + 19.37

> x^2/9 - y^2/25; 1 2 1 2 x − y 9 25

2)

> 6 + 8*5 - 4 + 16 ;

58

> (6+8)*5-4+16; 82

> (6+8)*(5-4)+16; 30

113

> (a+b+c)/(a*c); a+b+c ac

Dacă expresia conŃine paranteze de prisos analizatorul sintaxic le va omite. Deseori se confundă x/y*z cu x/(x*y) sau cu (x/y)*z. Rezultatele acestor secvenŃe sunt: xz x xz , , . y yz y Numere. Cele mai simple obiecte, totodată şi cele mai simple expresii, cu care

operează Maple sunt cele legate de numere, linii şi nume. Numere întregi şi raŃionale. Maple deopotrivă operează cu numere scrise sub forma

zecimală şi cea fraŃionară. Numerele întregi sunt succesiuni formate din una sau mai multe cifre. Cifra zero de la începutul unui număr întreg este neglijată de programul Maple. Numerele fracŃionare au în componenŃa lor operatorul de împărŃire (/) pentru a evidenŃia numărătorul şi numitorul. Exemple > 00059300461254000; 59300461254000

> - 06354129087; -6354129087

> + 946713248295100; 946713248295100

Constante matematice. Printre constantele matematice fac parte:

114



Pi



exp(1)



I



infinity – infinit;



-infinity



true, false – constante din algebra Bool, etc.

– 3,141592653589793238462643…; – baza logaritmului natural; –

− 1 (unitatea imaginară);

– minus infinit;

1 şi 3 nu 0,33333… ) este un avantaj al algebrei simbolice. De regulă, valorile exacte se Posibilitatea exprimării valorilor numerice sub forma lor exactă (de exemplu,

păstrează pe întreg mersul calculelor. În anumite cazuri valorile exacte se transformă în valori aproximative. Se întâmplă acest lucru atunci când expresiile conŃin mai multe tipuri de date.

Exemple > 2/7 + 5; 37 7

> 2/7 + 5.0; 5.285714286

> Pi/3; Pi/3.0;

1 Pi 3 .3333333333 Pi

Linii. Succesiunea formată din caractere de orice natură şi cuprinsă între ghilimele

inverse („`”) poartă denumirea de linie Maple. Imaginea ghilimelelor corespunde 115

apostrofului. Caracterele speciale ( +, ., / etc ) pot fi parte componentă a unei linii numai dacă sunt cuprinse între ghilimele, de altfel sunt interpretate ca operatori.

Exemple > `Grigore

C.

Moisil

este

cel

care

a

pus

bazele

informaticii în România`; Grigore C. Moisil este cel care a pus bazele informaticii în România

> `27x + 5xyz - 3x`; 27x + 5xyz - 3x Semnele + , - fac parte din componenŃa liniei. La fel şi semnul / din exemplul ce urmează. Este parte componentă a liniei

> ` mat.inv.exist./det.dif.zero`; mat.inv.exist./det.dif.zero

> 27*x +5*x*y*z - 3*x; # Deoarece expresia nu conŃine ghilimele rezultă că + şi – sunt operatori matematici

24x + 5xyz

> integ.def; integdef

Nume. Prin nume în Maple se înŃelege o linie formată din caractere (a – z, A – Z),

cifre ( 0 – 9) şi semnul _ (spaŃiu). Numele, la fel ca numerele întregi, pot avea o lungime „infinită”. Numele Matematica1 este diferit de numele matematica1. Orice linie, adică orice secvenŃă de semne, luată între ghilimele inverse, poate fi un nume. Numele indicat de o linie formată din semne permise coincide cu numele format din aceleaşi semne fără ghilimele. Astfel, `Matematica1` şi Matematica1 este unul şi acelaşi nume. Ghilimelele inverse permit includerea ghilimelelor în textul unei linii. FuncŃia type deosebeşte nume de tip linie – string şi nume indexate – indexed. Exemple > 2*m^3 - 3 ;

116

2m3 – 3

> t : = 5 ; t^2 - 9*t + 10; t := 5 -10

> `ghilimele `` inverse`;`dintr``un număr`; ghilimele `inverse dintr`un număr

> length(0), length(147), length(`Maple este un de

programe

matematice`),

pachet

length(abc),

length(x+7*x^2+11); 0, 3, 44, 3, 18

> P[3,4], B[i,2*k-3*m-1], M[3][7], aliaj[Fe,Cu][1,2]; P3,4, Bi,2k-3m-1, Μ 37 , aliaj Fe,Cu1,2 ]

>

e:=A[1,2]+A[2,1]-a[1,1]*a[2,2];

e := Α1,2 + Α 2,1 -

a1,1a2,2

Ghilimele. După cum rezultă de mai sus, ghilimelele inverse servesc la crearea

liniilor. Sistemul Maple mai utilizează şi aşa-numitele ghilimele de accentuare. Pentru a avea acces la rezultatul unei comenzi, acesteia i se va atribui un nume. Prin urmare, operatorul cuprins între ghilimele drepte, se eliberează de ele la o introducere. Altfel spus, executarea se va întrerupe la o trecere prin analizatorul sintactic, adică de fiecare dată când analizatorul sintactic întâlneşte o expresie luată în ghilimele drepte suprimă partea exterioară a lor. Exemple

> ''factor(x^3 - 2*x^2 - 3)''; 'factor(x3 - 2 x2 - 3)'

> 'factor(x^3 - 2*x^2 - 3)'; factor(x3 - 2 x2 - 3)

117

> factor(x^3 - 2*x^2 - 3); x3 - 2 x2 - 3

> ''cos''(Pi) ; 'cos'( π )

> 'cos'(Pi); cos( π )

> cos(Pi); -1

Şiruri.

Mai multe expresii separate prin virgule formează un şir (o

consecutivitate) de expresii. Majoritatea comenzilor Maple folosesc şiruri de expresii sub formă de parametri. Modul cel mai simplu de creare a unui şir este introducerea

consecutivă a expresiilor. Exemple > 2*a+a,2*b+c,2*c+d,m*n+3*p-q;11,12,

13,sqrt(3),

exp(2); 3 a, 2 b + c, 2 c + d, m n + 3 p - q 11, 12, 13, 3 , e 2

> a, d, c+k, 2*3, 7*sqrt(2); a, d, c + k, 6, 7

2

Alt mod de creare a şirurilor este utilizarea operatorului„$”( de unul singur sau împreună cu operatorul multe puncte „ ..”(zonă). Cu ajutorul operatorului „$” se obŃin succesiuni ordonate.

118

Exemple > m$8 ; m, m, m, m, m, m, m, m

> $1..5; 1, 2, 3, 4, 5

> k^3 $ k = - 2..6; -8, -1, 0, 1, 8, 27, 64, 125, 216

> 2*i^2 $ i = - 4..6; 32, 18, 8, 2, 0, 2, 8, 18, 32, 50, 72

> m[i] $i = - 1..5; m-1, m0, m1, m2, m3, m4, m5

Altă modalitate de formare a şirurilor este aplicarea comenzii seq. Această comandă este de mare folos când se doreşte efectuarea rapidă a calculelor. Exemple > seq(i^2/(i!+1), i = 1..7); 1 4 9 16 25 36 49 , , , , , , 2 3 7 25 121 721 5041

> seq(D(f),f=[sqrt,cos^2,tan,ln,exp,1/sin]); # D este operatorul de derivare 1 1 cos 1 , -2 sin cos, 1 + tan2 , a -> , exp, 2 sqrt a sin 2

119

> max(exp(1),sin(3*Pi/6),sqrt(10),Pi,int(x^2,x

=

2..3)); 19 , 3 3

deoarece ∫ x 2 dx = 2

19 . 3

MulŃime. Sistemul Maple conŃine două noŃiuni importante: noŃiunea de mulŃime şi cea de listă. Prin mulŃime se înŃelege o secvenŃă neordonată de expresii cuprinse între acoladele { }. Orice expresie admisibilă în Maple este parte componentă a unei mulŃimi. Elementele mulŃimii care se repetă sunt excluse de sistem în mod automat şi se rearanjează într-o manieră convenŃională. Sistemul Maple prevede trei operatori care operează cu mulŃimi:

union (uneşte elementele a două mulŃimi în una singură), intersect (creează o mulŃime cu elemente comune ale mulŃimilor componente) şi operatorul minus (exclude din prim mulŃime elementele celeilalte mulŃimi). Exemple >{`verde`,`negru`,`write`,+743.569,`club Internet`}; {club Internet, 743.569, verde, negru, write}

> { -1, -1, -2, -3, 2, -2 }, {a[1], a, c[1], a[1], c[1]}; {-1, -2, 2, -3}, {a1, a, c1 } În secvenŃele indicate elementele -1 şi -2 precum a1 şi c1 se repetă pe când rezultatul este returnat fără repetări

> {x, x, y, z, t,11}union{y, t, 11, 11, 17}; {11, 17, x, y, t, z}

120

> {x, x, y, z, t, 11}intersect{y, t, 11, 11, 17}; {11, y, t}

> {a1, a2, a3}minus{a1, b1, b2}; {x, x, y, z, t, 11}minus{y, t, 11, 11, 17}; {a2, a3} {x, z}

Listă. Un şir de expresii luate între paranteze pătrate „ [, ] ”) poartă denumirea de

listă. Listele, spre deosebire de mulŃimi, sunt obiecte ordonate în sensul că ordinea

expresiilor în listă se păstrează întocmai pe întreg parcursul calculelor. Elementele care se repetă nu sunt excluse din listă. Exemple > [0, 1, -3.75,sqrt(2.3), 4, 3, 2^3, 1]; [t, y/y^2,m,x^3]; [0, 1, -3.75, 1.516575089, 4, 3 , 8, 1]

[

t,

1 , m, x3 y

]

> [a[1], a, c[1], a[1], c[1]]; [a1, a, c1, a1, c1 ]

> [{m,a,c}, {c,a,m}, {s, o, f, t, w, a, r, e}]; [{m, c, a}, {m, c, a}, {t, f, r, s, a, w, o, e}] Elementele ultimei liste sunt mulŃimi. Dacă ordinea elementelor unei mulŃimi poate fi modificată nu acelaşi lucru se poate spune de ordinea elementelor unei liste. Ordinea iniŃială a listei din memorie nu se modifică.

121

Maple prevede comenzi şi pentru efectuarea de operaŃii cu elementele listelor.

Printre aceste comenzi fac parte: select( ), remove( ), zip( ) şi sort( ). Cu comanda select(parametrul1, parametrul2), în dependenŃă de regula indicată ( o relaŃie logică – parametrul1) în listă (parametrul2) se selectează elementele şi se returnează întro listă, păstrându-li-se ordinea. Comanda remove( ) exclude din listă elementele care nu respectă regula stabilită şi returnează lista elementelor rămase. Două liste mai pot fi unite în una singură cu ajutorul comenzii op( ). Dacă însă unirea se face în conformitate cu o anumită regulă, atunci se aplică comanda zip( ). Primul parametru indică regula de unire a perechilor de elemente Comanda sort( ) sortează liste în conformitate cu o anumită lege dată. În acest caz parametrul1 este o listă, pe când parametrul2 – o regulă. Exemple

> M:= array([x, sin(x), sqrt(x), y]); # Dacă name se referă la un tablou sau array, atunci Maple returnează intrările tabloului(sau array) M := [x, sin(x),

>

M[3];

x , y]

# Maple execută o selecŃie a listei propuse, anume elementul 3 din listă

x

> large := t-> is( t>5 ); large := t -> is( 5 < t )

> d := [-8, 2, 0, 105, 2*Pi, sin(5), 5.5*cos(6)]; d := [-8, 2, 0, 105, 2 Pi, sin(5), 5.5 cos(6)]

> select(large,d); [105, 2 Pi, 5.5 cos(6)]

> remove(large,d); [-8, 2, 0, sin(5)]

Mai există şi comanda type( ), care selectează elemente de un anumit tip.

122

Exemple

> select (type,d,numeric); [-8, 2, 0, 105] Fie date listele A:= [seq(ithprime(i), i = 1..6)]; B:= [seq(binomial(6,i), i=1..6)]; A := [2, 3, 5, 7, 11, 13] B := [6, 15, 20, 15, 6, 1] Listele A şi B pot fi unite într-o listă dacă se aplică secvenŃa > [ op(A), op(B)];

[2, 3, 5, 7, 11, 13, 6, 15, 20, 15, 6, 1]

> zip((a,b) -> {a,b}, A, B); [{2, 6}, {3, 15}, {5, 20}, {7, 15}, {6, 11}, {1, 13}]

> pare:=(a,b) -> [a,b]; Cu secvenŃele > pare := (a, b) -> [a, b] : şi > C:=zip(pare,A,B); se obŃine o listă de liste: C := [[2, 6], [3, 15], [5, 20], [7, 15], [11, 6], [13, 1]] Lista de liste ajută la construirea graficelor. Astfel, pentru lista de liste > M:= [[0,0],[2,5], [5, 7], [8,13],[8.76,12],[11, 6],[12.7,9], [15,0]]; M := [[0, 0], [2, 5], [5, 7], [8, 13], [8.76, 12], [11, 6], [12.7, 9], [15, 0]]

prin intermediul comenzii plot se obtine graficul din fig.8.4

> plot(M);

123

Fig.8.4

Iată şi câteva cazuri de ordonare:

> sort([3.75,5,21/3,1.15],(x,y)->evalb(x>y)); # se scriu elementele listei conform legii indicare( în cazul dat în ordinea descrescătoare): [7, 5, 3.75, 1.15]

> bf:= (x,y)->is(x is(x < y)

> sort([sqrt(5.6),sqrt(5.67),

Pi,

cos(4.25),

3.69,

int(x^2, x = 0..2)], bf); # ordinea elementelor este cea crescătoare: [-.4460874899, 2.366431913, 2.381176180,

8 , π , 3.69] 3

8.3. Operatori Maple Sistemul Maple admite mai mulŃi operatori: aritmetici, logici, de concatenare, de derivare, de compoziŃie etc. Operatorii au o importanŃă aparte la crearea expresiilor şi efectuarea operaŃiilor matematice.

8.3.1. Operatorul de atribuire

124

Operatorul de atribuire este „:=” şi, de regulă, se aplică în cazurile când unui nume trebuie să i se atribuie o valoare. Dacă unei variabile x i se atribuie o valoare ( de exemplu, 105) apoi, în continuare, i se va atribuie o altă valoare (de exemplu, 17) programul Maple „Ńine minte” doar ultima valoare. Operatorul „=”, spre deosebire de operatorul „:=” , stabileşte o legătură între variabilă şi valoarea expresiei. Operatorul „=” , numit operator-ecuaŃie, se aplică în cazurile când se apelează la parametrii unei comenzi sau când se cer extrase rezultatele calculelor. Unele comenzi Maple funcŃionează doar datorită operatorului „=”. Printre acestea fac parte şi comenzile ce Ńin de rezolvarea diferitor tipuri de ecuaŃii: • solve – rezolvă în mod analitic ecuaŃii liniare şi neliniare, inegalităŃi şi

sisteme de ecuaŃii, • fsolve – rezolvă numeric ecuaŃii liniare şi neliniare, inegalităŃi si sisteme

de ecuaŃii, • dsolve – rezolvă ecuaŃii diferenŃiale ordinare, • rsolve – rezolvă ecuaŃii recurente.

Exemple >a

= b + 21 ; a = b + 21

> a; a

> b; b

> sols:= solve({2*x = 8, x - 2*y = -1}, {x, y}); sols := {x = 4, y =

> x; x

> y; y

125

5 } 2

8.3.2. Ditto – operatori Ditto – operatorii sunt de tip nulari şi se referă la expresiile calculate anterior. Forma acestor operatori este „ % ”, „ %% ” şi „ %%% ”. Operatorul „ % ” recheamă

rezultatul comenzii anterioare, operatorul „ %% ” recheamă rezultatul comenzii executate până la rezultatul anterior şi, în sfârşit, „%%%” recheamă rezultatul de mai înainte.

Exemplu Să se calculeze soluŃia sistemului de ecuaŃii liniare

 2 x1 + x 2 + 2 x 3 = 1,   3x1 + 4 x 2 + x 3 = 2, 4 x − 3x + 3x = 3. 2 3  1 Stabilim cinci semne după virgulă (comanda Digits()) şi scriem sistemul:

> Digits:=5:2*x[1]+x[2]+2*x[3]=1;3*x[1]4*x[2]+x[3]=2;4*x[1]-3*x[2]+3*x[3]=3; 2 x1 + x2 + 2 x3 = 1 3 x1 − 4 x2 + x3 = 2

4 x1 − 3 x2 + 3 x3 = 3

> solve({%,%%,%%%},{x[1],x[2],x[3]}); evalf(%);# Parametrii %, %%, %%% din parantezele figurate a comenzii solve( ) înseamnă adresarea către ecuaŃia a treia (%), ecuaŃia a doua (%%) şi prima ecuaŃie (%%%). Argumentul comenzii evalf( ) înseamnă rezultatul returnat de comanda solve( ), adică soluŃia x1 = 0, x 2 =

2 1 , x3 = − transformată în fracŃie 3 3

zecimală 2 -1 { x 1 = 0 , x 3 = , x2 = } 3 3 { x 1 = 0. , x 3 = 0.66667 , x 2 = -0.33333 }

126

8.3.3. Operatorul de concatenare

Reuniunea mai multor linii în una singură poate fi obŃinută şi cu ajutorul operatorului

cat ( `A`, `B`, `C`, …) unde `A`, `B`, …sunt linii. Comanda returnează linia `ABC…`. Un instrument util pentru formarea de nume şi linii este şi semnul de concatenare„.” (punct), cu ajutorul căruia pot fi create mulŃimi de nume.

Exemple > cat(`Mihai Eminescu-` , `poetul nepereche`); Mihai Eminescu-poetul nepereche

> seq(nume.i, i=2..6); nume2, nume3, nume4, nume5, nume6

> add(M.k,

k=1..5); M1 + M2 + M3 + M4 + M5

8.3.4. Operatorul de compoziŃie Operatorul de compoziŃie se aplică la crearea funcŃiilor compuse şi are forma: •

f@g când se doreşte crearea compoziŃiei funcŃiilor f şi g sau



f@@n când se aplică f de n ori.

Exemple > (ln@sin)(x); ln(sin(x))

127

> > f:= x -> 2/(1+x^2); (f@@6)(x); 2 f := x → 1 + x2 2 4

1+  1 +       

 2  4  1 +   2   4  1 +     2     4          1 +  2      2   ( 1 + x )        4

2

> g:=t->sqrt(t)/(1-t^4);(g@@3)(t); g := t →

1− 1−

t 1 − t4

t 1 − t4 t2 ( 1 − t4 ) t

4

t2    ( 1 − t )  1 − 4  ( 1 − t 4 )   4

4

2

8.3.5. Operatorul neutru Acest operator este determinat de utilizator. Numele unui astfel de operator trebuie să înceapă neapărat cu caracterul &

urmat de caractere permise. Nu pot fi părŃi

componente ale operatorului caracterele &, ( ), [ ], { }, ; , : , ‚” , #, _ etc. Operatorul neutru depinde de următoarele comenzi: •

define (aa(oper)), unde oper este un nume a operatorului, aa este nume a obiectului,

128

• define (oper, propriety1, propriety2, …), unde oper este nume, iar propriety sunt proprietăŃi ale operatorului. Cu aceste comenzi se determină regulile pentru calcule şi de simplificare ale operatorului.

Exemplu > define(Linear(`&L`)); > &L(5*(x^2)+3*(y+2*x) – 8x); 5 &L(x2) + 3 &L(y) - 2 &L(x)

8.4. FuncŃii Maple Maple oferă mai multe posibilităŃi de prezentare a funcŃiilor. Mai întâi, dacă expresiei i se atribuie un nume, acest lucru înseamnă că numele propriu-zis este o funcŃie în raport cu variabilele care fac parte din expresie.

Exemplu > h := x^3 - 5*sin(x) + 7*cos(x)^2 - 4.575: > h; x3 - 5 sin(x) + 7 cos(x)2 - 4.575 Prin intermediul operatorului „:=" variabila h coincide cu valoarea expresiei x3-5sin(x)+7cos(x)2-4.575 . Introducând acum

> x; # în cazul dat variabila x nu are o valoare numerică x Dacă însă

> x := 3;

129

x := 3

> h; # h va primi valoarea : 22.425 - 5 sin(3) + 7 cos(3)2 sau, dacă se aplică ditto operatorul, rezultă că

> evalf(%); 28.57999596 adică am obŃinut valoarea expresiei x3 - 5 sin(x) + 7 cos(x)2 - 4.575 pentru x = 3. Prin urmare, variabila h este valoarea expresiei matematice cu numele h. Pentru diverse valori atribuite variabilei x şi h va primi valori diferite. Prin urmare, variabila h este o funcŃie de x.

Maple conŃine un număr mare de funcŃii: funcŃii standard şi funcŃii speciale. Iată lista unora din aceste funcŃii (vezi tab. 8.1) Tabelul 8.1. FuncŃii standard

Scriere matematică

Scriere în

Scriere matematică

Scriere în

Maple exp(x)

cosecx

Maple csc(x)

lnx

ln(x)

arcsinx

arcsin(x)

lgx

log10(x)

arccosx

arccos(x)

logax

log[a](x)

arctgx

arctan(x)

√x

sqrt(x)

arcctgx

arccot(x)

|x|

abs(x)

shx

sinh(x)

sinx

sin(x)

chx

cosh(x)

cosx

cos(x)

thx

tanh(x)

tgx

tan(x)

cthx

coth(x)

ctgx

cot(x)

δ (x)

dirac(x)

secx

sec(x)

θ (x)

Heaviside(x)

e

x

Variabila h poate fi variabilă şi pentru alŃi operatori de atribuire. 130

Exemplu

> y:= 2*h^2-sqrt(13.5)*h + 2;# h este variabilă pentru expresia y y := 2 (22.425 - 5 sin(3) + 7 cos(3)2 )2 --80.39471122 + 18.37117307 sin(3) – 25.71964230 cos(3)2

> evalf(%); 1530.622728

8.5. Structuri Maple Expresiile sunt formate din mai multe tipuri de obiecte. Printre acestea fac parte

string, interger, fraction, float, function, operatorii aritmetici +, *, ^ etc. Tipul obiectului poate fi definit cu ajutorul comenzii whattype( ).

Exemple > whattype(21/315); fraction

> whattype([a1,a2,a3,a4,a5,a6]); list

> whattype([3,4,7,8,9,13],[a[1],a[2],a[3]]); exprseq

> whattype((z^3

+ 2*z -7)*(x - y));

*

Tipul obiectului de asemenea poate fi consultat în orice moment însă nu poate fi afişat dinnainte aşa cum se procedează, de exemplu, în limbajul Fortran când tipul

131

variabilei se stabileşte pe întreg parcursul funcŃionării programului. Tipul variabilei poate fi obŃinut cu ajutorul comenzii type( ).

Exemple > H:=

`

România - Ńară pitorească`; M:= `Maple este un

program universal de calcule matematice`; H := România - Ńară pitorească M:= Maple este un program universal de calcule matematice

> type(H,

integer);

type

(M,

fraction);

type(M,

string); false false true > whattype ( x= z^3 +z - 1);

=

Analiza structurii obiectelor se efectuează cu comanda hastype( ). În felul acesta se stabileşte dacă un obiect conŃine subobiecte de un anumit tip. Comanda

has( ), la

rândul ei, indică dacă în componenŃa obiectului se conŃine un anumit subobiect.

Exemple > hastype(205 +13/15, fraction); hastype(205+13/15, integer); true false

> hastype(x^2-7*x-5, `*`); true

> hastype(x^2-7*x-5, -5); true

> has(x^2-7*x-5, 2*x); has(x^2-7*x-5, -7*x); 132

false true

>

hastype(int(sin(sqrt(x)), x), fraction); int(sin(sqrt(x)),n x); true 2 sin(

x ) - 2 x cos( x )

Orice obiect Maple constă din subobiecte care, la rândul lor, au în componenŃa lor obiecte de alt tip (de un nivel mai mic) şi tot aşa până când se va ajunge la obiectele de bază. Mijloacele Maple permit examinarea şi extragerea elementelor bazice care fac parte din obiect. Această posibilitate este de mare folos atunci când se operează cu obiecte mari. Pentru astfel de cazuri sunt prevăzute comenzile op( ) şi nops( ), care se referă în mod direct la tipului obiectului. În cazul când obiectul supus analizei este o expresie comanda nops( ) va indica numele subobiectului (expresiei) de prim nivel care este parte componentă a obiectului, iar comanda op( ) poate fi aplicată pentru evidenŃierea acestor subobiecte.

Exemple > f:=6.5*x^(1/3) + 3*sin(x)^2*cos(x) + 2*sqrt(x) –3*x– f := 6.5 x

>

1/ 3

+ 3sin(x)2cos(x) + 2

7;

x –3x–7

nops(f); # numărul obiectelor expresiei

5

> op(f); # obiectele componente ale expresiei 6.5 x

1/ 3

, 3sin(x)2 cos(x), 2

x , –3 x, –7

Comanda op( ) poate fi folosită şi la extragerea elementelor individuale ale expresiei sau, dacă se aplică de mai multe ori, poate să „coboare” până la subobiecte.

133

Exemple > g:= 3*x^3+x*sin(x)-2/cos(x)+23; d:= f; 3

g := 3 x + x sin(x) -

d := 6.5

x1 / 3

2 cos( x )

+ 23

+ 3sin(x)2cos(x) + 2

x

–3x–7

> op(1,g); op(2,f); op(3,g); op(4,g); 3

3x

3 sin(x)2 cos (x)

-

2 cos(x ) 23

> x:=Pi/6; g; evalf("); x:=Pi; g; evalf("); x:=3; f; evalf("); x :=

1 π 6

1 3 1 4 π + π− 3 + 23 72 12 3 21.38304104

x := π 3

3 π + 25 118.0188301

x := 3

1/ 3

6.5 ⋅ 3

+ 3 sin(3)2cos(3) + 2

3

- 16 (observăm că

programul în mod automat a calculat –3x – 7 pentru x = 3)

- 3.22042285

> op(1,op(2,g)); op(1,op(1,g)); op(0,op(4,g)); op(2,op(3,g)); x 3 integer

134

1 cos( x )

> whattype(op(2,g); expreseq

> op(0,op(1,g)); integer

Dacă obiectul luat spre examinare este o variabilă cu indice (cu numele N) comanda nops( ) va returna indicele variabilei, comanda op(i, N) va returna indicele i, iar op(0, N) – numele variabilei.

Exemple > nops(A[i, j]); nops(A[m][n]); 2 1

> op(1,A[i,j]); op(1,A[m][n]); i n

> op(0,A[2,3]); A

8.6. OperaŃii analitice cu comenzi Maple

Maple este conceput ca utilizatorul să poată să grupeze termenii unei expresii, să descompună expresiile în factori, să deschidă paranteze, să transforme o fracŃie raŃională

135

în fracŃii elementare etc. Maple mai prevede comenzi pasive şi comenzi active. Comenzile cu forma activă fac calcule imediat, returnând rezultatul pe foaia de lucru, pe când comenzile pasive – afişează doar înscrierea matematica a expresiei. Deosebirea dintre o comandă activă şi una pasivă este că comanda pasivă începe cu o literă mare. Printre comenzile cu două forme amintim cele legate de calcularea derivatei (diff( ) şi Diff( )), integralei (int( ) şi Int( )), sumei (Sum( ) şi sum( )), produsului (product( ) şi

Product( )) etc.

8.6.1. Comanda simplify( ) Expresiile algebrice pot fi aduse la o formă mai simplă cu ajutorul comenzii

simplify( ). În general, problema simplificării în majoritatea sistemelor de calcule analitice nu este simplă. În unele cazuri unele simplificări pot fi considerate simple, iar în alte cazuri, aceleaşi modificări, din alt punct de vedere, se consideră compuse. De exemplu, atunci când se rezolvă o ecuaŃie trigonometrică nu întotdeauna este raŃional să înlocuim sin(x)2 + cos(x)2 cu 1, deşi această operaŃie, fără doar şi poate, este o simplificare. Uneori, însă, e mai bine ca 1 să se prezinte prin suma sin(x)2 + cos(x)2. În Maple comanda simplify( ) operează cu mai multe proceduri: simplify/exp, simplify/ln, simplify/sqrt, simplify/trig, implify/radical,

simplify/power etc.

Exemple Să se aducă la o formă mai simplă expresiile:

a) A =

2 cos ( x ) 2 + 4 sin( x ) cos ( x ) + cos ( x ) + sin( x ) + 1 , 4 cos ( x ) 2 − 2 sin( x ) cos ( x ) + 3 cos ( x ) + 3 sin( x ) − 3

b) B = 2

3π π sin( π − α ) + tan ( π − α ) tan  + α  + sin + α  cos( α − 2 π ) ,  2  2  2

2

3 3 2 2 c) C = a − b + 3 a b + 2 c − 3 a b

Avem:

>

simplify(A);

136

1 + sin( x ) cos( x ) > simplify(sin(Pi-alpha)^2+tan(Pi-alpha)^2*tan(3*Pi/2+ alpha)^2+sin(Pi/2+alpha)*cos(alpha-2*Pi));

2 > B:=sin(Pi-alpha)^2+tan(Pi-alpha)^2*tan(3*Pi/2+ alpha)^2+sin(Pi/2+alpha)*cos(alpha-2*Pi); # Observăm că sistemul şi fără comanda simplify( ) a adus expresia la o formă mai simplă

B := sin( α ) 2 + tan ( α ) 2 cot ( α ) 2 + cos( α ) 2 > simplify(B);

2 > C:=a^3-b^3+3*a^2*b+2*c-3*a*b^2: simplify(C,{a^33*a*b^2=1,3*a^2*b=b^3});

2c+1

8.6.2. Comanda expand( ) Parantezele într-o expresie algebrică pot fi deschise(închise) cu comanda expand( ). Pentru o fracŃie algebrică comanda deschide paranteze la numărător, apoi împarte fiacare termen al expresiei obŃinute la numitorul fracŃiei fără a efectua transformări. Comanda „ştie să lucreze” cu funcŃii matematice şi „cunoaşte” regulile de deschidere a parantezelor în expresiile care conŃin funcŃiile sin( ), cos( ), tg( ), sh( ), ch( ), th( ),

ln( ), exp( ), abs( ), precum şi un număr mare de funcŃii matematice speciale. Exemple Să se deschidă parantezile în expresiile: 3 2 a) ( x − 3 ) ( x + 4 ) , b) ( x − 2 ) , c) sin( x + y + z ) , d)

( x + 2 )2

( x + 1 ) 2 ( y + 2 z − 3 t ) (faŃă de x+1). Avem > expand((x-3)*(x+4)^2);expand((x-2)^3/(x+2)^2); expand(sin(x+y+z));expand((x+1)^2*(y+2*z-3*t),x+1);

137

x 3 + 5 x 2 − 8 x − 48

x3 6 x2 12 x 8 − + − 2 2 2 (x + 2) ( x + 2 )2 (x + 2) (x + 2)

sin( x ) cos( y ) cos( z ) − sin( x ) sin( y ) sin( z ) + cos( x ) sin( y ) cos( z ) + cos( x ) cos( y ) sin( z ) ( x + 1 )2 y + 2 ( x + 1 )2 z − 3 ( x + 1 )2 t

8.6.3. Comanda factor( ) Un polinom cu coeficienŃi numerici se descompune în factori cu ajutorul comenzii

factor( ). Exemple Să se descompună în factori: > factor(x^3*y+x^3*b+a*x^2*y+a*b*x^2+2*x^2*y^2+2*b*x^2 *y+2*a*x*y^2+2*a*b*x*y+x*y^3+b*x*y^2+a*y^3+a*b*y^2);

( x + y )2 ( y + b ) ( x + a ) > E:=3*sin(x)*cos(x)^2+sin(x)^3-cos(x)^33*sin(x)^2*cos(x):factor(E);

( sin( x ) − cos( x ) ) 3 > factor(4*x^2+16*x-20);

4 (x + 5) (x − 1) > factor(x^3-7,complex);factor(x^3-7,real);

( x + .9564655914 + 1.656647000 I ) ( x + .9564655914 − 1.656647000 I ) ( x − 1.912931183 ) ( x − 1.912931183 ) ( x 2 + 1.912931183 x + 3.659305710 ) > factor(a^3-b^3);

( a − b ) ( a2 + a b + b2 )

138

8.6.4. Comanda normal( ) O fracŃie algebrică poate fi redusă cu comanda normal( ). Dacă parametrul este o listă, o mulŃime, un şir, o ecuaŃie sau o funcŃie comanda se aplică tuturor componentelor parametrului.

Exemple > fracŃie:=1/(x+1) - 1/(x+2) + x/(x+1); fractie :=

1 1 x − + x+1 x+2 x+1

> fracŃie:=normal(fracŃie); fractie :=

x+1 x+2

> normal((x^3+y^3)/(x+y)^3); x2 − y x + y2 ( x + y )2

> normal(sin((x*(x^2-1)+x)/(x^2))); sin( x )

> m:=tan(x/(x+1)-x)^2+cot(-x/(x+1)+x);normal(m); 2

x x m := tan − x  + cot − + x  x + 1 x + 1     2

 x2   x2  tan cot +  x + 1   x + 1 

8.6.5. Comanda combine( ) Gruparea termenilor unei expresii se obŃine cu comanda combine( ). Comanda, practic, „cunoaşte” toate regulile ce Ńin de transformările funcŃiilor matematice elementare.

Exemple > combine(Int(cos(x),x=-Pi..Pi)-Int(sin(x), x=-Pi..Pi));

139

π

⌠ cos( x ) − sin( x ) dx  ⌡−π

> combine(Limit(2^x,x=a)*Limit((2^x)^b,x=a)+C); lim 2

(x + x b)

x→a

+C

> combine(exp(x)*exp(y^3)*exp(ln(cos(alpha)* sin(alpha))),exp);

cos( α ) sin( α ) e

3 (x + y )

> P:=4^sqrt(x)*6^y*7^z*24^t:combine(P, power); combine(x^(cos(a)^2),power);

4

( x)

x

6y 7z 24t

2 ( cos ( a ) )

> combine([8*cos(x)^3*sin(x)-4*sin(x)*cos(x), 8*cos(x)^4-8*cos(x)^2+1],trig);

[ sin( 4 x ), cos( 4 x ) ]

8.6.6. Comanda collect( ) Termenii asemenea pot fi grupaŃi cu comanda collect( ).

Exemple > E:=a*sin(x)-sin(x)*2-a*cos(x)+2*cos(x)*sin(x);

E := a sin( x ) − 2 sin( x ) − a cos( x ) + 2 sin( x ) cos( x ) > F:=collect(E,sin(x));

F := ( a − 2 + 2 cos( x ) ) sin( x ) − a cos( x ) > H:=collect(F,cos(x)); H := ( 2 sin( x ) − a ) cos( x ) + ( a − 2 ) sin( x )

> g:=int(x^2*(exp(x)-exp(-x))+x^2,x);

140

g := x2 e x − 2 x e x + 2 e x +

x2 2 x 2 1 3 + + + x ex ex ex 3

> collect(g,exp(x)); 1 2 x + 2 + x2 ( −2 x + 2 + x2 ) e x + x3 + 3 ex

> collect(g,x); 1 3  1 1 2 x +  x + e x  x 2 +  2 x − 2 e x  x + x + 2 e x e   e  3 e    

8.6.7. Comanda rationalize( ) Cu rationalize( ) se obŃin transformări cu fracŃii numerice şi algebrice. Dacă argumentul funcŃiilor transcendente este o fracŃie cu iraŃionalităŃi la numitor procedura de raŃionalizare nu funcŃionează.

Exemple > expresia_1:=6/(3-sqrt(3)); expresia_1 := 6

1 3− 3

> rationalize(expresia_1); 3+ 3

> expr_2:=(1+3^(1/3))/(1-3^(1/3)); expr_2 :=

1+3

( 1/3 )

1−3

( 1/3 )

> rationalize(%); ( 1/3 ) ( 1/3 ) ( 2/3 ) 1 ) (1 + 3 − (1 + 3 +3 ) 2

> rationalize([x/(x-sqrt(5)),x/(x-sqrt(1+sqrt(5)))]);  x ( x + 5 ) x ( x + 1 + 5 ) ( x 2 − 1 + 5 )  ,   2 x4 − 2 x2 − 4  x −5 

141

> f:=[(x^2-y^2)/(x+sqrt(y)),x^2*y/(x+sqrt(x+sqrt(7)))];

x2 y  x2 − y2  f :=  ,  x + y x + x + 7  > rationalize(f);  ( x2 − y2 ) ( x − y ) x 2 y ( x − x + 7 ) ( x2 − x + 7 )  ,   x2 − y x4 − 2 x 3 + x 2 − 7  

> 1/(1+root(cos(1/(1-sqrt(beta))),3));

1 1  1 + cos  1 − β 

( 1/3 )

> rationalize(%); 1  1 − cos  1 − β   

( 1/3 )

( 2/3 )

1  + cos  1 − β    1   1 + cos  1 − β    > f1:=1/(1-(1+sqrt(alpha))^(1/3));rationalize(%);

1 1 − (1 + α )



1 + (1 + α )

1   3

1   3

+ (1 + α ) α

2   3

8.6.8. Alte comenzi Pentru simplificarea expresiilor, care conŃin radicali de ordin diferit de ordinul doi, se apelează la comanda radnormal( ).

Exemple >sqrt(3+sqrt(3)+(10+6*sqrt(3))^(1/3))=radnormal(sqrt(3 +sqrt(3)+(10+6*sqrt(3))^(1/3)));

142

3 + 3 + ( 10 + 6 3 )

( 1/3 )

=1+ 3

Comanda convert(exp, param) transformă exp în tipul indicat de param. In particular, poate fi transformată o expresie care conŃine sinx şi cosx într-o expresie care va conŃine doar tgx dacă se va indica param = tan sau, invers, tgx, ctgx pot fi transformate în sinx şi cosx dacă se indică parametrul sin sau cos. În general, menirea comanzii convert( ) este convertirea unei expresii în altă expresie. Astfel, de exemplu,

>convert(list, vector); transformă o listă de expresii de un anumit tip într-o listă de alt tip (cu aceleaşi elemente).

143

Capitolul 9 PACHETE ŞI GRAFICĂ MAPLE

9.1. Pachete ale algebrei liniare 9.1.1. NoŃiuni de bază Sistemul Maple dispune de un nucleu şi o bibliotecă cu un număr impresionat de pachete specializate care conŃin comenzi pentru rezolvarea problemelor din cele mai diferite compartimente ale matematicii. Astfel, versiunea Maple 6 are în componenŃă 40 de astfel de pachete, iar Maple 9 deja conŃine 85 de astfel de pacete. Biblioteca de bază conŃine cele mai des folosite comenzi care se încarcă odată cu lansarea sistemului. Dacă, însă, o comandă nu face parte din biblioteca de bază sau din nucleu, utilizatorul este obligat să încarce pachetul în componenŃa căruia se află comanda în cauză sau, pur şi simplu, doar comanda care-l interesează din pachetul respectiv. Comenzile unui pachet se încarcă cu with(nume pachet) sau, dacă se doreşte încărcarea doar a unei comenzi, atunci se apelează la with(nume pachet, nume comandă). Lista celor mai des folosite pachete ale sistemului Maple este următoarea:

alcurves, combinat, genfunc, geometry, geom3d, plots, group, linalg, GF, LinearAlgebra, networks, plottools, powseries, simplex, stats, tensor, DiscreteTransforms, GaussInt, context, LinearOperators, MathematicalFunctions, Sudent,

MatrixPolynomialAlgebra,

Student[Calculus],

Student[LinearAlgebra],

Sumtools,

OreTools, sumtools,

Student[Precalculus],

VariationalCalculus, VectorCalculus, student etc. 144

Utilizatorii interesaŃi de un anumit pachet sau de o funcŃie pot obŃine informaŃia necesară, adresându-se Sistemului de informaŃie Help.

9.1.2. Pachetul linalg Sistemul Maple (începând cu versiunea 6) prevede două pachete care conŃin comenzi pentru efectuarea celor mai diverse transformări din algebra liniară. Acestea sunt

linalg şi LinearAlgebra, funcŃionalitatea cărora este aproape identică. Dacă pachetul linalg este parte componentă a tuturor versiunilor anterioare ale sistemului Maple, pachetul LinearAlgebra reprezintă o nouă modalitate de lucru cu matricele numerice, inclusiv şi cu matricele de dimensiuni mari. Obiectele de bază cu care operează comenzile acestor pachete sunt matricele, însă noŃiunea de matrice din linalg nu este echivalentă cu cea a pachetului

LinearAlgebra. Pachetul linalg „construieşte” matrice cu comanda (funcŃia) array( ), iar LinearAlgebra utilizează obiecte bazate pe structura r-table. Matricele şi vectorii sunt create de constructorii speciali Vector( ) şi Matrix( ) sau de structura (). Pachetul linalg operează cu matrice la nivel de nume, adică nu pot fi efectuate operaŃii asupra elementelor matricelor. Pentru efectuarea unor astfel de operaŃii este nevoie şi de comanda evalm( ). Pachetul LinearAlgebra, la rândul său, conŃine comenzi cu ajutorul cărora pot fi efectuate operaŃii la nivel de elemente ale matricelor. Pachetul linalg conŃine comenzi pentru scrierea matricelor şi vectorilor, propune un număr mare de comenzi pentru operarea cu diverse structuri ale obiectelor pentru rezolvarea sistemelor de ecuaŃii liniare, pentru eterminarea valorilor şi vectorilor proprii a unei matrice, pentru transformarea matricelor sub diverse forme etc. Matricele sau vectorii în Maple se definesc fie cu comanda array( ) (din biblioteca standard), fie cu comenzile marix( ) şi vctor( ). Comanda array( ) are forma

array(intervale, listă, opŃiuni); Parametrii comenzii nu sunt obligatorii, ordinea acestora fiind arbitrară. Parametrul intervale sunt numere întregi despărŃite prin virgulă. Valorile elementelor intervalului sunt

145

date de parametrul listă sub formă de listă pentru intervale unidimensionale sau sub formă de listă de liste pentru intervale de mai multe dimensiuni. Parametrul opŃiuni poate primi valorile symmetric, antisymmetric, identy şi diagonal.

Exemple > vec1:=array(1..3,[x[1],x[2],x[3]]);vec2:= array(1..2,[4,-7]);

vec1 := [ x1, x2, x3 ] vec2 := [ 4, -7 ] > matr:=array(1..2,1..2,[[a[11],a[12]],[a[21],a[22]]]);

a11 a12  matr :=  a21 a22   > A:=array(1..3,1..3,[[1,0,-1],[2,1,4],[2,-6,0]]); 1  A := 2  2

0 1 -6

-1  4  0

Vectorii şi matricele, după cum a fost menŃionat mai sus, se obŃin şi cu ajutorul comenzilor vector( ) şi matrix( ):

vector (n, [elementul 1, elementul 2, … ] ); matrix (n, m, [ elementul 1, elementul 2, …] ); Exemple > vect:=vector(2,[a[1],a[2]]); b:=vector(3, [2,0,-9]);

vect := [ a1, a2 ] b := [ 2, 0, -9 ] > A:=matrix(2,3,[a[11],a[12],a[13],a[21],a[22],a[23]]);

146

a11 a12 a13 A :=   a21 a22 a23  

Maple conŃine comezi care evidenŃiaază substructuri ale matricei: coloane, linii, submatrice, minori. Comanda row(A, i ) indică linia i în matricea A, iar col(A, j ) – coloana j. Cu submatrix(A, i1..in, j1..jm) se extrag submatrice din matricea dată. În cazul unui vector se apela la comanda subvector(vec, i1..in). Dacă, însă, pentru o matrice dată se doreşte evidenŃierea minorului Mij , atunci se aplică comanda minor(A, i, j)

Exemple > F:=matrix(4,3,[cos(x),sin(x),tan(x),x,x^2, x^3,t,t^2,t^3,2,8,16]);

cos( x ) sin( x ) tan( x )  x x2 x3    F :=  t2 t 3   t   2 8 16   > row(F,3);col(F,2..3);

[ t, t 2, t 3 ] [ sin( x ), x2, t 2, 8 ], [ tan( x ), x3, t 3, 16 ] > F1:=submatrix(F,2..4,2..3);

x2 x 3    F1 :=  t 2 t 3     8 16   > F2:=extend(F,0,1,4);F3:=minor(F2,3,4); cos( x ) sin( x ) tan( x )  x2 x3  x F2 :=  t2 t3  t  2 8 16  cos( x ) sin( x ) tan( x ) F3 :=  x x2 x3    8 16   2

147

4  4  4  4 ,

9.1.2.1. OperaŃii cu matrice

Comanda evalm( ) adună matrice. Amintim, evalm( ) efectuează operaŃii la nivel de obiecte, folosind operaŃiile: + (adunare), - (scădere), &* (înmulŃire ), / (împărŃire), ^ (ridicare la putere ). Prin urmare, suma a două matrice (de aceleaşi dimensiuni) poate fi obŃinută cu evalm(A+B). Produsul matricelor A şi B este rezultatul comenzilor multiply(A, B) sau

evalm(A&*B) cu condiŃia că dimensiunile matricelor sunt de natură ca operaŃia în cauză să aibă loc.

Exemple > with(linalg):A:=array([[1,2],[3,4]]);B:= array([[1,-1],[0,-1]]); 1 A :=  3

2 1  B :=  4 , 0

-1  -1

> C1:=evalm(A+2*B);C2:=evalm(2*A+B^2);

3 C1 :=  3

0 3  C2 :=  2 , 6

4  9

> C3:=evalm(sin(A));C4:=evalm(A&*B);

sin( 1 ) C3 :=  sin( 3 )

sin( 2 ) 1 -3  C4 :=   sin( 4 ) ,  3 -7

Cu evalm(A^k) poate fi obŃinută matricea Ak, iar comenzile inverse(A) sau

evalm(1/A) calculează A¯1. Matricea transpusă AT se va obŃine cu transpose(A).

148

Determinantul matricei A şi rangul acesteia se obŃin cu ajutorul comenzilor det(A) şi

rank(A). Exemple > A := array( [[1,-x],[2,3]] );B:=array([[2,3], [0,1]]); 1 A :=  2

−x 2  B :=  3  , 0

3  1

> B1:=evalm(B^3);B2:=inverse(B);A1:=inverse(A);

8 B1 :=  0

 1 21  B2 :=  2 1 ,  0

-3 2 1



 > multiply(B2,B);A2:=multiply(A,A1);

1  0

0  1

3 1 + 2 x  3+2x 3+2x A2 :=   0 

   1 2 x   3 + 3 + 2 x 3 + 2 x  0

> simplify(A2);

1  0

0  1

> A3:=transpose(A);B3:=transpose(B1);

1 2 8 0 A3 :=   B3 :=   −x 3 , 21 1 > rank(B);rank(B3);det(A);det(A1); 2, 2, 3+2x,

149

1 3+2x

1

3  3+2x   A1 :=   1 −2 ,

3+2x

x   3 + 2 x  1   3 + 2 x 

9.1.3. Pachetul LiniarAlgebra Acest pachet este realizat sub forme de module, bazându-se pe o nouă construcŃie a limbajului Maple. Comenzile pachetului pot fi chemate cu ajutorul operaŃiei adresării către obiect „ : –”. > LinearAlgebra:-nume_comandă(parametri); Înainte de a pune în funcŃiune o comandă a acestui pachet trebuie activat:

with(LinearAlgebra); nume_comandă);

sau o comandă în aparte with(LinearAlgebra,

Pachetul LinearAlgebra operează cu scalari, expresii algebrice, matrice, vectori. Matricele şi vectorii sunt opera constructorului de matrice şi a constructorului de vectori. Constructorul de matrice este comanda Matrix( ), care are forma:

Matrix(r,c,init,ro,sc,sh,st,o,dt,f,a); Semantica parametrilor şi valorile admisibile sunt indicate în tabelul 9.1.

Tabelul 9.1. Parametrii constructorului de matrice

Parametrul

SemnificaŃia

r

Număr nenegativ sau o zonă de numere întregi pozitive care începe cu 1 şi reprezintă numărul liniilor matricei

c

Număr nenegativ sau o zonă de numere întregi pozitive, care încep cu 1 şi reprezintă Indică valorile elementelor matricei. Poate fi: procedură - parametru de intrare: un cuplu de numere întregi care determină indicii elementului

i n i t

expresie algebrică care se calculează ca o procedură de doi parametri şi returneaz tabel, elementele căruia (cu indici nenegativi), reprezintă elementele matricei;

150

o mulŃime de ecuaŃii de forma (i, j) = valoare, unde indicii nenegativi sunt indicii elementelor matricei ; tablou bazat pe r-tabele, creat de comanda array( ) sau Array( ), indicele începe cu 1; matrice bazată pe r-tabel, creată de constructorul Matrix(,); listă - elementele căreea sunt interpretate ca valori a liniei 1 ale matricei sau listă

r

o

Are forma readonly sau readonly = true; valorile elementelor matricei nu pot fi modificate

s

c

EcuaŃie de forma scan = nume sau scan = listă care determină structura sau ordinea datelor ini

s

h

EcuaŃie de forma shape=nume sau shape=listă care determină una sau mai multe func

s

t

EcuaŃii de forma storage=nume, unde nume este una din regiunile admise a memoriei; determin Păstrează elementele matricei în memorie (pe linii sau coloane)

o

d

t

EcuaŃie de forma datatype=nume, unde nume este tipul de date păstrate sub form

f

EcuaŃie de forma fill=valoare şi determină valoarea atribuită elementelor nedefinite ale matricei, implicit e

a

EcuaŃie de forma attributes=listă şi determină atributele matricei (pozitiv definită ) cu ajutorul cărora matricea a fost creată

Nu toŃi parametrii constructorului de matrice sunt obligatorii. Lipsa parametrilor este echivalentă cu o matrice de dimensiunea 0 × 0. Prin urmare, importanŃi sunt primii trei parametri. PrezenŃa celorlalŃi parametri face ca procesul de prelucrare a datelor să fie mai rapid.

Exemple > Matrix(3); Matrix(3,4); 0   0  0

0  0 0 0 0     0 0 0 0 0    0 , 0 0 0 0 > Matrix(1..1,1..5,-3); 0 0 0

151

[-3 -3 -3 -3 -3] > Matrix([[3,2,1],[-1,-2,-3]]);  3 -1

2 -2

1  -3

> Matrix(3,(i,j)->s^(2*i-j));

 s   3  s  5 s

1 s2 s4

   s   s 3  1 s

Prin suma matricei A cu scalarul s se înŃelege operaŃia A + sE, unde E este matricea unitate şi dim(A) = dim(E).

Exemple > S:=s + <,>; S:=s*IdentityMatrix(2,3)+<, >; a11 a12 a13  S := s +  a21 a22 a23   a a 1 0 0  11 12 a13 S := s  +   0 1 0 a21 a22 a23

> s:=7:a[11]:=1:a[12]:=- 1:a[13]:=2:a[21]:=3: a[22]:=4:a[23]:=5:S;

> -5*<2|4|6>;

8 -1 2   3 11 5 # Produsul dintre un scalar şi o matrice-linie [ -10, -20, -30 ]

> 5*<<2*x,8>|<3,6*t>>;# Produsul dintre un scalar şi o matrice

152

10 x   40

15   30 t

9.1.3.1. Produs scalar. OperaŃia „.” se aplică şi la produsul scalar al matricelor şi vectorilor.

Exemple > <2,3>.<4|3>;# Produsul unei matrice-coloană (vector-coloană) cu o matrice-linie(vector-linie)

 8  12

6  9

> <4|3>.<2,3>;# Produsul dintre o matrice-linie si o matricecoloană

17 > A:=<<3,a>||<5,c>>;B:=<<1,2,3>|<-1,0,2>>; 3 b 5 A :=   a 10 c   1 -1 B :=  2 0    3 2

> A.B;  18 + 2 b  a + 20 + 3 c

7   −a + 2 c

Pentru obŃinerea Ak se va apela la operaŃia produsului scalar sau la operaŃia de ridicare la putere. Exponentul k poate primi şi valori negative.

Exemple > A:=<<2.5|0.4>,<.6|.5>>;

153

2.5 A :=   .6

.4  .5

> A.A.A.A.A; 115.725849999999994  32.8500599999999992 > A^5;

21.9000399999999972   6.22565000000000079 

115.725850000000008  32.8500599999999992

21.9000400000000006   6.22565000000000079 

> A^(-1);A^(-2);  .495049504950495100 -.594059405940594032  .480345064209391048 -1.76453288893245696

-.396039603960396114  2.47524752475247524  -1.17635525928830464  6.36212136065091460 

> %.A; # Verifică dacă A

-1

A = E

1.00000000000000022  0. 

0.  1. -2 2

> A^(-2).A.A; # Verifică dacă A

A

= E

0.  .99999999999999944  -.88817841970012523210-15 .99999999999999956  

EvidenŃierea unor elemente sau a unor submatrice ale unei matricei se va obŃine cu ajutorul indicilor.

Exemple > M:=Matrix(5,(i,j)->2*i-j); 1  3 M := 5 7  9 

0 -1 -2 -3  2 1 0 -1  4 3 2 1 6 5 4 3  8 7 6 5

> M[4,5]; # S-a ales elementul a45 = 3 3

> M[5,1..-1];M[1..-1,3]; # Din matricea M s-a extras o linie şi o coloană

154

  [ 9, 8, 7, 6, 5 ] ,      

-1  1  3 5  7

> M[1..4,4..5];# Din matricea M a fost extrasă o submatrice

-1  1   3 5 

-2 0 2 4

-3  -1  1 3

9.1.3.2. Valori şi vectori proprii. 2 1 4 Să calculăm acum determinantul matricei B = A - λ E, unde A = 1 3 5  . 3 0 6  Avem: > A:=matrix(3,3,[2,1,4,1,3,5,3,0,2]):B:=evalm(Alambda*diag(1,1,1)); 2 − λ  B :=  1   3 > P[3](lambda):=det(B);

1 3−λ 0

4   5   2 − λ 

P3( λ ) := −11 − 3 λ + 7 λ 2 − λ 3 Pentru determinarea polinomului caracteristic sistemul Maple prevede comanda

charpoly( ):

> charpoly(A,lambda); 3 λ + 11 − 7 λ 2 + λ 3

155

Rădăcinile ecuaŃiei P3( λ ) = 0 se numesc valori proprii ale matricei A. Prin urmare,

> val_proprii:=evalf(solve(P[3](lambda), lambda),4); val_proprii := -1., 6.236, 1.764 Ultimul rezultat se obŃine şi cu ajutorul comenzii special prevăzute pentru calcularea valorilor proprii:

> evalf(eigenvals(A),4); -1., 6.236, 1.764 Din algebră se ştie că pentru ficare valoare proprie a matricei există şi un vector propriu x care stisface relaŃia Ax = λ x. Pentru matricea A, avem:

> vectori_proprii:=evalf(eigenvects(A,'radical'),4); vectori_proprii := [ 6.236, 1., { [ 1.412, 1.981, 1. ] } ], [ 1.764, 1., { [ -.0786, -3.981, 1. ] } ], [ -1., 1., { [ 1., 1., -1. ] } ]

MenŃionăm, rezultatul a fost afişat sub forma: [num, r, {vector}] Aici num este valoarea proprie a matricei, r – multiplicitatea valorii proprii, vector – vectorul propriu, iar ‘radical’ este cheiea regimului de obŃinere a tuturor valorilor proprii.

9.1.3.3. Metoda lui Gauss Cu ajutorul comenzilor din pachetele linalg şi LinearAlgebra o matrice poate fi transformată în diverse forme speciale. Astfel, cu ajutorul comenzii

gausselim() matricea A obŃine forma triunghiulară. Metoda lui Gauss se foloseşte cu ajutorul comenzii ffgausselim( ). Astfel, pentru matricea B se obŃine:

> ffgausselim(B);

156

1  0   0

3−λ −9 + 3 λ 0

     −11 − 3 λ + 7 λ 2 − λ 3 5 −13 − λ

O matrice poate fi redusă la forma triunghiulară şi cu ajutorul algoritmului lui Gauss-Jordan:

> A := array( [[4,-5,3,-2],[-5,8,-1,2],[-2,3,2,1]] ); 4  A := -5  -2

-5 8 3

3 -1 2

-2  2  1

> gaussjord(A, 'r'); # Aici r este rangul matricei  1    0      0  

0

0

1

0

0

1

-1 -7 19 1 19

          

> r; 3 Mai jos prezentăm lista celor mai importante comenzi ale pachetelor linalg şi

LinearAlgebra (vezi tabelul 9.2). Tabelul 9.2. Lista celor mai importante comenzi care operează cu matrice şi vectori Denumirea comenzii

SemnificaŃie

delrows(A, i1..i2)/DeleteRow(A, i1..i2)

Omite liniile unei matrice

delcols(A, i1..i2)/DeleteColumn(A, i1..i2)

Omite coloanele unei matrice

row(A,i)/Row(A,i)

Selectează liniile unei matrice

col(A,i)/Column(A,i)

Selectează coloanele unei matrice

submatrix(A,i1..i2,j1..j2)/SubMat rix(A,i1..i2,j1..j2)

Selectează o submatrice a matricei date Selectează o porŃiune de coordinate a

subvector(a,i1..i2)/SubVector(a,i 1..i2)

vectorului

ScalarMultiply(A)

Calculează produsul dintre o matrice/vector şi

157

un scalar produsul scalar dintre o matrice şi un vector–coloană

MatrixVectorMultiply(A)

Calculează produsul scalar dintre un vector-

VectorMatrixMultiply(A)

linie şi o matrice

MatrixMatrixMultiply(A)

Constituie produsul scalar a două matrice

inverse(A)/MatrixInverse(A)

Determină matricea inversă

det(A)/Determinant(A)

Calculează valoarea determinantului matricei

minor(A,I,j)/Minor(A,I,j)

Calculează valoarea minorului matricei

eigenvals(A)/Eigenvalues(A)

Calculează valorile proprii ale matricei

eigenvects(A)/Eigenvectors(A)

Calculează vectorii proprii

9.1.4. Rezolvarea sistemelor de ecuaŃii liniare cu Maple Majoritatea operaŃiilor cu matrice sunt concepute pentru rezolvarea sistemelor de ecuaŃii liniare. În această privinŃă pachetul LinearAlgebra propune mai multe metode

şi mijloace pentru rezolvarea lor. Printre aceste metode amintim: 10 . inversarea matricei coeficienŃilor sistemului de ecuaŃii ( x = A −1 * b ): 2 0 . aplicarea factorizării LU (method = ‘LU’);

30 . aplicarea decompoziŃiei QR (method = ‘QR’); 4 0 . aplicarea metodei lui Cholesky (method = ‘Cholesky’);

5 0 . metoda substituŃiei inverse (method = ‘subs’).

Exemple Să se determine soluŃia sistemului de ecuaŃii Ax = b pentru

4 − 5 − 5  8  4  3 −5   0 8 5 A=  şi b =   .  −1  − 8 0 3 − 4     − 5 − 2 − 1 − 9  − 5

158

> white(LinearAlgebra):

> with(LinearAlgebra): A := <<8,3,-1,-5>|<4,-5,0,-2>|<5,8,3,-1>| <-5,5,-4,-9>>: b:=<4,0,-8,-5>:

9.1.4.1. Metoda LU: > x:=LinearSolve(A,b,method='LU');  1715     2607   -3668      2607   x :=    -1345     869     1759     2607   

Verificare: > A.x-b;        

0  0  0 0

SoluŃia poate fi obŃinută şi în cazul când se aplică decompoziŃia LU: > P,L,U:=LUDecomposition(A);

1  0 P, L, U :=  0  0 

0 1 0 0

0 0 1 0

1  3 0   8 0  , -1 0  8 1   -5  8

0

0

1

0

-1 13 -1 13

1 -175 163

> v2:=Transpose(P).b;

159

0 8 4 -5 -5      -13 79 55    0 0 2 8 8     ,  163 -213   0 0 0   52 52    -2607   1 0 0 0 163  

   v2 :=     

4  0  -8 -5

> v3:=ForwardSubstitute(L,v2); 4     -3   2    v3 :=  -99     13  -1759    163 

> x:=BackwardSubstitute(U,v3);  1715     2607     -3668       2607    x :=    -1345     869       1759     2607   

sau 0.6578442654     x =  -1.406981204  -1.547756041   0.6747219026  

> A.x-b;         

0  0  0  0

9.1.4.2. Metoda QR

160

> x:=LinearSolve(A,b,method='QR');

0.657844265439202380    -1.40698120444955865   x :=   -1.54775604142692692   0.674721902570003752   Verificare > A.x-b;  0.88817841970012523210     0.35527136788005009410-14         0.26645352591003757010-14     -14  -0.17763568394002504610   Altă modalitate, mai greoaie, este decompoziŃia QR: -15

> Q,R:=QRDecomposition(A); − 0.80403 0.29640 0.28690 0.42824 − 0.30151 − 0.94838 − 0.01108 0.097667 , Q, R:=   0.10050 0.04446 − 0.74550 0.65738    0.50252 − 0.10373 0.60149 0.61231

− 9.94987 − 2.71360 1.40705  0 6.13485 − 8.83181   0 0 − 4.36111  0 0  0

> v2:=Transpose(Q).b; -6.53274579918487941     1.34848114757230774   v2 :=    4.10412266118843050    -6.60764769791746431   

> v3:=BackwardSubstitute(R,v2); 0.657844265439202380     -1.40698120444955865  v3 :=    -1.54775604142692692  0.674721902570003752   

> A.x-b; 10   0.888178419700125232   0.355271367880050094 10-14     -14   0.266453525910037570  10    -14 10  -0.177635683940025046 -15

161

− 2.41209 − 5.46802 − 3.92135  − 9.79314

În cazul de faŃă exactitatea e cu mult mai mare decât în cazul când se aplică funcŃia (comanda) LinearSolve( ).

9.1.4.3. Metoda lui Cholesky: > x:=LinearSolve(A,b,method='Cholesky');

Error, (in LinearAlgebra:-LA_Main:-LinearSolve) Matrix is not positive-definite SoluŃia nu poate fi calculată prin metoda lui Choletsky deoarece matricea dată A nu este pozitiv definită.

9.2. Grafică Maple

Comenzile sistemului Maple pentru repreyentarea graficelor funcŃiilor sunt grupate în pachetul plots. Sistemul prevede şi comenzi cu ajutorul cărora poate fi urmărit mersul rezolvării problemei sau a trasării graficului unei funcŃii (vezi § 9.4). Printre posibilităŃile grafice ale sistemului Maple, amintim:



trasarea graficului unei funcŃii de o variabilă reală, a unei funcŃii date parametric, a funcŃiilor implicite;



construirea suprafeŃelor definite de funcŃii dependente de două variabile;



construirea obiectelor grafice (cerc, sferă, segment, dreptunghi, triunghi etc.) şi manipularea cu ele;



construirea graficelor în mişcare (animaŃie) pe plan şi în spaŃiu.

Înainte de toate, prezentăm fără comentarii un exemplu simplu de trasare a graficului unei funcŃii f(x), x ∈ [ a, b] .

Exemplu

162

Să se reprezinte graficul funcŃiei f ( x) = sin 2 x − 2 sin

π x pentru x ∈ [− , π ] . 2 5

> f:=sin(x)^2-2*sin(x/5):plot(f(x),x=-Pi/2..Pi,y=-0.5..1., thickness=2,color=black); # Graficul funcŃiei este cel din fig. 9.1.

Fig. 9.1

9.2.1. Grafică 2d Cele mai solicitate comenzi ale sistemului Maple sunt comenzile plot( ) şi

plot3d( ) care intervin la construirea graficelor pe plan şi în spaŃiu, motiv pentru care fac parte din nucleul sistemului. Sintaxa comenzii plot( ) are forma

plot(f, h, v, opŃiune), unde f este funcŃia dată, h şi v sunt domeniile de variaŃie ale variabilei independente (x) şi variabilei dependente (y), iar opŃiune este o listă de parametri care determină forma graficului: grosimea, culoarea, tipul liniilor graficului, tipul axelor sistemului de coordonate etc. Pentru scoaterea mai multor grafice pe aceleaşi axe de coordonate în calitate de prim argument al comenzii se va scrie o listă de funcŃii.

Exemplu

163

Să se reprezinte graficele funcŃiilor f ( x) = sin 2 x − 2 sin

x ∈ [−

π 2

x şi g ( x) = 2e −2 x ⋅ sin x , 5

, π ] pe aceleaşi axe de coordinate.

> f:=sin(x)^2-2*sin(x/5):g:=2*exp(-2*x)*sin(x): plot([f,g], x=-Pi/2..Pi,- 0.5..1,color=[black,black], linestyle=[4,1], labels=["x","Grafice"],title=" Afişarea\n f(x) şi g(x) pe aceleaşi axe",legend=["f(x)","g(x)"],thickness=2);

Fig. 9.2

Cu plot( ) se reprezentă şi puncte pe plan dacă acestea se scriu sub forma unei liste de liste şi se impune condiŃia style = POINT. Dacă însă condiŃia style =

POINT, pe foaia de lucru va apărea o linie frântă care uneşte punctele listei. Exemplu Să se reprezinte punctele listei l1 = [[-1, 0,3],[-0,5, -0,1], [0, 0,4], [0,5, -0,2], [1, 0,3] ,

164

[1,5, 0,1]] pe plan cu şi fără condiŃia style = POINT.

> l[1]:=[[-1,.3],[-0.5,-.1],[0, .4],[.5, -.2],[1, .3],[1.5,.1]]:

plot(l[1],axes=normal,style=POINT,color=black,symbol=DIAMOND, symbolsize=30,title="Puncte pe plan"); # Vezi fig. 9.3.

> plot(l[1],axes=normal,color=black, symbolsize=30,thickness=2); # Vezi fig. 9.4.

Fig. 9.3

Fig. 9.4

165

Pentru obŃinerea graficului unei funcŃii parametrice ( x = ϕ (t ) şi

y = φ (t ) ,

t ∈ [ a, b] ) comanda plot( ) se scrie sub forma:

> plot( [ϕ (t ), φ (t ), t = a..b], ); Exemplu Să se reprezinte graficul funcŃiei x = sin 3t , y = cos 5t , t ∈ [0, 2π ] .

> x:=sin(3*t):y:=cos(5*t):plot([x(t),y(t),t=0..2*Pi], color=black, thickness=2); # Graficul este cel din fig. 9.5.

Fig. 9.5

9.2.2. Grafică 3d Graficul funcŃiei de două variabile z = f(x, y) poate fi obŃinut cu ajutorul comenzii

plot3d( ), comandă cunoscută sub următoarele formate: plot3d(expresie, x=a..b, y=c..d, p) plot3d(f, a..b, c..d, p)

166

plot3d([expresiaf, expresiag, expresiah], s=a..b, t=c..d, p) plot3d([f, g, h], a..b, c..d, p) Primele două formule construiesc graficul unei suprafeŃe, a doua şi a treia – grafice pentru funcŃii date parametric. Aici a, b, c şi d sunt constante numerice sau expresii de tip real, p este un parametru care poate fi: axefont, font, color, coords,

labelfont, thickness, style, symbol, title, linestyle, etc. Exemplu Să se construiască graficul funcŃiei z = x sin 2 x + y cos 3x, x, y ∈ [−π , π ] .

> plot3d(x*sin(2*y)+y*cos(3*x),x=-Pi..Pi,y=-Pi..Pi);

Fig. 9.6

Pentru funcŃiile implicite F ( x, y, z ) = 0 graficul se obŃine cu ajutorul comenzii

implicitplot3d( ). Exemplu Pentru funcŃia x 2 + y 2 + z 2 = 4, x, y, z ∈ [−2, 2] avem sfera din fig. 9.7.

167

> with(plots):implicitplot3d(x^2+y^2+z^2=4,x=-2..2,y=2..2,z=2..2,scaling=CONSTRAINED,color=black,style=hidden);

Fig. 9.7

9.3. Pachete pentru aplicaŃii în geometrie

Pentru manipularea cu pachetele cu aplicaŃii în geometrie Maple dispune de pachetele geometry şi geom3d. Primul se referă la geometria euclidiană (geometria 2D), iar cel de al doilea – la geometria din spaŃiu (geometria 3D). Obiectele geometrice sunt caracterizate de diverşi parametri. Înainte de a începe lucrul, pachetele geometry şi geom3d trebuie încărcate. Structurile geomeztrice definite sau determinate acŃionează doar în cadrul pachetului respectiv.

9.3.1. Pachetul geometry

168

Pachetul geometry conŃine peste o sută de comenzi care intervin în planimetrie. Obiectele geometrice se definesc în mod obişnuit: punctul este definit de coordonatele sale (comanda point), dreapta – de două puncte sau de o ecuaŃie (comanda

line), cerc (circle) – prin trei puncte sau o ecuaŃie sau de centrul şi raza (diametrul) lui.

Exemple Pentru un cerc dat de trei puncte distincte să se determine coordonatele centrului, raza şi ecuaŃia lui. Graficul poate fi obŃinut cu comanda draw

> with(geometry):

> circle(c1,[point(A,0,0),point(B,2,0), point(C,1,2)],'centername'=O1): center(c1), coordinates(center(c1)); # Centrul şi coordonatele lui 3 O1,  1,   4

> radius(c1);evalf(%); # Raza cercului 1 25 16 16

1.250000000

> Equation(c1); # şi ecuaŃia acestuia 3 x2 + y2 − 2 x − y = 0 2 Cu ajutorul comenzii detail( ) se obŃine descrierea completă a cercului c1, adică numele obiectului, forma lui, numele centrului, coordinatele centrului, raza cercului şi ecuaŃia cercului.

Figuri geometrice interesante pot fi obŃinute cu ajutorul translării, rotaŃiei şi deformării figurilor geometrice de bază.

Exemplu

169

> with(geometry): > point(P, 2 , 0), point(Q, 1, 0); P, Q

> rotation(P1,P,Pi,'counterclockwise'); P1

> coordinates(P1); [-2, 0]

> rotation(P2,P, Pi/2,'clockwise', Q); P2

> coordinates(P2); [1, -1]

> f:=y^2=x: parabola(p,f,[x,y]): point(OO,0,0): rotation(p1,p,Pi/2,'counterclockwise',OO): detail({p1,p});

equation of the parabola: y^2-x = 0 , name of t form of the object: parabola2d vertex: [0, 0] focus: [0, 1/4] directrix: 1/4+y = 0

{ name of the object: p form of the object: parabola2d vertex: [0, 0] focus: [1/4, 0] directrix: 1/4+x = 0

> rotation(p2,p,Pi,'counterclockwise',OO): rotation(p3,p,Pi/2,

'clockwise',OO): draw([p(style=LINE,thickness=2),p1,p2,p3], style=POINT,symbol=DIAMOND,color=green, title=`RotaŃia unei parabole`);# Graficul este cel din fig. 9.8

170

Fig. 9.8

Mijloacele sistemului Maple sunt comode pentru vizualizarea figurilor care se construiesc.

Exemplu Prezentăm ilustrarea teoremei lui Pitagora, folosind comanda construcŃiei unui poligon (vezi fig. 9.9):

> with(plots):with(geometry):with(student):a:=3;b:=5; a := 3 b := 5

> display(polygonplot([[0,0],[b,0],[0,a]],color=grey), polygonplot([[b,0],[a+b,0],[a+b,b]],color=turquoise), polygonplot([[a+b,b],[a+b,a+b],[a,a+b]],color=green), polygonplot([[0,a],[a,a+b],[0,a+b]],color=cyan), polygonplot({[[b,0],[a+b,b],[a,a+b],[0,a]]},color=yellow), scaling=constrained);

171

Fig. 9.9

9.3.2. Pachetul geom3d

Comenzile pachetului geometriei tridimensionale geom3d sunt asemen[toare comenzilor geometriei bidimensionale (pachetul geometry). Pentru determinarea unui punct, a unei linie, a unui plan sau a unei sfere utilizatorul poate apela la funcŃiile

point, line, plane şi sphere. De asemenea poate fi definit un segment (segment), un segment orientat (dsegment), un triunghi (triangle), precum şi un număr mare de poligoane, de exemplu, cu comanda tetrahedron poate fi creată o piramidă Menirea multor funcŃii ale pachetului geom3d rezultă din denumirea funcŃiilor, iar caracterul aplicării este analog celui descris pentru pachetul geometry. Având în vedere cele spuse ne mărginim doar la prezentarea a două exemple: în fig.9.10 este reprezentată o sferă în interiorul unui dodecadron, iar în fig.9.11 – două figuri în spaŃiu, unde una este inclusă în cealaltă.

172

Fig. 9.10

Exemple > with(geom3d): point(o,0,0,0): r := 1.: > SmallStellatedDodecahedron(p,o,r): > duality(dp,p,sphere(s,[o,MidRadius(p)])):

draw([p(color=pink),dp(color=blue)],cutout=8/9,lightm odel= light4, title=`Sfera în interiorul unui dodecadron `, orientation=[-4,32]);

> TruncatedIcosahedron(tric,point(o,0,0,0),2.): draw(tric, cutout=7/8,lightmodel=light4):

173

> dodecahedron(dode,o,2.): rad:=1.5:SnubDodecahedron(sdode o,rad): draw([sdode(color=yellow),dode(color= coral, cutout= 8/9)], style=patch,lightmodel=light2, orientation=[71,56]);

Fig. 9.11

9.4. Pachetul student Acest pachet a fost elaborat special pentru studenŃi şi elevi pentru a prezenta pas cu pas realizările metodelor matematice. FuncŃiile pachetului sunt solicitate şi de multe persoane preocupate de utilizarea metodelor matematice în activitatea lor. FuncŃiile pachetului în majoritatea lor coincid cu denumirile acestora şi au semnificaŃiile de mai jos:

■ D – operatorul diferenŃial;

174

■ Diff – forma inertă a comenzii calculării derivatei; ■ Doubleint (Tribleint)– forma inertă a comenzii calculării integralei duble (triple);

■ Int – forma inertă a comenzii calculării integralei; ■ Limit – forma inertă a comenzii calculării limitei; ■ Product – forma inertă a comenzii calculării produsului termenilor unu şirului;

■ Sum – forma inertă a comenzii calculării sumei termenilor unui şir; ■ changevar – schimbul de variabile; ■ completesquarte – calculează un patrat complet; ■ distance – calculează distanŃa dintre două puncte; ■ integrand – extrage expresia de sub semnul integralei; ■ intercept – calculează punctul de intersecŃie a două curbe; ■ intparts – integrare prin părŃi; ■ leftbox(rightbox) – ilustrarea grafică a integrării prin metoda dreptunghiurilor din stânga (din dreapta);

■ leftsum(rightsum) – aproximaŃia numerică a integralei cu dreptunghiuri din stânga (din dreapta);

■ middlebox – ilustrarea grafică a integrării prin metoda dreptunghiurilor centrale;

■ showtangent – determină graficul funcŃiei şi a tangentei acesteia; ■ simpson – calculează integrala prin metoda lui Simpson; ■ slope – calculează şi trasează tangenta funcŃiei într-un punct; ■ trapezoid – calculează integrala prin metoda trapezului. Exemple > with(student): > Tripleint(g(x,y,z),x,y,z); Tripleint(x^2*y*z,x=0..1,y=0..2,z=0..3);

⌠ ⌠g( x, y, z ) d x dy d z ⌠  ⌡⌡⌡

175

3

2

1

2 ⌠ ⌠  ⌠  x y z dx dy dz  ⌡0  ⌡0  ⌡0

> evalf(%); 3.000000000

> int(int(int(x^2*y*z,x=0..1),y=0..2),z=0..3); 3

> Tripleint(1,x=0..1,y=0..2,z=0..3); 3

2

1

⌠ ⌠ ⌠ 1 dx dy dz  ⌡0  ⌡0  ⌡0

> evalf(%); 6.000000000

> Tripleint(x+y+z,x=0..a,y=0..b,z=0..c); c

b

a

⌠ ⌠ ⌠ x + y + z dx d y d z  ⌡0 ⌡0 ⌡0

> int(int(int(x+y+z,x=0..a),y=0..b),z=0..c);

1 2 1 1 a b c + a b2 c + a b c 2 2 2 2

> Doubleint(x^2/(1+y^2),x=0..1,y=0..1); int(int(x^2/(1+y^2),x=0..1),y=0..1); 1

1

⌠ ⌠ x2      1 + y2 d x d y    ⌡0 ⌡0

1 π 12

> evalf(%%); 0.2617993878

Pentru studenŃi şi elevi pachetul student a fost extins cu scopul de a acoperi cât mai multe domenii din matematică. Astfel, versiunea Maple 9 în plus la pachetul

176

student conŃine un şir de pachete de genul acestuia, ca, de exemplu, pachetele Student,

Student[LinearAlgebra],

Student[Calculus1],

VectorCalculus,

Student[Precalculus],

VarationalCalculus

ş.a. destinate disciplinelor Calculus1 – 3 din planurile de învăŃământ al universităŃilor din SUA şi care se eliberează de firma producătoare Waterloo Maple Inc. (vezi site-ul: www.maplesoft.com) la un preŃ redus tinerilor ce-şi continuă studiile. În continuare, ilustrăm cum cu ajutorul unor comenzi ale acestor pachete se rezolvă diverse probleme.

9.4.1. Rezolvarea unui sistem de inecuaŃii Pachetul

plots conŃine o funcŃie grafică specială inequal(

), care

conturează domeniul soluŃiilor unui sistem de inecuaŃii.

Exemplu Să

se

determine

domeniul

soluŃiilor

sistemului

de

inecuaŃii

 x + y > − 1,   x − y <= 1,  y <= 2 + 0,1x.  > with(plots): inequal( {x+y>-1,x-y<=1,y<=2+.1*x},x=4..4, y=-4..4,optionsfeasible=(color=magenta),optionsopen= (color=white,thickness=3),optionsclosed=(color=black, thickness=2),options excluded=(color=cyan)); # Domeniul este cel din fig. 9.12, unde optionsfeasible redă culoarea domeniului interior punctele căruia satisfac toate cele trei inecuaŃii, optionsopen şi

optionsclosed redau culoarea frontierelor închise şi deschise a domeniului.

177

Fig. 9.12

9.4.2. Rezolvarea ecuaŃiilor neliniare Pentru rezolvarea ecuaŃiei neliniare x = f(x) aplicăm metoda iteraŃiilor simple (iteraŃiile succesive) x k = s ( x k −1 ) începând cu o valoare iniŃială x0.

Exemplu Să se determine soluŃia ecuaŃiei 3 ln( x + 1) = x .

> f:=x->3*ln(x+1);x||0:=0.5; f := x → 3 ln( x + 1 ) x0 := 0.5

> x0:=.5; x0 := 0.5

> for k from 1 to 20 do x||k:=evalf(f(x||(k-1))); od;

178

x1 := 1.216395324 x2 := 2.387646445 x3 := 3.660406248 x4 := 4.617307866 x5 := 5.177557566 x6 := 5.462768931 x7 := 5.598173559

x8 := 5.660378631 x9 := 5.688529002

x10 := 5.701181910

x11 := 5.706851745 x12 := 5.709388956

x13 := 5.710523646 x14 := 5.711030964 x15 := 5.711257755 x16 := 5.711359134 x17 := 5.711404452 x18 := 5.711424708 x19 := 5.711433765 x20 := 5.711437812

Pentru a fi convinşi că iteraŃiile xk converg către soluŃia ecuaŃiei, calculăm soluŃia acesteia cu comanda solve( ): > f(x)=x;solve(%);

3 ln( x + 1 ) = x 1 1 0, −3 LambertW  -1, − ( 1/3 )  − 1   3e   Rezultatul pare neobişnuit: rădăcina evidentă 0 şi o rădăcină sub forma funcŃiei speciale a lui Lambert. Cunoaştem , comanda evalf( ) poate calcula valoarea numerică a rădăcinei a doua: > evalf(%); 0., 5.711441084

179

Se observă că 5,711441084 şi x20 = 5,711437812 sunt aproape egale (în limita a 5 cifre semnificative).

9.4.3. Reprezentarea iteteraŃiilor lui Newton sub formă simbolică În Maple, în general, cine caută găseşte, adică nu există problemă simplă pentru care să nu existe o interpretare grafică sau de altă natură. Ca să fim convinşi de cele spuse, pentru demonstrarea rezolvării problemei cu metoda analitică, vom recurge la exemplul care a devenit clasic – realizarea metodei lui Newton pentru rezolvarea ecuaŃiei neliniare

f(x) = 0. După cum se ştie, metoda lui Newton (sau iteraŃiile lui Newton)se reduce la calcularea rădăcinii prin intermediul formulei

xi +1 = xi +

f ( xi ) , i = 1, 2, … . f ′( xi )

Pentru realizare procedeului determinării soluŃiei în conformitate cu iteraŃiile de mai sus, compunem programul ce urmează: > restart: N1:=proc(expr,x)

local iter; iter:=x-expr/diff(expr,x); unapply(iter,x) end; N1 := proc (expr , x) local iter ; iter := x − expr /diff( expr , x ) ; unapply( iter , x ) end proc Pentru obŃinerea formulei iteraŃionale sub forma analitică în programul de mai sus este inclusă funcŃia (comanda) unapply( ). Acum, considerând funcŃia, rădăcina căreia trebuie calculată, obŃinem expresia analitică: > expr:=sin(x)^2-.5; expr := sin( x ) 2 − 0.5

> F:=N1(expr,x);

180

F := x → x −

1 sin( x ) 2 − 0.5 2 sin( x ) cos( x )

Considerând o valoare iniŃială x0 , pot fi calculate o parte a iteraŃiilor: > x0:=0.2;

x0 := 0.2 > to 7 do x0:=F(x0);od;

x0 := 1.382611210 x0 := 0.117460944 x0 := 2.206529505 x0 := 2.360830634 x0 := 2.356194357 x0 := 2.356194490 x0 := 2.356194490 Se observă un salt la începutul iteraŃiilor, iar apoi valorile rădăcinii converg către rezultatul final, adică către soluŃia ecuaŃiei. Ultimile două iteraŃii demonstrează acest fapt. Deşi ecuaŃia are două rădăcini, procedeul propus prezintă doar o soluŃie. ObŃinerea altor rădăcini depinde de valoarea iniŃială: iteraŃiile lui Newton converg dacă valoarea iniŃială se află în vecinătatea soluŃiei ecuaŃiei.

181

Bibliografie

1. Bauldry W. C., Evans B., Jonson I. Linear Algebra with Maple.– John & Sons, 1995. 2. Bourbaki N. – Algebre, cap II (Algebre lineaire) – Paris, 1947 3. CăpăŃână Gh., Lica D., Marin V., Micula S., Teodorescu N. Produsul programat

Maple în matematici.– Bucureşti, Ed. BREN, 2005. 4. Despa R., Vişan C., Coculescu C., Burac M., Pricină C., Solomon O. – Matematici

aplicate în economie – Bucureşti, Editura Universitară, 2005 5. DiaconiŃa V., Manolachi A., Rusu Gh. Matematici aplicate în economie.– Iaşi, 1992. 6. Gataulin A.M., Gavrilov G.V., Sorokina T.M., ş.a. – Modelarea matematică a

proceselor economice în agricultură – Chişinău, Ed. Universitas, 1993 7. Fadeev D., Sominski I. – Recueil d’exercices d’algebre superieure - Moscova, Ed.Mir, 1973 8. Lica D., Teodorescu N. MAPLE: system electronic de calcule matematice.– Bucureşti, Ed. MatrixRom, 2002. 9. Mihoc Gh., ş.a. – Matematici pentru economişti – Bucureşti, Ed. Tehnică, 1971 10. Orman G.V. – Metode de calcul numeric în algebra liniară – Braşov, Ed. UniversităŃii Braşov, 1980 11. Orman G.V. Capitole de matematici aplicate.– Cluj-Napoca, Editura Albastră, 1999 12. Pomohaci C.M. – NoŃiuni introductive de utilizare a computerului – Bucureşti, Ed. Didactică şi Pedagogică, 2005 13. Purcaru I. – Matematici financiare – Bucureşti, Ed. Economică, 1998 14. Samuel J., Coculescu C., Mihăilescu E. – Elemente de Analiză Matematică şi

EcuaŃii DiferenŃiale pentru economişti – Bucureşti, Ed. Sylvi, 2004 15. Shilov G.E. – An Introduction to the Theory of Linear Spaces – Prentice-Hall Inc. , 1961 16. Voievodine V. – Principes numeriques d’algebre lineaire – Moscova, Ed.Mir, 1980

182

183

Related Documents

Alg Lin Maple
June 2020 1
Num-lin-alg
October 2019 4
Maple
June 2020 11
Maple
August 2019 15
Maple
November 2019 23
Lin
December 2019 43

More Documents from ""