Post on 13-Jun-2015
description
transcript
Cristian Mihai Pomohaci
Algebră liniar ă
Bucureşti 2005
2
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 eliminării complete a
necunoscutelor
2.1.7. Norma unei matrice
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
3
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
4
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
5
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
6
C a p i t o l u l 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, …}
7
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);
8
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
1iix
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.
9
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ă
10
prin diagrama
A B f Figura 1. DefiniŃia funcŃiei
sau tabelul
Tabelul 1
x a b c d
f(x) 2 1 2 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
a b c d
1 2 3
11
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:
>≤≤
<+=
1xdaca1
1x0dacax
0xdaca,1x
)x(f 2
Aceleiaşi expresii poate fi asociată şi funcŃia g: Z→R
>≤≤
<+=
1xdaca1
1x0dacax
0xdaca,1x
)x(g 2
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:
12
A B
Figura 2. FuncŃie injectivă este o aplicaŃie injectivă.
2) Să se arate că aplicaŃia f:R→R ,
>+<+
=0x,2x
0x,1x2)x(f este injectivă.
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
x
f(x)
13
ş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ă.
14
2) FuncŃia f:R→R definită prin relaŃia f(x) = kx , k ≠ 0 este surjectivă.
3) Să se arate că f :R→R ,
>+<−
=0x3x2
0x1x)x(f nu este saurjectivă. Se
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 Figura 4. FuncŃie bijectivă
x
y = f(x)
15
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 + x
1
este bijectivă.
Dacă x1 > x2 ≥ 1 ⇒ f(x1) – f(x2) = x1 + 1x
1 - x2 -
21x
1 =
= (x1 – x2) – (1x
1-
21x
1) = (x1 – x2)
−
21xx
11 > 0 ⇒ f(x1) > f(x2) ⇒
⇒ este strict crescătoare ⇒ f este injectivă.
Dacă x ≥ 1 ⇒ x + x
1 ≥ 2. Folosind inegalitatea mediilor, obŃinem că
x
1x
x
1x
2
1 ⋅≥
+ = 1 ⇔ x + x
1 ≥ 2 ⇒ f(x) ≥ 2 ⇔ f este surjectivă. Prin
urmare, f este bijectivă.
16
C a p i t o l u l 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
rânduri) şi n coloane.
D.2.1
Sub forma generală matricea A de tipul m x n se prezintă astfel:
A =
mn2m1m
n22221
n11211
a...aa
............
a...aa
a...aa
sau A =
mn2m1m
n22221
n11211
a...aa
............
a...aa
a...aa
(2)
17
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 =
mn2m1m
n22221
n11211
a...aa
............
a...aa
a...aa
(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
C1 C2 C3
AUTOBUZE L1 1 0 1
L2 0 1 1
1 Ca elemente ale matricei putem avea şi alte obiecte
18
Ş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:
=
110
101T
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
B = Bmx1 =
n
2
1
b
...
b
b
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.
19
2) A =
−
860
423
321
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
=θ
00
00= θ2 ,
=θ
000
000= θ2x3
sunt matrice nule.
În continuare vom evidenŃia unele tipuri de matrice pătratice.
Matricea de forma
=
n
2
1
d...00
............
0...d0
0...0d
D
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
E =
1...00
............
0...10
0...01
2.1.3. OperaŃii cu matrice
20
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
(adică elementele din aceeaşi linie i şi aceeaşi coloană j) ale acestor matrice
D 2.2.
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:
232221
131211
aaa
aaa =
232221
131211
bbb
bbb
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)
D 2.3.
AplicaŃie
Pentru matricele
A =
−
02
21
10
, B =
−
11
14
03
21
suma A + B este matricea C:
C = A + B =
+++++−−+
1012
1241
01)3(0
=
−−
13
35
13
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ă
bij = αaij (i = 1,2,...,m ; j = 1,2,...,m)
D 2.4.
Produsul matricei A prin α se notează cu αA sau Aα.
AplicaŃie
-7.
−− 211
302 =
−⋅−⋅−−⋅−⋅−⋅−⋅−
)2()7(1)7()1()7(
3)7(0)7(2)7(=
−−−1477
21014
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 D 2.5.
22
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 Tabelul 3: producŃia lunile 7-12
Întreprin-
derea
ProducŃia Întreprin-
derea
ProducŃia
P1 P2 P3 P4 P1 P2 P3 P4
I 1020 1061 605 108 I 1028 1005 610 918
II 1415 1220 975 1005 II 1419 1217 971 1008
III 990 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.
ProducŃia Resursele
R1 R2
P1 5 7
23
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
R =
32
64
43
75
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 =
3231
2221
1211
dd
dd
dd
= ( )( )
•••••
•
)xxx(
)xx(
)x()(
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.
2) 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
24
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:
cij = ∑=
n
1kkjik ba (i = 1,2,...,m ; j = 1,2,...,n)
D 2.5
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
Pentru A =
863
502
431
şi B =
fe
dc
ba
să se afle produsul C = A.B
Calculând obŃinem:
C =
⋅+⋅+⋅⋅+⋅+⋅⋅+⋅+⋅⋅+⋅+⋅⋅+⋅+⋅⋅+⋅+⋅
f8d6b3e8c6a3
f5d0b2e5c0a2
f4d3e1e4c3a1
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.
25
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:
A(B+C) = AB+BC (distributivitatea
la stânga)
Dacă A şi b nu sunt de acelaşi tip şi există AC şi BC, atunci
(A+B)C = AC+BC (distributivitatea
la dreapta)
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:
43421oripde
p A...AAA ⋅⋅⋅=
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
26
Exemplu
1) pentru matricea A =
λλ
2
1
0
0 pătratul ei este
A2 =
λλ
2
1
0
0.
λλ
2
1
0
0=
λλ
22
21
0
0
În mod analog
A3 =
λλ
32
31
0
0
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
( )
⋅−z
y
x
216
Generalizând putem scrie formula:
( )
⋅=+++
n
2
1
n21nn2211
b
...
b
b
a...aaba...baba
Deci o ecuaŃie de forma
1nn1212111 bxa...xaxa =+++
Se poate scrie matriceal astfel:
( ) 1
n
2
1
n11211 b
x
...
x
x
a...aa =
⋅
Adică un sistem de ecuaŃii
27
=+++
=+++=+++
nnsn22s11s
2nn2222121
1nn1212111
bxa...xaxa
.............................................
bxa...xaxa
bxa...xaxa
poate fi scris sub formă matriceală astfel:
=
⋅
n
2
1
n
2
1
sn2s1s
n22221
n11211
b
...
b
b
x
...
x
x
a...aa
............
a...aa
a...aa
Notând:
A =
sns
n
aa
aa
...
.........
...
1
111
, x =
nx
x
...1
şi b =
nb
b
...1
putem scrie sistemul sub formă matriceală
A . x = b
AplicaŃii
1) Fie M 2,1 mulŃimea matricelor cu două linii şi o coloană şi fie
T: 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
T(
y
x) = x (5)
este liniară
28
Pentru aceasta luăm u =
y
x şi v =
w
z şi calculăm termenul din
stânga ecuaŃiei 1111 (4)
T(c.u + d.v) = T(c.
y
x + d.
w
z)
3.1
= T (
⋅⋅yc
xc+
⋅⋅wd
zd)
2.1
=
= T(
⋅+⋅⋅+⋅wdyc
zdxc)
)2(
= c.x + d.z
dar x = T(
y
x) şi z = T(
w
z) deci obŃinem în continuare:
c.x + d.z = c.T(
y
x) + d.T(
w
z) = c.T(u) + d.T(v)
Adică am demonstrat că T este o funcŃie liniară.
Se poate observa că T poate fi definit şi ca un produs de matrice
T(
y
x) = ( 1 0 ) .
y
x
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
⋅+⋅=⋅+⋅=
112
112
b%70a%40b
b%30a%60a
1 deasupra semnului egal vom scrie numărul definiŃiei aplicate
29
Notând:
X1 =
1
1
b
a , X2 =
2
2
b
a şi C =
7,04,0
3,06,0
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 =
mn2m1m
n22221
n11211
a...aa
............
a...aa
a...aa
Matricea
3 la cursul de probabilităŃi vom vedea că toate acestea alcătuiesc un lanŃ Markov.
30
AT =
mnn2n1
2m2212
1m2111
a...aa
............
a...aa
a...aa
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 = [ Tkia ], unde T
kia = 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ă
B =
m
2
1
b
...
b
b
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
A =
20
01 şi B =
03
21
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
31
AB =
06
21
Matricea transpusă a acestui produs este:
(AB)T =
02
61
Pe de altă parte:
BTAT =
02
31 .
02
01 =
02
61
şi, deci, (AB)T = BTAT.
2) Pentru matricea simetrică
A =
23
31
avem A =
23
31 , adică AT = A.
2.1.5. Matricea inversă a unei matrice pătratice
Fie
A =
nn2n1n
n22221
n11211
a...aa
............
a...aa
a...aa
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.
D 2.7
32
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 A-
1 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 =
nn2n1n
n22221
n11211
a...aa
............
a...aa
a...aa
Fie matricea inversă A-1 şi elementele ei (necunoscute) de forma xik (i,k=1,2,...,n):
A-1 =
nn2n1n
n22221
n11211
x...xx
............
x...xx
x...xx
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:
33
=+++
=+++
=+++
.0xa...xaxa
....................................................
,1xa...xaxa
..................................................
,0xa...xaxa
nknnk22nk11n
nkknk22kk11k
nkn1k212k111
(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:
0
...
0
1
,
0
...
1
0
, ... ,
1
...
0
0
.
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 Jordan-
Gauss), 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 k = 2 .... k = n k = 1 k = 2 .... k = n
b(1) b(2) .... b(n) Σ(1) Σ(2) .... Σ(n)
a11a12...a1n 1 0 .... 0 σ1(1) σ1
(2) .... σ1(n)
a21a22...a2n 0 1 .... 0 σ2(1) σ2
(2) .... σ2(2)
................ .... .... .... .... .... .... .... ....
an1an2...ann 0 0 .... 1 σn(1) σn
(2) .... σn(n)
................ .... .... .... .... .... .... .... ....
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),
34
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
A =
−−
−
102
110
121
Rezolvarea este reprezentată schematic în tabelul 6
Tabelul 6
x1k x2k x3k k = 1 k = 2 k = 3 k = 1 k = 2 k = 3
b(1) b(2) b(3) Σ(1) Σ(2) Σ(3)
1 2 -1
0 -1 1
2 2 -1
1
0
0
0
1
0
0
0
1
3
0
1
2
1
1
2
0
2
1 2 -1
0 -1 1
0 -4 1
1
0
-2
0
1
0
0
0
1
3
0
-5
2
1
-3
2
0
-2
1 1 0
0 -1 1
0 -3 0
1
0
-2
1
1
-1
0
0
1
3
0
-5
3
1
-4
2
0
-2
1 0 0
0 1 0
0 0 1
1/3
2/3
2/3
2/3
1/3
4/3
1/3
-1/3
-1/3
4/3
5/3
5/3
5/3
7/3
4/3
4/3
2/3
2/3
În tabelul transformat al lui Gauss, pentru o valoare dată a parametru-
lui 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ă
35
A-1 =
333231
232221
131211
xxx
xxx
xxx
=
−−
3/13/43/2
3/13/13/2
3/13/23/1
=
−−−
112
112
121
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 k = 2 k = 3
b(1) b(2) b(3)
1 0 0
0 1 0
0 0 1
1/3
2/3
2/3
2/3
1/3
4/3
1/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|| .
D 2.8
Cel mai des utilizabile sunt normele:
||A||1 = ∑=
n
1jij
i|a|max ;
||A||2 = ∑=
n
1jij
j|a|max
36
||A||3 = ∑∑= =
n
1i
n
1j
2ij |a|
AplicaŃie
Să se calculeze cele trei norme pentru matricea
A =
−
−
6,03,00
1,05,04,0
1,01,02,0
Î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 = )36,009,00()01,025,016,0()01,001,004,0( ++++++++ =
= 45,042,006,0 ++ = 93,0 = 0,964
37
C a p i t o l u l 3
DETERMINAN łI
3.1. DeterminanŃi de ordinul doi şi trei
Fie
=+=+
2222121
1212111
bxaxa
bxaxa (7)
un sistem de două ecuaŃii liniare cu două necunoscute. CoeficienŃii necunoscute-lor
acestui sistem determină o matrice pătratică
A =
2221
1211
aa
aa
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 = 22
1212
a
xab − (8)
Substituind (8) în prima ecuaŃie a sistemului (7), obŃinem
a11x1 + a22 .
22
1212
a
xab −= b1
38
sau
(a11a22 – a21a12)x1 = b1a22 – b2a12
Presupunând că a11a22 – a21a12 ≠ 0, ajungem la
x1 = 12212211
122221
aaaa
abab
−−
, x2 = 12212211
211112
aaaa
abab
−−
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) = 2221
1211
aa
aa = a11a22 – a21a12 (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
A =
−13
25
Conform formulei (9), obŃinem
∆ = det (A) = 13
25 − = 5.1 – (-2).3 = 11
2) Să se calculeze determinantul
α−α−αα−
sincos
cossin
Calculele arată că:
α−α−αα−
sincos
cossin = (-sin α).(-sin α) – (-cosα).cosα = sin2α + cos2α = 1
Pentru o matrice pătratică de ordinul trei
39
A =
333231
232221
131211
aaa
aaa
aaa
Determinantul se notează astfel
333231
232221
131211
aaa
aaa
aaa
şi este egal cu numărul care se determină cu ajutorul formulei:
333231
232221
131211
aaa
aaa
aaa
= a11a22a33 + a12a23a31 + a21a32a13 – a13a22a31 – a12a21a33 – a23a32a11 (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
A =
−−
101
411
152
Conform definiŃiei, adică în conformitate cu regula triunghiurilor
(10), obŃinem
∆ = det (A) =
101
411
152
−−
= 2.(-1) + 5.4.1 + 1.0.(-1) – (-1).(-1).1- 4.0.2 = 4
40
2) Să se calculeze determinantul
∆ =
xbbx
xxaa
xaxa
+−+
−
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 =
nn2n1n
n22221
n11211
a...aa
............
a...aa
a...aa
(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ă
n1 n21 a...aa ααα ⋅⋅⋅ (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.
41
Se numeşte determinant de ordinul n al matricei (11) suma a n!
termeni de forma
(-1)kn1 n21 a...aa ααα ⋅⋅⋅ ,
unde k este numărul de transpoziŃii ce aduce permutarea (1,2,...,n)
la permutarea (α1, α2, ... , αn)
D 3.1
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ă
A ik = (-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) = ai1A i1 + ai2A i2 + ... + ainA in , (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
42
A =
− 2132
1010
4104
3010
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
M12 =
212
100
414
− = 6 , M14 =
132
010
104
−= -6
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 determi-
nantului.
43
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 11 kk ba + ,
22 kk ba + ,..., nn kk ba + , atunci este
adevărată egalitatea:
nn2n1n
kkkkkk
n11211
a...aa
............
ba...baba
............
a...aa
nn2211+++ =
nn2n1n
kkk
n11211
a...aa
............
a...aa
............
a...aa
n21 +
nn2n1n
kkk
n11211
b...bb
............
b...bb
............
b...bb
n21
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ă
nn2n1n
eee
kkk
n11211
a...aa
............
a...aa
............
a...aa
............
a...aa
n21
n21
=
nn2n1n
eee
ekekek
n11211
a...aa
............
a...aa
............
aa...aaaa
............
a...aa
n21
nn2211α+α+α+
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).
44
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:
nn2n1n
n22221
n11211
A...AA
............
A...AA
A...AA
Transpunând această matrice, rezultă matricea ce se notează cu simbolul Aa şi se
numeşte matricea adjunctă a matricei A:
Aa =
nn2n1n
n22221
n11211
A...AA
............
A...AA
A...AA
Î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ă
AAa = AaA = =
)Adet(...00
............
0...)Adet(0
0...0)Adet(
45
= det(A).
1...00
............
0...10
0...01
= det(A).E (15)
Dacă A este o matrice nedegenerată (det(A)≠0), atunci înmulŃind (15) cu )Adet(
1,
în baza proprietăŃilor operaŃiei înmulŃirii matricelor, rezultă că
)Adet(
1 .(AAa) = )Adet(
1 .(AaA) = E ⇒ A()Adet(
1 .Aa) = ()Adet(
1 .Aa)A = E,
de unde, ştiind că AA -1 = A-1A = E, rezultă că A-1 există şi are forma:
A-1 = )Adet(
1 .Aa (16)
AplicaŃie
Să se afle A-1 pentru matricea:
A =
200
030
102
Evident, det(A) = 12 ≠ 0. Calculăm complementele
algebrice:
A11 = 20
03= 6 , A12 = -
20
00 = 0 , A13 =
00
30 = 0 ,
A21 = -20
10= 0 , A22 =
20
12 = 4 , A23 = -
00
02= 0 ,
A31 = 03
10= -3 , A32 = -
00
12 = 0 , A33 =
30
02= 6.
În aceste condiŃii matricea adjunctă are forma
Aa =
−
600
040
306
⇒ A-1 = )Adet(
1 .Aa =
46
= 12
1 .
−
600
040
306
=
−
2
100
03
10
4
10
2
1
.
Se verifică uşor că AA -1 = A-1A = E.
47
C a p i t o l u l 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:
=+=+
222
111
cybxa
cybxa
şi
=++=++=++
3333
2222
1111
dzcybxa
dzcybxa
dzcybxa
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ă:
=+++
=+++=+++
mnmn22m11m
2nn2222121
1nn1212111
bxa...xaxa
................................................
bxa...xaxa
bxa...xaxa
(17)
48
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 =
mn2m1m
n22221
n11211
a...aa
............
a...aa
a...aa
se numeşte matricea coeficienŃilor sistemului.
Tabelul
A = [A | B] =
mmn2m1m
2n22221
1n11211
ba...aa
...............
ba...aa
ba...aa
M
M
M
M
,
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 , x2
0 , ... , xn0 se numeşte soluŃie
sistemului de ecuaŃii liniare (17) dacă, înlocuind necunoscutele x1, x2, ... , xn prin valorile
x10 , x2
0 , ... , xn0, toate ecuaŃiile sistemului sunt transformate în identităŃi.
Nu orice sistem de forma (17) are soluŃie. Astfel, de exemplu, sistemul
49
=+=+
1xx
0xx
21
21
nu are nici o soluŃie, deoarece dacă ar exista soluŃia x10 , x2
0 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 + x2
0 ş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
=+=−
9x2x
11x2x3
21
21
are o singură soluŃie: x1 = 5, x2 = 2. Prin urmare sistemul dat este compatibil
determinat.
2) Sistemul
=−=−
22x4x6
11x2x3
21
21
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 = 3
11 +
+3
2x2. Atribuind lui x2 valori arbitrare şi calculând din ultima egalitate
valorile respective ale necunoscutei x1, obŃinem o mulŃime infinită de soluŃii
ale sistemului dat. De exemplu, x2 = 0 , x1 = 3
11; x2 = 3, x1 =
3
17; x2 = -
2
3 ,
x1 = 3
8 etc.
50
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
yi = ∑=
n
1jjjxc (18)
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
λ1y1 + λ2y2 + ... + λmym = 0
nu are loc decât dacă λ1 = λ2 = ... = λm = 0 atunci formele y1, y2, ... , ym se
numesc liniar independente.
D 4.1
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
yi = ∑=
n
1ijij xa - bi , i = 1,2,...,p
Dacă ∑=
λn
1jii y = 0 are loc dacă şi numai dacă λ1 = λ2 = ... = λp= 0, atunci ecuaŃiile
sunt liniar independente.
51
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:
Amxn =
mn2m1m
n22221
n11211
a...aa
............
a...aa
a...aa
(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 vectori-
coloană 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:
A =
−− 3444
1202
3121
Liniile A 1 , 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
52
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) = 2
1A(1) +
4
5A(2).
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
matricei A, şi se notează rang(A)
D 4.2
Î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;
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 α.
P 4.3
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).
53
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:
B =
0...0...00
..................
0...0...00
b...b...00
..................
b.........b0
b.........bb
r2rr
n222
n11211
Î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
A =
−
−
5414
1512
1210
54
Elementul a21 = 2 ≠ 0. Permutăm liniile 1 şi 2. ObŃinem matricea
A1 =
−−5414
1210
1512
, A ~ A1.
Adăugăm la linia a treia (l3) a matricei A prima linie înmulŃită cu (-
2)(-2l1):
A2 =
−−−3630
1210
1512
, A ~ A2
Elementul matricei A2 a22(1) = 1 ≠ 0. Adăugăm la linia a treia (l3)
linia a doua înmulŃită cu 3 (3l2):
B =
−0000
1210
1512
, A ~ B
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:
A =
−
3231
3012
2113
A414
313
212
313
212
31 cc3c
cc2c
cc3c
ll3l
ll2l
ll
~
7780
3450
3231
~
2113
3012
3231
~→−→−→−
→−→−
↔
−−−−−−
−
−−−−−−
7780
3450
000134
32
cc
cc
~−−
−−−−
0710
1410
000142 cc
~↔
−−−−
1700
1410
000124
43
cc
c4c
~+
+
55
~
−− 1700
0010
00013c
7
1
~−
0100
0010
0001
,
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:
A =
−−
−−−−
−−−−
31001
11011
41131
93211
34112
În urma transformărilor vom obŃine:
A ~
−−−−−
−−−−
−
31111
11011
41131
93211
31001
~
−−−−
−−−
−
92110
40010
72130
64210
31001
~
~
−−−
−−
156300
104200
2510500
64210
31001
~
−−
52100
52100
52100
64210
31001
~
−−
00000
00000
52100
64210
31001
~
−
00000
00000
52100
64210
00001
~
−
00000
00000
52100
00010
00001
~
56
~
−
00000
00000
00100
00010
00001
not
= B ⇒
⇒ 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 = ∆∆1 , x2 =
∆∆ 2 , ... , xn =
∆∆n (20)
unde ∆ 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
57
Să se calculeze rădăcinile sistemului de ecuaŃii
−=+−=++−=−−+
−=++−
5x3x3x
4xxxx3
6x4xxx
1x3xxx2
421
4321
4321
4321
aplicând regula lui Cramer. Calculăm determinantul sistemului
de ecuaŃii ∆ şi determinanŃii ∆i (i = 1,2,3,4)
∆ =
3031
1313
4111
3112
−−
−−−
= -15 ≠ 0 , ∆1 =
3531
1413
4316
3111
−−−
−−−−
= -15 ,
∆2 =
3051
1343
4161
1112
−
−−−−
= 0 , ∆3 =
3531
1413
4611
3112
−−−
−−−
= - 45 ,
∆4 =
5031
4313
6111
1112
−−−
−−−
= 30
conform (20) calculăm soluŃia sistemului dat de ecuaŃii liniare:
x1 = 15
151
−−=
∆∆
= 1 , x2 = 15
02
−=
∆∆
= 0 , x3 = 15
453
−−=
∆∆
= 3 ,
x4 = 15
304
−=
∆∆
= -2
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
58
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:
=+++=+++=+++=+++
4444343242141
3434333232131
2424323222121
1414313212111
bxaxaxaxa
bxaxaxaxa
bxaxaxaxa
bxaxaxaxa
(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 + 11
12
a
a x2 +
11
13
a
a x3 +
11
14
a
a x4 =
11
1
a
b (22)
Dacă introducem notaŃiile:
11
12
a
a = b12 ,
11
13
a
a = b13 ,
11
14
a
a = b14 ,
11
1
a
b= b15
Generalizând, vom scrie: 11
ij
a
a = 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
59
Facem următoarele notaŃii:
a22 – a21b12 = )1(22a , a23 – a21b13 = )1(
23a , a24 – a21b14 = )1(24a , a25 – a21b15 = )1(
25a
Înlocuim în formula (23)’ obŃinem: )1(
22a x2 + )1(23a x3 + )1(
24a x4 = )1(2b
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:
a32 – a31b12 = )1(32a , a33 – a31b13 = )1(
33a , a34 – a31b14 = )1(34a , b3 – a31b15 = )1(
3b
de unde rezultă: )1(
32a x2 + )1(33a x3 + )1(
34a x4 = )1(3b
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 )1(
42a x2 + )1(43a x3 + )1(
44a x4 = )1(4b
În urma acestor transformări se ajunge la sistemul
=++=++=++=+++
)1(44
)1(443
)1(432
)1(42
)1(34
)1(343
)1(332
)1(32
)1(24
)1(243
)1(232
)1(22
1414313212111
bxaxaxa
bxaxaxa
bxaxaxa
bxaxaxaxa
(24)
unde coeficienŃii )1(ija (i,j ≥ 2) se calculează în conformitate cu formula:
)1(ija = aij – ai1b1j
ÎmpărŃind coeficienŃii ecuaŃiei a doua a sistemului (4.8) la pivotul )1(22a rezultă:
x2 + )1(23b x3 + )1(
24b x4 = )1(25b (25)
unde
)1(22
)1(j2)1(
j2 a
ab = ( j > 2 )
Acum eliminând x2 la fel cum am procedat cu x1, se ajunge la sistemul
60
=+=+
)2(44
)2(443
)2(43
)2(34
)2(343
)2(33
bxaxa
bxaxa (26)
unde )2(
ija = )1(ija - )1(
2ia )1(j2b (i,j ≥ 3)
Dacă în (26) prima ecuaŃie se împrate la )2(33a , atunci
x3 + )2(34b x4 = )2(
35b (27)
unde
)2(33
)2(j3)2(
j3 a
ab = ( j > 3).
Necunoscuta x3 din (4.10) poate fi exclusă în mod analog, ajungând la )3(
44a x4 = )3(45b ,
unde )3(
ija = )2(ija - )2(
3ia )2(j3b ( i,j ≥ 4)
Prin urmare, sistemul (21) în urma transformărilor efectuate, este echivalent cu
sistemul
==+=++=+++
)3(44
)3(44
)2(34
)2(343
)2(33
)1(24
)1(243
)1(232
)1(22
1414313212111
bxa
bxaxa
bxaxaxa
bxaxaxaxa
(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 = )3(
44
)3(4
a
b,
x3 = 4)2(
34)2(
35 xbb − ,
61
x2 = 3)1(
234)1(
24)1(
25 xbxbb −− ,
x1 = b15 – b14x4 – b13x3 – b12x2 .
AplicaŃii
Să se determine, prin metoda eliminării succesive a necunoscutelor,
soluŃia sistemului de ecuaŃii liniare:
=+−+=+−+=+−+=+−+
6x2x2x3x3
12x4x3x5x8
6x2xx3x4
4xxx2x2
4321
4321
4321
4321
Î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:
=+−−=+−−=+−
=+−+
0x5,0x5,0
4xx3
2xx
2x5,0x5,0xx
43
32
32
4321
⇒
⇒
−==−
−=+−=+−+
5,0x5,0
2x2
2xx
2x5,0x5,0xx
4
3
32
4321
Aplicând faza a doua, a substituŃiilor inverse, obŃinem:
x4 = -1
x3 = -1
x2 = 1
x1 = 1 .
62
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
=+++
=+++=+++
nnnn22n11n
2nn2222121
1nn1212111
bxa...xaxa
...............................................
bxa...xaxa
bxa...xaxa
(30)
un sistem dat de ecuaŃii liniare în care elementele diagonalei aii sunt diferite de
zero. Atunci acest sistem este echivalent cu sistemul:
⋅α+α++α+α+β=
α+α++⋅α+⋅α+β=α+α++⋅α+⋅α+β=
−−
−−
−−
0x...xxx
..............................................................................
xx...0xx
xx...x0x
nn1n1nn22n11nnn
nn21n1n22212122
nn11n1n12121111
(31)
unde βi = ii
i
a
b şi αij =
ii
ij
a
a pentru i,j = 1,...,n
Dacă notăm soluŃia iniŃială cu X(0) unde:
63
X(0) =
)0(n
)0(2
)0(1
x
...
x
x
=
β
ββ
n
2
1
... (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:
=+−=−+
=++
7x5xx
7xx5x
26xxx8
321
321
321
prin metoda iteraŃiilor succesive
Aducem sistemul la forma (31):
+−=+−=
−−=
213
312
321
x2,0x2,04,1x
x2,0x2,04,1x
x125,0x125,025,3x
Atunci
α =
−−
−−
020,020,0
20,0020,0
125,0125,00
, β =
40,1
40,1
25,3
Calculăm în continuare aproximaŃiile succesive pornind de la
(32) şi (33):
Prima aproximaŃie:
64
)1(3
)1(2
)1(1
x
x
x
=
40,1
40,1
25,3
+
−−
−−
020,020,0
20,0020,0
125,0125,00
.
40,1
40,1
25,3
=
03,1
03,1
90,2
A doua aproximaŃie:
)2(3
)2(2
)2(1
x
x
x
=
40,1
40,1
25,3
+
−−
−−
020,020,0
20,0020,0
125,0125,00
.
03,1
03,1
90,2
=
03,1
03,1
99,2
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 )1k(ix + se iau în considerare calculele iteraŃiei k+1 ale
necunoscutelor x1, x2,..., xi-1, adică )1k(1x + , )1k(
2x + , ... , )1k(1ix +
− . Ca şi în cazul metodei
iteraŃiilor succesive
X(0) =
)0(n
)0(2
)0(1
x
...
x
x
este o valoare iniŃială a soluŃiei sistemului (30). Presupunând cunoscute )k(1x , )k(
2x ,
... , )k(nx se determină, aproximaŃiile k + 1
65
++β=
++β=
++β=
+β=
∑
∑ ∑
∑
∑
−
=
++
−
= =
+
=
++
=
+
)n(nnn
1n
1j
)1k(jijn
)1k(n
1i
1j
n
ij
)k(jij
)k(jiji
)1k(i
n
2j
)n(jj2
)1k(1212
)1k(2
n
1j
)k(jij1
)1k(1
xaxax
.....................................................
xaxax
..................................................
xaxax
xax
(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(0) =
)0(3
)0(2
)0(1
x
x
x
=
40,1
40,1
25,3
Calculând obŃinem la prima aproximaŃie: )1(
1x = 3,25 – 0,125.1,40 – 0,125.1,4 = 2,9
)1(2x = 1,40 – 0,20.2,9 + 0,20.1,4 = 1,10
)1(3x = 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 aproxi-
maŃ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ă.
66
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:
A =
6,28/9,12,39/4,25,86/3,11
6,28/1,12,39/1,55,86/8,11
6,28/6,52,39/4,85,86/5,20
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:
++++=
++++=++++=
nnnn22n11nn
2nn22221212
1nn12121111
yxa...xaxax
......................................................
yxa...xaxax
yxa...xaxax
⇔
=−+−−−
=−−−+−=−−−−
nnnn22n11n
2nn2222121
1nn1212111
yx)a1(...xaxa
...........................................................
yxa...x)a1(xa
yxa...xax)a1(
Ceea ce se scrie sub formă matriceală astfel:
X = A.X + Y
sau
(E-A).X = Y
de unde rezultă
X = (E-A)-1Y
67
Aplicând matricei A formulele de mai sus obŃinem:
+++=
+++=
+++=
33213
23212
13211
yx6,28
9,1x
2,36
4,2x
5,86
3,11x
yx6,28
1,1x
2,36
1,5x
5,86
8,14x
yx6,28
6,5x
2,36
4,8x
5,86
5,20x
⇔
=
−+−−
=−
−+−
=−−
−
3321
2321
1321
yx6,28
9,11x
9,36
4,2x
5,86
3,11
yx6,28
1,1x
2,36
1,51x
5,86
8,14
yx6,28
6,5x
2,36
4,8x
5,86
5,201
şi
(E - A)-1 =
12,113,022,0
11,023,129,0
32,038,045,1
Matricea (E - A)-1 = B not
= (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:
3
2
1
x
x
x
=
12,113,022,0
11,023,129,0
32,038,045,1.
3
2
1
y
y
y
Dacă y1 = 55, y2 = 21, y3 = 15 vom obŃine x1 = 92,51 , x2 = 43,74 , x3 = 31,92.
68
C a p i t o l u l 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
( ) [ ]{ }niRxxxxX in ,1,/,...,, 21 ∈∈=
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ă.
69
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
70
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
71
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
e1 =
0
...
0
1
, e2 =
0
...
1
0
, ... , en =
1
...
0
0
acest tip de bază mai este denumit şi bază canonică.
72
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:
Teorema 5.12. Orice două baze ale unui spaŃiu vectorial au acelaşi număr de vectori.
Sistem de generatori
Bază
Vectori liniar independenŃi
V
73
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’}
74
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.
75
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:
⋅
=
nnnn
n
n
n e
e
e
cc
cc
cc
g
g
g
...
......
............
......
......
...2
1
1
221
111
2
1
Matricea
CEG =
nnn
n
n
cc
cc
cc
......
............
......
......
1
221
111
se numeşte matricea de trecere de la E la G.
76
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:
VE =
3
2
1
ααα
; VG =
3
2
1
βββ
şi CEG =
333231
232221
131211
ccc
ccc
ccc
(38)
În aceste condiŃii avem următoarea teoremă:
Teorema 5.17.
VG = ( ) 1−TEGC VG
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 =
77
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:
⋅
=
3
2
1
332313
232212
312111
3
2
1
βββ
ααα
ccc
ccc
ccc
Folosind notaŃiile (38) avem:
VE = TEGC . VG (39)
Cum det(CEG) ≠ 0 ⇒ det ( )TEGC ≠ 0, deci există inversa ( ) 1−T
EGC şi relaŃia (39)
devine:
VG = ( ) 1−TEGC VG
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:
78
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:
79
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.
80
C a p i t o l u l 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
81
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.
T((n+1).x) = T(nx + x) )40(cf
= 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):
T(x) + T(-x) = T(x-x) = T(0X) .4.6cfP
= 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)
82
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.
83
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
84
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.
85
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
......................................................
86
T(e2) = a1ng1 + a2ng2 + ... + amngm
Matriceal acest sistem se scrie:
⋅
=
mmnnn
m
m
n g
g
g
aaa
aaa
aaa
eT
eT
eT
...
...
............
...
...
)(
...
)(
)(
2
1
21
22212
12111
2
1
DefiniŃia 6.17. Matricea A pentru care transpusa este:
AT =
mnnn
m
m
aaa
aaa
aaa
...
............
...
...
21
22212
12111
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ă
VG = ( ) 1−TEGC 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
87
VG = ( ) 1−TEGC VG
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
=
n
Ev
α
αα
...2
1
(44)
vG = β1g1 + β2g2 + ... + βngn
=
n
Gv
β
ββ
...2
1
(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
(46)
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 +
+ ……………………………… +
88
+ (β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:
⋅
=
nnnnn
n
n
ccc
ccc
ccc
β
ββ
α
αα
...
...
............
...
...
...2
1
21
22212
12111
3
2
1
Ceea ce se mai poate scrie şi:
( ) ETEGG vCv ⋅= −1
Î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:
12
1EE xCx −= (47)
Analog există o matrice D pentru trecerea de la baza G1 la o bază G2 în K – spa-
Ńiul vectorial Y:
12
1GG yCy −= (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:
89
( )( )11 EG xAxT ⋅=
(49)
( )( )22 EG xAxT ⋅=
(50)
Pentru orice x ∈ X. Dar ( )( )2GxT este un element al lui Y şi, aplicând formula
(50), obŃinem:
( )( ) ( )( )2122
1)15(
1)17(
1EEGG ACxDxADxTDxT −−− =⋅== (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 (52)
Pentru orice s ∈ S, s ≠ 0 şi λ ∈ K.
90
DefiniŃie 3.21. a) Scalarul λ dat de ecuaŃia (52) se numeşte valoare proprie a operato-
rului 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:
=
⋅
⋅−
0
...
0
0
...
1...00
...........
0...10
0...01
...
............
...
...
2
1
21
22221
11211
nnnnn
n
n
x
x
x
aaa
aaa
aaa
λ
de unde rezultă sistemul de ecuaŃii:
( )
=−+++
=++−+=+++−
0)(...
......................................................
0...)(
0...
2211
2222121
1212111
nnnnn
nn
nn
xaxaxa
xaxaxa
xaxaxa
λ
λλ
Pentru ca acest sistem să admită soluŃii nenule trebuie pusă condiŃia:
det (A - λ.I) = 0 (56)
DefiniŃie 3.22. a) EcuaŃia (56) se numeşte ecuaŃia caracteristică a matricei A.
5 Dacă este numeric K
91
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:
A =
100
403
212
Conform definiŃiei 6.22 polinomul caracteristic va fi
det(A - λI) =
λ−λ−
λ−
100
403
212
= -λ3 + 3λ2 + λ - 3
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:
A =
32
12
EcuaŃia caracteristică va fi:
λ2 - 5λ + 4 = 0
Rădăcinile ecuaŃiei, care reprezintă valorile proprii sunt λ1 = 1 şi λ2 = 4.
În continuare vom afla vectorii proprii. Fie vectorul X =
2
1
x
x.
Rezolvând ecuaŃia matriceală (55) obŃinem sistemul de ecuaŃii:
=λ−+=+λ−
0x)3(x2
0xx)2(
21
21 (56)
Pentru λ1 = 1 sistemul devine:
92
=+=+
0x2x2
0xx
21
21
SoluŃia generală a sistemului este de forma x1 = a , x2 = -a. Deci vectorii
proprii sunt de forma:
X =
− a
a
Pentru λ2 = 4 sistemul devine:
=−=+−0xx2
0xx2
21
21
de unde vor rezulta vectorii proprii de forma:
X =
b2
b
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.
93
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 (61)
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ă
94
α1 = α2 = ... = αn = 0
Deci, conform (60) αn+1vn+1 = 0 ⇒ αn+1 = 0
95
C a p i t o l u l 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
96
pentru orice x∈V1 , y∈V2
DemonstraŃie
f(0V1,y) = f(0V1 + 0V1 , y) = f(0V1,y) + f(0V1,y) (62) dar
f(0V1,y) = f(0V1,y) + 0K (63)
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:
f(u,s) = f(u1x1 + u2x2 + …+ umxm, s1y1 + s2y2 + … + snyn) cfDef
=
= u1s1f(x1,y1) + …. + u1snf(x1,yn) +
97
+ u2s1f(x2,y1) + … + u2snf(x2,yn) +
+ ………………………………. +
+ ums1f(xm,y1) + … + umsnf(xm,yn) (64)
NotaŃii
1) aij = f(xi,yj)
2) u =
mu
u
...1
(65)
3) s =
ns
s
...1
(66)
DefiniŃie 7.3. Matricea A = (aij)nj
mi
,1
,1
== se numeşte matricea funcŃionalei biliniare f
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 (68)
98
Dar
uH = C-1.uX (69)
sE = D-1.sY (70)
Din relaŃiile (35) şi (36) rezultă:
uXT.A.sY = uH
T.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 =uX
T.(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
99
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) = 2
1 [F(u+s) – F(u) – F(s)]
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) <v,v> ≥ 0 pentru orice v∈V
a1) <v,v> = 0 ⇔ v = 0V
b) ><>=< v,uu,v pentru orice v,u∈V
c) <λ.v,u> = λ.<v,u> pentru orice v,u∈V şi λ∈K
d) <v1+v2,u>=<v1,u> + <v2,u> pentru orice v1,v2,u∈V
ConsecinŃă Se poate generaliza condiŃia d a definiŃiei 7.9. astfel:
<v1+v2+…+vn,u> = <v1,u> + <v2,u> + … + <vn,u>
DefiniŃie 7.10. Se numeşte spaŃiu euclidian spaŃiul vectorial pe care s-a definit un produs
scalar
Exemplu
100
Fie V = R3 şi K = R. Atunci pentru orice v şi u din V, v =
3
2
1
v
v
v
şi u =
3
2
1
u
u
u
,
produsul scalar va fi: <v,u> = v1u1 + v2u2 + v3u3
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:
><⋅><≤>< y,yx,xy,x
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 pentru orice x∈V
3. ||α.x|| = |α|.||x|| 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) = ||y||||x||
y,x
⋅><
ConsecinŃă Fie x,y∈V, nenuli. Conform propoziŃiei 7.11. avem:
<x,y> ≤ |<x,y>| ≤ ><⋅>< y,yx,x ⇒ <x,y> ≤ ||x|| . ||y|| ⇒
101
||y||||x||
y,x
⋅><
≤ 1 ⇒ cos(x,y) ≤ 1
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.
102
M A P L E M A P L E M A P L E M A P L E ––––
Software pentru Software pentru Software pentru Software pentru calcule matecalcule matecalcule matecalcule matematicematicematicematice
103
C a p i t o l u l 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.
104
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.
105
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;
106
• 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 . Pentru revenirea
la linia iniŃială (linia text → linia comandă ) se apasă .
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.
107
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 ;
)sin(4
7 2 zx+
108
# programul a îndeplinit toate operaŃiile indicate în expresia înscrisă în linia
stare şi a afişat rezultatul )sin(4
7 2 zx+ . Mai mult, observăm că programul a
făcut şi unele modificări: a simplificat fracŃia 4
1
52
13 −=− .
2) Expresia
xx 44 cossin64
48 ++−
poate fi simplificată cu ajutorul comenzii combine ( ) după cum urmează
> combine(-48/64+sin(x)^4+cos(x)^4;
( )x4cos4
1
Şi în cazul acestui exemplu sistemul a executat simplific ările posibile. Din
cursul de trigonometrie se ştie că prin intermediul formulelor
)32cos44(cos8
1sin4 +−= xxα şi )32cos44(cos
8
1cos4 ++= xxα
rezultă relaŃia x4cos4
1
4
3cossin 44 +=+ αα . Programul a efectuat, de sine
stătător, şi a redus termenii, adică xx 4cos4
1
64
484cos
4
1
4
3 =−+ .
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 xx 44 cossin52
39 ++− numele C. Acest lucru se
109
obŃine cu
> C:=(-39/52+sin(x)^4+cos(x)^4;
44 )cos()sin(4
3: xxC ++−=
Programul a simplificat fracŃia - 52
39. Cu ajutorul comenzii combine ( )
programul simplifică expresia 44 )cos()sin(4
3: xxC ++−= , atribuindu-i un alt
nume
> R:= combine(C);
R:= )4cos(4
1x
Acum apelând la R, obŃinem rezultatul de mai înainte:
> R;
( )x4cos4
1
Acelaşi rezultat se obŃine şi dacă
> C := combine (C); C;
C := ( )x4cos4
1
( )x4cos4
1
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 ;
110
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ă.
CaractereleCaractereleCaractereleCaracterele 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 Sintaxa Sintaxa 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
111
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 rezervateCuvinte rezervateCuvinte rezervateCuvinte 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.
112
Separatori Maple.Separatori Maple.Separatori Maple.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.
113
8.2.2. Obiecte Maple
ExpresiExpresiExpresiExpresiiiii.... 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 + d
c
• > 5*t^3 + 2*t^2 – t + 19.37;
5 t3 + 2 t2 - t + 19.37
> x^2/9 - y^2/25 ;
22
25
1
9
1yx −
2) > 6 + 8*5 - 4 + 16 ;
58
> (6+8)*5-4+16 ;
82
> (6+8)*(5-4)+16 ;
30
114
> (a+b+c)/(a*c);
ac
cba ++
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:
y
xz,
yz
x,
y
xz.
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:
115
• Pi – 3,141592653589793238462643…;
• exp(1 ) – baza logaritmului natural;
• I – 1− (unitatea imaginară);
• infinity – infinit ;
• -infinity – minus infinit ;
• true, false – constante din algebra Bool, etc.
Posibilitatea exprimării valorilor numerice sub forma lor exactă (de exemplu, 3
1 şi
nu 0,33333… ) este un avantaj al algebrei simbolice. De regulă, valorile exacte se
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;
7
37
> 2/7 + 5.0;
5.285714286
> Pi/3; Pi/3.0;
3
1 Pi
.3333333333 Pi
Linii.Linii.Linii.Linii. Succesiunea formată din caractere de orice natură şi cuprinsă între ghilimele
inverse („`”) poartă denumirea de linie Maple. Imaginea ghilimelelor corespunde
116
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
NumeNumeNumeNume. 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 ;
117
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 pachet
de programe matematice`), 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, 73Μ ,1,2CuFe,aliaj ]
> e:=A[1,2]+A[2,1]-a[1,1]*a[2,2] ;
e := 2,1Α + 1,2Α - a1,1a2,2
GhilimeleGhilimeleGhilimeleGhilimele. 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)
118
> factor(x^3 - 2*x^2 - 3);
x3 - 2 x2 - 3
> '' cos '' (Pi) ;
'cos'(π )
> 'cos'(Pi);
cos(π )
> cos(Pi) ;
-1
Şiruri. Şiruri. Şiruri. Ş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 , 2e
> 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.
119
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);
5041
49,
721
36,
121
25,
25
16,
7
9,
3
4,
2
1
> seq(D(f),f=[sqrt,cos^2,tan,ln,exp,1/sin]); # D
este operatorul de derivare
sqrt
1
2
1 , -2 sin cos, 1 + tan2 , a ->a
1 , exp, - 2sin
cos
120
> max(exp(1),sin(3*Pi/6),sqrt(10),Pi,int(x^2,x =
2..3));
3
19 ,
deoarece 3
19dxx
3
2
2 =∫ .
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}
121
> {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ăListăListă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, y
1, m, x3 ]
> [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ă.
122
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ă într-
o 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), x , y]
> M[3] ; # 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.
123
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 );
124
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<y);
bf := (x, y) -> 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, 3
8, π , 3.69]
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
125
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 = 2
5}
> x; x > y; y
126
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
=+−=++=++
.3334
,243
,122
321
321
321
xxx
xxx
xxx
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 3
1,
3
2,0 321 −=== xxx transformată în fracŃie
zecimală
{ }, , = x1
0 = x3
23
= x2
-13
{ }, , = x1
0. = x3
0.66667 = x2
-0.33333
127
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))
128
> > f:= x -> 2/(1+x^2); (f@@6)(x);
:= f → x2
+ 1 x2
2
+ 14
+ 14
+ 14
+ 14
+ 1
4
( ) + 1 x22
2
2
2
2
> g:=t->sqrt(t)/(1-t^4);(g@@3)(t);
:= g → tt
− 1 t4
t
− 1 t4
− 1t2
( ) − 1 t44
− 1t
( ) − 1 t42
− 1
t2
( ) − 1 t44
4
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,
129
• 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;
130
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
Maple
Scriere
matematică
Scriere în
Maple
ex exp(x) cosecx 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 t an(x) cthx coth(x)
ctgx cot(x) δ (x) dirac(x)
secx sec(x) θ (x) Heaviside(x)
Variabila h poate fi variabilă şi pentru alŃi operatori de atribuire.
131
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
132
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);
133
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 – 7;
f := 6.5 3/1x + 3sin(x)2cos(x) + 2 x – 3 x – 7
> nops (f ); # numărul obiectelor expresiei
5
> op(f ) ; # obiectele componente ale expresiei
6.5 3/1x , 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.
134
Exemple
> g:= 3*x^3+x*sin(x)-2/cos(x)+23; d:= f;
g := 3 x3 + x sin(x) -
)xcos(
2 + 23
d := 6.5 3/1x + 3sin(x)2cos(x) + 2 x – 3 x – 7
> op(1,g); op(2,f); op(3,g); op(4,g);
3 x3
3 sin(x)2 cos (x)
- )xcos(
2
23
> x:=Pi/6; g; evalf("); x:=Pi; g; evalf("); x:=3; f; evalf(");
x := 6
1π
33
4
12
1
72
1 3 −π+π + 23
21.38304104
x := π
3 π3 + 25
118.0188301
x := 3
6.53/13⋅ + 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
135
)xcos(
1
> 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ă
136
î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 =
+ + ( )sin − π α 2 ( )tan − π α 2
tan +
3 π2
α2
sin +
π2
α ( )cos − α 2 π ,
c) C = − + + − a3 b3 3 a2 b 2 c 3 a b2
Avem:
> simplify(A) ;
137
+ 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^3-
3*a*b^2=1,3*a^2*b=b^3});
+ 2 c 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:
a) ( ) − x 3 ( ) + x 4 2 , b) ( ) − x 2 3
( ) + x 2 2, c) ( )sin + + x y z , d)
( ) + 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);
138
+ − − x3 5 x2 8 x 48
− + − x3
( ) + x 2 2
6 x2
( ) + x 2 2
12 x
( ) + x 2 2
8
( ) + x 2 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)^3-
3*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.656647000I ( ) + x − .9564655914 1.656647000I( ) − x 1.912931183
( ) − x 1.912931183 ( ) + + x2 1.912931183x 3.659305710
> factor (a^3-b^3);
( ) − a b ( ) + + a2 a b b2
139
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 + x 1
1 + x 2
x + 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);
:= m +
tan −
x + x 1
x2
cot − +
x + x 1
x
+
tan
x2
+ x 1
2
cot
x2
+ 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));
140
d⌠⌡−π
π
− ( )cos x ( )sin x x
> combine(Limit(2^x,x=a)*Limit((2^x)^b,x=a)+C);
lim → x a
+ 2( ) + x x b
C
> combine(exp(x)*exp(y^3)*exp(ln(cos(alpha)*
sin(alpha))),exp);
( )cos α ( )sin α eeee( ) + x y3
> P:=4^sqrt(x)*6^y*7^z*24^t:combine(P, power);
combine(x^(cos(a)^2),power );
4( )x
6y 7z 24t
x( )( )cos a 2
> 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 collec t( ).
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);
141
:= g − + + + + + x2 eeeex 2 x eeeex 2 eeeex x2
eeeex
2 x
eeeex
2
eeeex
13
x3
> collect(g,exp(x));
+ + ( )− + + 2 x 2 x2 eeeex 1
3x3 + + 2 x 2 x2
eeeex
> collect(g,x);
+ + + +
13
x3
+ 1
eeeexeeeex x2
− 21
eeeex2 eeeex x
2
eeeex2 eeeex
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 (%);
−
12
( ) + 1 3( )/1 3
( ) + + 1 3( )/1 3
3( )/2 3
> rationalize([x/(x-sqrt(5)),x/(x-sqrt(1+sqrt(5)))]);
,x ( ) + x 5
− x2 5
x ( ) + x + 1 5 ( ) − + x2 1 5
− − x4 2 x2 4
142
> f:=[(x^2-y^2)/(x+sqrt(y)),x^2*y/(x+sqrt( x+sqrt(7)))];
:= f
, − x2 y2
+ x y
x2 y
+ x + x 7
> rationalize(f);
,( ) − x2 y2 ( ) − x y
− x2 y
x2 y ( ) − x + x 7 ( ) − + x2 x 7
− + − x4 2 x3 x2 7
> 1/(1+root(cos(1/(1-sqrt(beta))),3));
1
+ 1
cos
1
− 1 β
( )/1 3
> rationalize(%);
− + 1
cos
1
− 1 β
( )/1 3
cos
1
− 1 β
( )/2 3
+ 1
cos
1
− 1 β
> f1:=1/(1-(1+sqrt(alpha))^(1/3));rationalize(%);
1
− 1 ( ) + 1 α
13
−
+ + 1 ( ) + 1 α
13
( ) + 1 α
23
α
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(sqr t(3
+sqrt(3)+(10+6*sqrt(3))^(1/3)));
143
= + + 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).
144
C a p i t o l u l 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 , MatrixPolynomialAlgebra , OreTools ,
Sudent , Student[Calculus] , Sumtools , sumtools ,
Student[LinearAlgebra] , Student[Precalculus] ,
VariationalCalculus , VectorCalculus, student etc.
145
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
<a, b, c> (<a|b|c> ). 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 vcto r ( ). 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
146
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 [ ], ,x
1x
2x
3
:= vec2 [ ],4 -7
>
matr:=array(1..2,1..2,[[a[11],a[12]],[a[21],a[22]]] );
:= matr
a11
a12
a21
a22
> A:=array(1..3,1..3,[[1,0,-1],[2,1,4],[2,-6,0] ]);
:= A
1 0 -12 1 42 -6 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]] );
147
:= A
a11
a12
a13
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]);
:= F
( )cos x ( )sin x ( )tan x
x x2 x3
t t2 t3
2 8 16
> row(F,3);col(F,2..3);
[ ], ,t t2 t3
,[ ], , ,( )sin x x2 t2 8 [ ], , ,( )tan x x3 t3 16
> F1:=submatrix(F,2..4,2..3);
:= F1
x2 x3
t2 t3
8 16
> F2:=extend(F,0,1,4);F3:=minor(F2,3,4);
:= F2
( )cos x ( )sin x ( )tan x 4
x x2 x3 4
t t2 t3 42 8 16 4 ,
:= F3
( )cos x ( )sin x ( )tan x
x x2 x3
2 8 16
148
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]]);
:= A
1 23 4 ,
:= B
1 -10 -1
> C1:=evalm(A+2*B);C2:=evalm(2*A+B^2);
:= C1
3 03 2 ,
:= C2
3 46 9
> C3:=evalm(sin(A));C4:=evalm(A&*B);
:= C3
( )sin 1 ( )sin 2( )sin 3 ( )sin 4 ,
:= C4
1 -33 -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).
149
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]]);
:= A
1 −x
2 3 , := B
2 30 1
> B1:=evalm(B^3);B2:=inverse(B);A1:=inverse (A);
:= B1
8 210 1 ,
:= B2
12
-32
0 1 ,
:= A1
31
+ 3 2 xx
+ 3 2x
−21
+ 3 2 x1
+ 3 2x > multiply(B2,B);A2:=multiply(A,A1);
1 00 1
:= A2
+ 31
+ 3 2 x2 x
+ 3 2 x0
0 + 31
+ 3 2 x2 x
+ 3 2 x
> simplify(A2);
1 00 1
> A3:=transpose(A);B3:=transpose(B1);
:= A3
1 2−x 3 ,
:= B3
8 021 1
> rank(B);rank(B3);det(A);det(A1);
2, 2, 3+2x, 1 + 3 2x
150
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); sau o comandă în aparte with(LinearAlgebra,
nume_comandă);
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ă
i n i t
I n d i c ă v a l o r i l e e l e m e n t e l o r m a t r i c e i . P o a t e f i : procedură - parametru de intrare: un cuplu de numere întregi care determină indicii elementului expresie algebrică care se calculează ca o procedură de doi parametri şi returneaz tabel, elementele căruia (cu indici nenegativi), reprezintă elementele matricei;
151
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
o Păstrează elementele matricei în memorie (pe linii sau coloane)
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 este 0
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 00 0 00 0 0 ,
0 0 0 00 0 0 00 0 0 0
> Matrix(1..1,1..5,-3);
152
[ ]-3 -3 -3 -3 -3 > Matrix([[3,2,1],[-1,-2,-3]]);
3 2 1-1 -2 -3
> Matrix(3,(i,j)->s^(2*i-j));
s 11s
s3 s2 s
s5 s4 s3
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 + <<a[11]|a[12]|a[13]>,<a[21]|a[22]|a[23]>>;
S:=s*IdentityMatrix(2,3)+<<a[11]|a[12]|a [13]>,
<a[21]|a[22]|a[23]>>;
:= S + s
a11
a12
a13
a21
a22
a23
:= S + s
1 0 00 1 0
a11
a12
a13
a21
a22
a23
> s:=7:a[11]:=1:a[12]:=- 1:a[13]:=2:a[21]:= 3:
a[22]:=4:a[23]:=5:S;
8 -1 23 11 5
> -5*<2|4|6> ; # 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
153
10 x 1540 30t
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 612 9
> <4|3>.<2,3>; # Produsul dintre o matrice-linie si o matrice-
coloană
17
> A:=<<3,a>|<b,10>|<5,c>>;B:=<<1,2,3>|<-1,0 ,2>>;
:= A
3 b 5a 10 c
:= B
1 -12 03 2
> A.B;
+ 18 2 b 7 + + a 20 3c − + 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>>;
154
:= A
2.5 .4.6 .5
> A.A.A.A.A;
115.72584999999999421.900039999999997232.8500599999999992 6.22565000000000079
> A^5 ;
115.72585000000000821.900040000000000632.8500599999999992 6.22565000000000079
> A^(-1);A^(-2);
.495049504950495100-.396039603960396114-.594059405940594032 2.47524752475247524
.480345064209391048-1.17635525928830464-1.76453288893245696 6.36212136065091460
> %. A; # Verifică dacă A - 1A = E
1.000000000000000220.0. 1.
> A^(-2).A.A; # Verifică dacă A -2 A2 = E
.99999999999999944 0.
-.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);
:= M
1 0 -1 -2 -33 2 1 0 -15 4 3 2 17 6 5 4 39 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ă
155
[ ], , , ,9 8 7 6 5 ,
-11357
> M[1..4,4..5]; # Din matricea M a fost extrasă o submatrice
-1 -2 -31 0 -13 2 15 4 3
9.1.3.2. Valori şi vectori proprii .
Să calculăm acum determinantul matricei B = A - λ E, unde A =
603
531
412
.
Avem:
> A:=matrix(3,3,[2,1,4,1,3,5,3,0,2]):B:=evalm(A-
lambda*diag(1,1,1));
:= B
− 2 λ 1 41 − 3 λ 53 0 − 2 λ
> P[3](lambda):=det(B);
:= ( )P3
λ − − + − 11 3λ 7 λ2 λ3
Pentru determinarea polinomului caracteristic sistemul Maple prevede comanda
charpoly ( ):
> charpoly(A,lambda);
+ − + 3 λ 11 7λ2 λ3
156
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);
157
1 − 3 λ 5
0 − + 9 3 λ − − 13 λ0 0 − − + − 11 3λ 7 λ2 λ3
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]] );
:= A
4 -5 3 -2-5 8 -1 2-2 3 2 1
> gaussjord(A, 'r'); # Aici r este rangul matricei
1 0 0 -1
0 1 0-719
0 0 1119
> 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
subvector( a, i1.. i2)/SubVector( a,i
1.. i2)
Selectează o porŃiune de coordinate a
vectorului
ScalarMultiply( A)
Calculează produsul dintre o matrice/vector şi
158
un scalar
MatrixVectorMultiply( A)
produsul scalar dintre o matrice şi un vector–coloană
VectorMatrixMultiply( A)
Calculează produsul scalar dintre un vector-
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:
01 . inversarea matricei coeficienŃilor sistemului de ecuaŃii ( bAx *1−= ):
02 . aplicarea factorizării LU (method = ‘LU’);
03 . aplicarea decompoziŃiei QR (method = ‘QR’);
04 . aplicarea metodei lui Cholesky (method = ‘Cholesky ’);
05 . metoda substituŃiei inverse (method = ‘subs ’).
Exemple Să se determine soluŃia sistemului de ecuaŃii Ax = b pentru
−−−−−−
−−−
=
9125
4301
5853
5548
A şi
−−
=
5
8
0
4
b .
159
> 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');
:= x
17152607-36682607-134586917592607
Verificare:
> A.x-b;
000
0
SoluŃia poate fi obŃinută şi în cazul când se aplică decompoziŃia LU:
> P,L,U:=LUDecomposition(A);
:= , ,P L U , ,
1 0 0 00 1 0 0
0 0 1 00 0 0 1
1 0 0 0
38
1 0 0
-18
-113
1 0
-58
-113
-175163
1
8 4 -5 -5
0-132
798
558
0 016352
-21352
0 0 0-2607163
> v2:=Transpose(P).b;
160
:= v2
40
-8-5
> v3:=ForwardSubstitute(L,v2);
:= v3
4-32
-9913
-1759163
> x:=BackwardSubstitute(U,v3);
:= x
17152607
-36682607-134586917592607
sau
x =
0.6578442654-1.406981204-1.5477560410.6747219026
> A.x-b;
0000
9.1.4.2. Metoda QR
161
> x:=LinearSolve(A,b,method='QR');
:= x
0.657844265439202380-1.40698120444955865-1.547756041426926920.674721902570003752
Verificare
> A.x-b;
0.88817841970012523210-15
0.35527136788005009410-14
0.26645352591003757010-14
-0.17763568394002504610-14
Altă modalitate, mai greoaie, este decompoziŃia QR:
> Q,R:=QRDecomposition(A);
−−−−−−−−
−−−−−
−
=
79314.9000
92135.336111.400
46802.583181.813485.60
41209.240705.171360.294987.9
,
61231.060149.010373.050252.0
65738.074550.004446.010050.0
097667.001108.094838.030151.0
42824.028690.029640.080403.0
:,RQ
> v2:=Transpose(Q).b;
:= v2
-6.532745799184879411.348481147572307744.10412266118843050-6.60764769791746431
> v3:=BackwardSubstitute(R,v2);
:= v3
0.657844265439202380-1.40698120444955865
-1.547756041426926920.674721902570003752
> A.x-b;
0.88817841970012523210-15
0.35527136788005009410-14
0.26645352591003757010-14
-0.17763568394002504610-14
162
Î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), ],[ bax∈ .
Exemplu
163
Să se reprezinte graficul funcŃiei 5
sin2sin)( 2 xxxf −= pentru ],
2[ ππ−∈x .
> 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ă 2d9.2.1. Grafică 2d9.2.1. Grafică 2d9.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
164
Să se reprezinte graficele funcŃiilor 5
sin2sin)( 2 xxxf −= şi xexg x sin2)( 2 ⋅= − ,
],2
[ ππ−∈x 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 1l = [[-1, 0,3],[-0,5, -0,1], [0, 0,4], [0,5, -0,2], [1, 0,3] ,
165
[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,symbo l=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
166
Pentru obŃinerea graficului unei funcŃii parametrice ( )(tx ϕ= şi )(ty φ= ,
],[ bat ∈ ) comanda plot ( ) se scrie sub forma:
> plot ( ],..),(),([ battt =φϕ <opŃiuni>);
Exemplu Să se reprezinte graficul funcŃiei ]2,0[,5cos,3sin π∈== ttytx .
> 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 )
167
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, linesty le, etc.
Exemplu Să se construiască graficul funcŃiei ],[,,3cos2sin ππ−∈+= yxxyxxz .
> plot3d(x*sin(2*y)+y*cos(3*x),x=-Pi..Pi,y=-Pi..Pi);
Fig. 9.6
Pentru funcŃiile implicite 0),,( =zyxF graficul se obŃine cu ajutorul comenzii
implicitplot3d( ) .
Exemplu
Pentru funcŃia ]2,2[,,,4222 −∈=++ zyxzyx avem sfera din fig. 9.7.
168
> with(plots):implicitplot3d(x^2+y^2+z^2=4,x=-2..2,y= -
2..2,z=-
2..2,scaling=CONSTRAINED,color=black,styl e=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
169
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
,O1
,1
34
> radius(c1);evalf(%); # Raza cercului
116
25 16
1.250000000
> Equation(c1); # şi ecuaŃia acestuia
= + − − x2 y2 2 x32
y 0
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
170
> 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});
name of the object: p{form of the object: parabola2d
vertex: [0, 0]
focus: [1/4, 0]
directrix: 1/4+x = 0
equation of the parabola: y^2-x = 0name of the object: p1,form of the object: parabola2d
vertex: [0, 0]
focus: [0, 1/4]
directrix: 1/4+y = 0
> rotation(p2,p,Pi,'counterclockwise',OO): rotation(p 3,p,Pi/2,
'clockwise',OO): draw([p(style=LINE,thick ness=2),p1,p2,p3],
style=POINT,symbol=DIAMOND,color=green, title=`Rota Ńia unei
parabole`); # Graficul este cel din fig. 9.8
171
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;
5:
3:
=
=
b
a
> 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=y ellow),
scaling=constrained);
172
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ă.
173
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,ligh tm
odel=
light4, title=`Sfera în interiorul unui d odecadron `,
orientation=[-4,32]);
> TruncatedIcosahedron(tric,point(o,0,0,0),2.):
draw(tric,
cutout=7/8,lightmodel=light4) :
174
> dodecahedron(dode,o,2.):
rad:=1.5:SnubDodecahedron(sdode
o,rad): draw([sdode(color=yellow),dode(c olor= coral,
cutout=
8/9)], style=patch,lightmodel=light2, or ientation=[-
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;
175
■ 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);
d⌠⌡
d⌠⌡
d⌠⌡
( )g , ,x y z x y z
176
d⌠⌡
0
3
d⌠⌡
0
2
d⌠⌡
0
1
x2 y z x y z
> 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);
d⌠⌡
0
3
d⌠⌡
0
2
d⌠⌡
0
1
1 x y z
> evalf(%);
6.000000000
> Tripleint(x+y+z,x=0..a,y=0..b,z=0..c);
d⌠⌡
0
c
d⌠⌡
0
b
d⌠⌡
0
a
+ + x y z x y z
> int(int(int(x+y+z,x=0..a),y=0..b),z=0..c);
+ + 12
a2 b c12
a b2 c12
a b c2
> 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);
d⌠
⌡
0
1
d⌠
⌡
0
1
x2
+ 1 y2x y
112
π
> 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
177
student conŃine un şir de pachete de genul acestuia, ca, de exemplu, pachetele
Student , Student[LinearAlgebra] , VectorCalculus ,
Student[Calculus1] , 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
+<=<=−
−>+
.1,02
,1
,1
xy
yx
yx
> with(plots): inequal( {x+y>-1,x-y<=1,y<=2+.1*x},x=-
4..4,
y=-4..4,optionsfeasible=(color=magenta),o ptionsopen=
(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.
178
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) )( 1−= kk xsx începând cu o valoare iniŃială x0.
Exemplu Să se determine soluŃia ecuaŃiei xx =+ )1ln(3 .
> 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;
179
:= 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
,0 − − 3
LambertW ,-1 −13
1
eeee( )/1 3
1
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
180
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
)(
)(1
i
iii xf
xfxx
′+=+ , i = 1, 2, … .
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 procprocprocproc( ) end procend procend procend proc,expr x locallocallocallocal ;iter ; := iter − x /expr ( )diff ,expr x ( )unapply ,iter x
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);
181
:= F → x − x12
− ( )sin x 2 0.5( )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.
182
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
183