04 capitolul IV.pdf

Embed Size (px)

Citation preview

  • 8/19/2019 04 capitolul IV.pdf

    1/65

    Petru Florin Gavril Capitolul IV - Matrice

    101

    CAPITOLUL IV - MATRICE

    IV.1. Matricea în algebră 

    IV.1.1. Generalităţi. Notaţii şi definiţii 

    Definiţia 4.1.1

    O ecua ţie liniară cu n  necunoscute x 1 , x 2 , ...,x n este o ecuaţie de forma 

    a1 x1+a2 x2+......+an xn=b  (1)

    unde ai(i=1,2,...,n) şi b sunt numere complexe.

    Vom considera un sistem de m astfel de ecuaţii cu n necunoscute:

    mnmnmm

    nn

    nn

    b xa xa xa

    b xa xa xa

    b xa xa xa

    ...

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

    ...

    ...

    2211

    22222121

    11212111

    (2)

    unde aij,bi(i=1,2,...,m,j=1,2,…,n) sunt numere complexe. Numerele aij poartă numele de

    coeficienţi ai necunoscutelor, iar numerele bi se numesc termeni liberi.

    A rezolva sistemul (2) înseamnă a determina toate sistemele ordonate de numere

    (α1, α2, ... αn) astfel încât înlocuim  în sistem necunoscutele x1, x2, ...,xn  respectiv cu

    numerele α1, α2, ... αn fiecare dintre ecuaţiile sistemului este verificată. Se ştie că un astfel

    de sistem pentru cazul n=m=2 sau n=m=3 se pot rezolva folosind metoda substituţiei sau a

    reducerii. Cum practica impune rezolvarea unor sisteme de forma (2) care au un număr

    mare de ecuaţii şi necunoscute, există metode generale de rezolvare prin operaţii aplicate

    coeficienţilor necunoscutelor precum şi termenilor liberi ai sistemului. Acest lucru impune

    un studiu mai atent al sistemelor de ecuaţii liniare, studiu în care un rol important îl au

    următoarele două matrice:

    A =

     

     

     

     

    mnmm

    n

    n

    aaa

    aaa

    aaa

    ...

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

    ...

    ...

    21

    22221

    11211

     respectiv  A  =

    Prima matrice se numeşte matricea sistemului (2)  , iar a doua matrice este cunoscută  sub

    numele de matricea extinsă a sistemului (2) . În capitolul următor vom vedea clar  

    importanţa acestor două matrice în studiul sistemelor de ecuaţii liniare.

     

     

     

     

    mmnmm

    n

    n

    baaa

    baaa

    baaa

    ...

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

    ...

    ...

    21

    222221

    111211

  • 8/19/2019 04 capitolul IV.pdf

    2/65

    Petru Florin Gavril Capitolul IV - Matrice

    102

    Noţiunea de matrice: 

    Fie M = 1, 2, … m, N = 1, 2, … n mulţimea primelor m respectiv n numere naturale

    nenule. Vom nota cu C, aşa cum am obişnuit, mulţimea numerelor complexe şi fie E  C. 

    Definiţia 4.1.2 Numim matrice de tipul (m, n) cu elemente din E o funcţie A : M    N → E, astfel

    încât perechii ordonate (i, j) îi corespunde elementul aij  E,:  

     A(i, j) = aij  E, () (i, j)   M   N.

    Reprezentarea în mod natural a unei matrice este un tablou bidimensional cu m linii şi n

    coloane se face astfel:

    A =

     

     

     

     

    mnmm

    n

    n

    aaa

    aaa

    aaa

    ...

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

    ...

    ...

    21

    22221

    11211

      (3)

    Datorită notaţiei (3), în loc de matrice de tipul (m, n) se mai spune matrice cu m linii şi n

    coloane. Numerele aij se numesc elementele matricii A; i reprezintă linia, iar j reprezintă

    coloana în care este situat elementul aij al tabloului A.

    De multe ori matricea A se mai notează şi astfel:  

    A =n j

    miija

    1

    1  sau A =n j

    miija,...1

    ,...1

      (3’) 

    Restricţia funcţiei A la mulţimea elementelor de forma (i, 1), (i, 2), … (i, n) defineşte linia

    de rang i  a matricei. De fapt, linia de rang i a matricei este determinată de şirul de

    elemente ai1, ai2, … ain, i  1, 2, … m.

    În mod analog, restricţia funcţiei A la mulţimea elementelor de forma (1, j), (2, j), … (n, j),

    unde j  1, 2, … n, defineşte coloana de rang j a matricei A.

    O matrice de tipul (m, n) are m*n elemente.

     Noţiunea de matrice a fost introdusă în studiul sistemelor de ecuaţii liniare de cătrematematicianul englez Arthur Caylay (1821-1895) în anul 1858. El a folosit notaţia A =

    n jmiija

    11 , notaţia (3’) fiind introdusă de M. Bocher în anul 1919. 

     Noţiunea de matrice s-a introdus pentru „ algebrizarea noţiunii de reprezentare geometrică”

     –   unei transformări geometrice asociindu-i-se o matrice pentru a reduce studiul

    transformărilor geometrice la studiul matricelor.  

    Matricele pot fi gândite şi ca o generalizare a vectorilor –  vectorii sunt matrice cu o singură

    linie sau cu o singură coloană. 

  • 8/19/2019 04 capitolul IV.pdf

    3/65

    Petru Florin Gavril Capitolul IV - Matrice

    103

    Cazuri particulare:

    1) Dacă n = 1, matricea de tipul (m, 1) se numeşte matrice coloană şi este de

    forma:

    A =

     

     

     

     

    1

    31

    21

    11

    ma

    a

    a

    a

    .

    2) Dacă m = 1, matricea de tipul (1, n) se numeşte matrice linie şi este de forma: 

    A = (a11, a12, a13, … a1n)

    3) Dacă m = n, matricea de tipul (m, n) se numeşte matrice pătratică de ordinul n 

    şi este de forma: 

    A =

     

     

     

     

    nnnn

    n

    n

    aaa

    aaa

    aaa

    ...

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

    ...

    ...

    21

    22221

    11211

    .

    Pentru o matrice pătratică de ordin n, sistemul ordonat de elemente

    (a11, a22, a33, … ann) se numeşte diagonala principală a matricei A, iar sistemul ordonat de

    elemente (a1n, a2n-1, a3n-2, … an1) se numeşte diagonala secundară a matricei A.Suma de forma a11  + a22  + a33  + … + ann  se numeşte urma matricei A şi se

    notează:

    Tr(A) =

    n

    i

    iia1

    .

    Vom nota cu M n(C) mulţimea tuturor matricelor pătratice de ordin n cu elemente din C şi

    cu M mn(C) mulţimea tuturor matricelor de tip (m, n) cu elemente din C. În mulţimea M

    n(C) există şi următoarele cazuri particulare de matrice:  1) matricea unitate de ordin n de forma:

    In =

     

     

     

     

    1...000

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

    0...010

    0...001

     cu a11 = 1, i = 1, … n şi aij =0, () i  j.

    Se mai notează astfel:

    In = (ij)   n ji    ,1 , unde ij este simbolul lui Kronecker, definit astfel

  • 8/19/2019 04 capitolul IV.pdf

    4/65

    Petru Florin Gavril Capitolul IV - Matrice

    104

    ij =

     jidaca

     jidaca

    0

    1.

    2) matricea diagonală de ordin n de forma:

    A =

     

     

     

     

    nna

    aa

    ...000

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

    0...000...00

    22

    11

     = (aij∙ij) n ji    ,1 .

    3) matrice triung hiulară de ordin n care poate fi de forma:

    A1 =

     

     

     

     

    nnnnn   aaaa

    aa

    a

    ...

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

    0...0

    0...00

    321

    2221

    11

     sau A2 =

     

     

     

     

    nn

    n

    n

    a

    aaa

    aaaa

    ...000

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

    ...0

    ...

    22322

    1131211

    .

    Este matricea în care aij = 0 pentru i  j, sau pentru i  j.

    A1 se numeşte matrice triunghiulară inferior, iar A2 se numeşte matrice

    triunghiulară superior

    4) matricea scalară de forma:

    A =

     

     

     

     

     

     

     

    ...000

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

    0...00

    0...00

    , unde α  C.

    5) matricea nulă este matricea în care toate elementele sunt egale cu 0; este de

    forma:

    0n =

     

     

     

     

    0...000

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

    0...000

    0...000

     

    În mulţimea M mn(C) distingem câteva submulţimi importante şi anume:

    M mn( ) care reprezintă mulţimea matricelor pătratice de tipul (m, n) cu elemente numere

    reale, M mn(Q) care reprezintă mulţimea matricelor pătratice de tipul (m, n) cu elemente

    numere raţionale, M mn(Z) care reprezintă mulţimea matricelor pă tratice de tipul (m, n) cu

    elemente numere întregi. 

    Este clar că avem incluziunile: 

    M mn(Z)  M mn(Q)  M mn( )  M mn(C).

  • 8/19/2019 04 capitolul IV.pdf

    5/65

    Petru Florin Gavril Capitolul IV - Matrice

    105

    Elementele mulţimii M mn(C) se notează cu litere mari din alfabetul latin: A, B, C, … sau

    A’, B’, C’, … . 

    Egalitatea matricelor

    Fie A şi B  M mn(C) două matrice. Cum A şi B sunt funcţii A, B : M   N → C, spunemcă matricele A şi B sunt egale dacă şi numai dacă sunt egale ca funcţii.  

    Deci, A = B  () i  M, j  N, A(i, j) = B(i, j).

    Folosind notaţia (3) corespunzătoare unei matrice şi presupunând că: 

    A =

     

     

     

     

    mnmm

    n

    n

    aaa

    aaa

    aaa

    ...

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

    ...

    ...

    21

    22221

    11211

     şi B =

     

     

     

     

    mnmm

    n

    n

    bbb

    bbb

    bbb

    ...

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

    ...

    ...

    21

    22221

    11211

     

    Atunci A = B  aij = bij, () i  M, j  N.

    IV.1.2. Operaţii cu matrice 

    IV.1.2.1 Adunarea matricelor

    Definiţia 4.1.3

     Fie A, B    M m n( C  ), A =n jmiija

    11  , B =

    n jmiijb

    11 . Definim matricea

    C =n jmiijc 1

    1  astfel:

    cij = aij + bij , () i = m,1  , j = n,1 .

     Matricea C se numeşte suma matricelor A şi B şi se notează C = A + B.  

    Definiţia 4.1.4

    Operaţia internă pe  M m n( C  ), prin care oricăror două matrice A, B se asociază

     suma lor C, se numeşte adunarea matricelor. 

    Observaţie: Are sens să vorbim de adunarea matricelor doar dacă ele sunt de acelaşi tip.  

    Proprietăţile adunării matricelor: 

    1) Comutativitatea: ()A, B  M mn(C), A + B = B + A.

    2) Asociativitatea: ()A, B, C  M mn(C), (A + B) + C = A + (B + C).

    Demonstraţia decurge din asociativitatea numerelor complexe. 

    3)  Element neutru:  matricea nulă (cu toate elementele nule) are rol de element

    neutru la adunarea matricelor, adică: ()A  M mn(C), A + Omn = Omn + A.

  • 8/19/2019 04 capitolul IV.pdf

    6/65

    Petru Florin Gavril Capitolul IV - Matrice

    106

    4) Matricea opusă: ()A  M mn(C), () – A  M mn(C), astfel încât

    A + (-A) = (-A) + A = Omn

    Observaţii: 

    1)  Proprietăţile de mai sus arată că mulţimea M mn(C) are o structură de grupabelian.

    2)  Odată cu adunarea, se defineşte şi operaţia de scădere a matricelor. Prin

    diferenţa A-B se înţelege matricea A+(-B).

    3)  Ecuaţia matriceală B + X = A, unde A, B  M mn(C) are drept soluţie unică

    matricea X = A-B, cu X  M mn(C).

    IV.1.2.2. Înmulţirea matricelor cu scalari din corpul K

    Definiţia 4.1.5Se numeşte produs dintre numărul λ    K şi matricea A =

    n jmiija

    11    M m n( K  ),

    matricea B =n jmiijb

    11    M m n( K  ), notată B = λA, unde b ij= λaij.

    Deci, înmulţirea cu scalari din corpul K a  matricelor din M mn(K ) este o operaţie

    externă, care asociază fiecărei perechi (λ, A)  K  M mn(K ) o matrice λA  M mn(K ).

    Observaţie: 

    Înmulţirea cu scalari din corpul K se poate defini pentru orice matrice, adică esteo operaţie peste tot definită pe M (K ), unde am notat cu M (K ) mulţimea tuturor matricelor

    cu elemente din corpul K.

    Operaţia astfel definită are următoarele  

    Proprietăţi: 

    1)  1∙A = A, 1  K este elementul unitate din K.

    2)  λ∙(∙A) = (λ∙)∙A, unde λ,   K, A  M (K ).

    3)  λ∙(A + B) = λ∙A + λ∙B, unde λ  K, A, B  M (K ).4)  (λ + )∙A = λ∙A + ∙A, unde λ,   K, A  M (K ).

    Se constată deci că operaţiile de adunare şi înmulţire a matricelor cu scalari din

    corpul K determină pe M mn(K ) o structură de spaţiu liniar peste corpul K.  

    IV.1.2.3. Înmulţirea matricelor

    Definiţia 4.1.6

     Fie A =n jmiija

    11  o matrice de tip (m, n) şi B =

     p jniijb

    11  o matrice de tip (n, p). Prin

     produsul matricelor A şi B, notat AB se înţelege o nouă matrice C= p jmiijc

    11  de tipul (m, p) 

  • 8/19/2019 04 capitolul IV.pdf

    7/65

    Petru Florin Gavril Capitolul IV - Matrice

    107

    în care orice element cij  situat la intersecţia liniei „i” cu coloana „j” este egal cu suma

     produselor elementelor din linia „i” a matricei A cu elementele din coloana „j” a matricei

     B, efectuată după regula următoare. 

    cij = ai1b1j + ai2b2j + … + ainbnj = kjn

    ik ba1  , (   ) i=   m,1  , j=   n,1   (1)

    Proprietăţi:

    1)   Distributivitatea faţă de adunare 

    Dacă A  M mn(K ), iar B1, B2  M n p(K ), atunci are loc relaţia: 

    A(B1 + B2) = A B1 + AB2  (2)

    Dacă A1, A2  M mn(K ), iar B  M n p(K ), atunci are loc relaţia: 

    (A1 + A2)B = A1B + A2B (3)

    2)   Asociativitatea

    () A  M mn(K ), B  M n p(K ) şi C  M  pq(K ), are loc egalitatea:

    (AB)C = A(BC) (4)

    3)  () A  M mn(K ), au loc relaţiile: 

    ImA = A (5)

    AIn = A (6)

    unde Im este matricea unitate de ordin m, iar I n matricea unitate de ordin n.

    4)  () A  M mn(K ), au loc relaţiile: 

    O pm ∙ A = O pn  (7)

    A ∙ Onp = Omp  (8)

    unde O pm , O pn , Onp , Omp sunt matrice nule. 

    5)   Înmulţirea matricelor, în general, nu este comutativă 

    Definiţia 4.1.7

     Dacă A ∙B = B ∙A, atunci matricele A şi B se numesc permutabile. 

    Observaţii: 

    1) Matricea nulă On  şi matricea unitate In  de ordin n sunt permutabile cu orice

    matrice de acelaşi ordin, adică au loc relaţiile următoare: 

    A ∙ In = In ∙ A = A  (10)

    A ∙ On = On ∙ A = On  (11)

    () A  M nn(K ).

  • 8/19/2019 04 capitolul IV.pdf

    8/65

  • 8/19/2019 04 capitolul IV.pdf

    9/65

    Petru Florin Gavril Capitolul IV - Matrice

    109

    Propoziţia 4.1.1

     Mulţimea matricelor simetrice de ordin n formează un subspaţiu liniar al

     spaţiului liniar M n( K  ).

    Observaţie: 

    Produsul a două matrice simetrice nu este, în general, o matrice simetrică. 

    Definiţia 4.1.10

    O matrice A se numeşte antisimetrică dacă satisface condiţia:t  A = - A.

    Observaţie: 

    Într -o matrice antisimetrică, elementele situate simetric în raport cu diagonala

     principală sunt opuse, iar elementele diagonalei principale sunt nule, adică:  

    aij = a ji , () i, j = 1, 2, … n, i  j

    aii = 0, () i = 1, 2, … n. 

    Propoziţia 4.1.2

     Mulţimea matricelor antisimetrice de ordin n formează un subspaţiu liniar al lui

     M n( K  ).

    Propoziţia 4.1.3

     Produsul a două matrice antisimetrice de ordin n, permutabile între ele, este o

    matrice simetrică de ordin n. 

    Definiţia 4.1.11

    O matrice A   M n(  ) se numeşte ortogonală dacă şi numai dacă A∙t  A = I n , unde

     I n este matricea unitate de ordin n.

    Definiţia 4.1.12

    O matrice A  M n( C  )este cu elemente pur imaginare dacă aij=

      ija  , (   )i, j=   n,1  

    unde

      ija   este conjugatul numărului complex a ij.

    Definiţia 4.1.13 

    O matrice A   M n( C  ) se numeşte hermitică dacă A =t (  A ).

    Definiţia 4.1.14

    O matrice A   M n( C  ) se numeşte antihermitică dacă A = -t (  A ).

    Definiţia 4.1.15

    O matrice A   M n( C  ) se numeşte unitară dacăt (  A )∙A = A ∙ t (  A ) = I n.

  • 8/19/2019 04 capitolul IV.pdf

    10/65

    Petru Florin Gavril Capitolul IV - Matrice

    110

    IV.1.4. Permutările unei mulţimi finite. Determinanţi.

    Permutările unei mulţimi 

    Definiţia 4.1.16 

    Să notăm cu A mulţimea primelor n numere naturale, adică A =  1, 2, …, n.O funcţie bijectivă σ : A    A se numeşte permutare (substituţie) de gradul n. 

    Observaţii: 

    1.Vom nota mulţimea tuturor permutărilor de gradul n cu Sn  sau cu σn, iar

    elementele din Sn  le vom nota cu litere mici greceşti: υ, ψ, θ, …, σ, τ. Se

    obişnuieşte ca o permutare σ de gradul n să se noteze astfel:  

    σ =

     

     

     

     n

    n

          .........21

    ...........21 

    2. Numărul tuturor permutărilor de gr ad n este n!.

    În mulţimea Sn  distingem un element remarcabil şi anume funcţia identică 

    1A : A A, care poartă numele de permutare identică, notată cu e. Aşadar,

    e =  

      

     n

    n

    ...321

    ...321.

    Definiţia 4.1.17

     Fie A =  1, 2, …, n. Definim submulţimea M =  (i, j) / 1≤ i    j ≤ n. Dacă σ   S neste o permutare de gradul n, o pereche ordonată (i, j)     M se numeşte inversiune a

     permutării σ dacă σ(i)    σ(j). 

    Vom nota cu m(σ) numărul tuturor inversiunilor permutării σ. Se observă că m(σ)

    este cel mult egal cu numărul elementelor mulţimii M, care este egal cu C  2n .

    Deci, 0 ≤ m(σ) ≤ C 2n  = 2

    )1(   nn.

     Numărul ε(σ ) = (-1)m(σ)

     se numeşte signatura permutării σ.  Permutarea σ se numeşte pară, respectiv impară dacă ε(σ )  = +1 respectiv

    ε(σ ) = -1.

    Determinanţi  

    Definiţia 4.1.18

    Se numeşte determinant asociat unei matrice de ordin 2 cu a ij     K,

     K –  corp comutativ, i, j   1, 2 , A =

     

     

     

     

    2221

    1211

    aa

    aa , numărul Δ   K, notat cu:

  • 8/19/2019 04 capitolul IV.pdf

    11/65

    Petru Florin Gavril Capitolul IV - Matrice

    111

    Δ = detA =2221

    1211

    aa

    aa = a11a22 - a12a21 

    Observaţie: 

    Mulţimea S2  a permutărilor mulţimii 1, 2  este formată din două elemente: 

    σ1 =  

      

     

    21

    21  şi σ2 =

     

      

     

    12

    21. m(σ1) = 0; m(σ2) = 1 deci σ1  –   permutare pară, iar σ2  –  

     permutare impară. 

    Definiţia 4.1.19 

    Se numeşte determinant asociat unei matrice de ordin 3 cu a ij    K (K  –   corp

    comutativ), i, j    1, 2, 3 , A=

     

     

     

     

    333231

    232221

    131211

    aaaaaa

    aaa

     , numărul Δ   K, notat cu:

     Δ = detA =

    333231

    232221

    131211

    aaa

    aaa

    aaa

     = 3

    3

    21   321   i

    ii   aaa 

        

    Definiţia 4.1.22: 

    Se numeşte determinant asociat unei matrice pătratice de ordin n cu a ij    K

    ( K  –   corp comutativ) , i, j    1, 2, …, n , A =

     

     

     

     

    nnnn

    n

    n

    aaa

    aaa

    aaa

    21

    22221

    11211

      numărul unic

    determinat Δ   K, dat de formula:

    Δ = detA =

    nnnn

    n

    n

    aaa

    aaa

    aaa

    21

    22221

    11211

     =    nS 

    nnaaa 

          )()2(2)1(1   ...)(  

    Observaţii: 

    1. Produsul a1σ(1)a2σ(2)…anσ(n) se numeşte termen al determinantului de ordinul n.  

    2. Uneori numărul Δ = detA se mai notează prescurtat şi  A  saun jniija

    11 .

    3. În formula determinantului unei matrice există n! termeni, dintre care n!/2 au

    semnul (+), iar n!/2 au semnul (-).

  • 8/19/2019 04 capitolul IV.pdf

    12/65

    Petru Florin Gavril Capitolul IV - Matrice

    112

    4. Definiţia determinantului se aplică şi matricelor de ordin 1, când A = (a 11). În

    acest caz, detA = a11.

    5. Noţiunea de determinant are sens numai pentru matrice pătratice.  

    Teorema 4.1.1

     Dacă la o linie (sau coloană) a matricei A adunăm elementele altei linii (sau

    coloane) înmulţite cu acelaşi număr, atunci această matrice are acelaşi determinant ca şi

    matricea A.

    Teorema 4.1.2

     Dacă A, B sunt două matrice pătratice de ordin n cu elemente din acelaşi corp,

    atunci det(AB) = detA ∙ detB.  

    Calculul determinanţilor 

    Calculul determinanţilor de ordin doi şi trei  

    Fie determinantul de ordin doi

    Δ =2221

    1211

    aa

    aa 

    cu două linii şi două coloane format din 4 elemente. Valoarea determinantului (4)  este dată

    de expresia

    Δ = a11a22  –  a12a21 

    Valoare care se obţine făcând diferenţa dintre produsul elementelor de pe

    diagonala principală şi produsul elementelor de pe diagonala secundară. 

    Să considerăm acum determinantul de ordin trei  

    Δ =

    333231

    232221

    131211

    aaa

    aaa

    aaa

     

    Valoarea acestui determinant poate fi calculată în două moduri şi anume:  

    Regula triunghiurilor

    Valoarea determinantului (5) este dată de expresia:  

    Δ = a11a22a33 + a13a21a32 + a12a23a31  –  a13a22a31  –  a11a23a32  –  a12a21a32 

    Termenii cu „+” din (5’) sunt: produsul elementelor de pe diagonala principală şi

    două produse de elemente situate în vârfurile a două triunghiuri (isoscele) care au bazele

     paralele cu prima diagonală (vezi Fig.1). Termenii cu „-” sunt: produsul elementelor de pe

  • 8/19/2019 04 capitolul IV.pdf

    13/65

    Petru Florin Gavril Capitolul IV - Matrice

    113

    diagonala secundară şi două produse de elemente situate în vârfurile a două triunghiuri

    (isoscele) care au bazele paralele cu diagonala secundară (vezi figura4.2).

    333231

    232221

    131211

    aaa

    aaa

    aaa

     

    333231

    232221

    131211

    aaa

    aaa

    aaa

     

     Figura 4.1 Figura 4.2

    Calculul determinanţilor de ordin n 

    Fie determinantul de ordin n următor: 

    d =

    nnnnn

    n

    n

    aaaa

    aaaa

    aaaa

    321

    2232221

    1131211

     

    Determinantul de ordin n-1 care se obţine din d suprimând linia i şi coloana j se

    numeşte minorul elementului aij şi se notează cu d ij. 

     Numărul Aij  = (-1)i+j

    dij  se numeşte complementul algebric al elementului aij în

    determinantul d.

    Teorema 4.1.3

     Fie determinantul de ordin n, d =n jniija

    11 . Atunci, (   ) 1 ≤ i ≤ n are loc

    egalitatea:

    d = ai1 Ai1 + ai2 Ai2 + … + ain Ain 

    Egalitatea (1) poartă denumirea de dezvoltarea determinantului d după linia i. 

    Teorema 4.1.4

     Fie determinantul de ordin n, d =n jniija

    11 . Atunci, (   ) 1≤ j ≤ n are loc

    egalitatea

    d = a1j A1j + a2j A2j + … + anj Anj 

    Egalitatea (3) poartă denumirea de dezvoltarea determinantului d după coloana j. 

  • 8/19/2019 04 capitolul IV.pdf

    14/65

    Petru Florin Gavril Capitolul IV - Matrice

    114

    Determinanţi triunghiulari 

    Sunt acei determinanţi care au toate elementele situate deasupra uneia din diagonale, nule. 

    Δ =

    nnnn   aaa

    aa

    a

    ...

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

    00

    000

    21

    2221

    11

     

    (1)

    Dezvoltându-l după prima linie, vom avea:  

    Δ = a11 

    nnnn   aaa

    aa

    a

    ...

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

    0...

    0...0

    32

    3332

    22

     

    Procedând analog, vom obţine: 

    Δ = a11 a22 a33 … an-1n-1 ann.

    Valoarea unui determinant triunghiular de tipul (1) este egală cu produsul elementelor de

     pe diagonala principală.  

    Determinanţi simetrici şi antisimetrici 

    1) Un determinant Δ =n jniija

    11   se numeşte simetric, dacă elementele simetrice faţă

    de diagonala principală sunt egale, adică aij=a ji 

    Un astfel de determinant are2

    )1(   nn elemente diferite.

    2) Un determinant Δ =n jniija

    11   se numeşte antisimetric, dacă elementele sale au

     proprietatea aij = - a ji  adică elementele simetrice faţă de diagonala principală

     sunt egale şi de semn contrar. 

    IV.1.5. Rangul unei matrice. Matrice inversabile

    Rangul unei matrice

    Fien jmi jia A

    11,   )(  o matrice din M mn(C) şi k  N astfel încât 1 ≤ k ≤ min(m,n).

    Dacă luăm din matricea a k linii şi k coloane, elementele care se găsesc la intersecţia

    acestor linii şi coloane formează o matrice pătratică al cărei determinant se numeşte mino r

    de ordin k al matricei A.

    Din matricea A se pot obţine k n

    m  C C   minori de ordin k.

  • 8/19/2019 04 capitolul IV.pdf

    15/65

  • 8/19/2019 04 capitolul IV.pdf

    16/65

    Petru Florin Gavril Capitolul IV - Matrice

    116

    iterative prezentate în capitolul IV al prezentei lucrări, precum şi cu ajutorul

    sistemelor de ecuaţii liniare prezentate în acelaşi capitol.  

    Matrice inversabile

    Definiţia 4.1.24

    O matrice pătratică A   M n( K  ) se numeşte singulară sau degenerată dacă

    detA=0 şi se numeşte nesingulară sau nedegenerată dacă detA    0, unde prin detA am

    notat determinantul matricei A.

    Observaţie: 

    Matricea unitatea de ordin n, In, este nesingulară deoarece detIn = 1  0.

    Definiţia 4.1.25

    O matrice pătratică A   M n( K  ) este inversabilă dacă () B   M n( K  )astfel încât

     A∙B = B∙A = I n.

     Matricea B se numeşte inversa matricei A. 

    Observăm că şi A este inversa matricei B.

    Teorema 4.1.7

     Inversa unei matrice, dacă există, este unică.  

    Notaţie: Inversa unei matrice A, dacă există, se notează cu A-1 şi astfel vom avea: 

    A ∙ A-1 =A-1 ∙ A = In, de unde (A-1

    )-1

     = A.

    Teorema 4.1.8

     Fie A   M n( K  ) o matrice pătratică. Matricea  A este inversabilă dacă şi numai

    dacă este nesingulară (detA   0).

    Proprietăţi:

    1)  Dacă A M n(K ) este inversabilă, atunci şi A-1

      este inversabilă şi are loc

    egalitatea (A-1

    )-1

     = A.

    2)  Dacă A M n(K ) este nesingulară, atunci şi A-1

     este nesingulară deoarece are

    loc egalitatea (A-1

    )-1

     = A.

    3)  Între determinantul matricei A şi determinantul matricei A-1 are loc egalitatea

    det A-1

     = Adet

    4)  Inversa matricei unitate de ordin n este tot matricea unitate de ordin n:

    In-1

     = In 

    5)  Inversa matricei transpuse este egală cu transpusa matricei inverse: 

    (tA)-1 = t(A-1)

  • 8/19/2019 04 capitolul IV.pdf

    17/65

    Petru Florin Gavril Capitolul IV - Matrice

    117

    6)  Dacă A şi B sunt matrice inversabile , de acelaşi ordin, atunci produsul lor

    este AB este tot o matrice inversabilă şi inversa matricei produs este egală cu

     produsul matricelor inverse, luate în ordine schimbată, adică:(AB)-1 = B-1A-1 

    7)  Dacă A M n(Q) sau A M n( ), cu detA  0, atunci A-1

     M n(Q) sau

    A-1M n( ) .

    8)  Dacă A Mn(Z) şi detA = 1 , atunci A-1  Mn(Z), adică A este inversabilă

    în Mn(Z).

    9)  Fie A, B Mn(C) astfel încât A să fie nesingulară şi ecuaţiile matriceale

    A∙X=B, Y∙A=B.  Soluţiile celor două ecuaţii sunt două matrice distincte,

    deoarece înmulţirea matricelor în Mn(C) nu este comutativă. 

    X = A

    -1

    ∙ B şi Y = B ∙ A

    -1

    .

    IV.1.6. Sisteme de ecuaţii liniare 

    IV.1.6.1. Definiţii. Notaţii. 

    Sistemele de ecuaţii liniare intervin aproape în toate domeniile matematicii aplicate. În

    unele cazuri, ele apar în mod natural, din însăşi formularea problemei. În alte cazuri,

    sistemele de ecuaţii liniare rezultă din aplicarea unor metode numerice de rezolvare a

     problemelor iniţiale. Problema aproximării funcţiilor şi problema rezolvării de sisteme de

    ecuaţii diferenţiale sunt exemple tipice de astfel de probleme.  

    Definiţia 4.1.23: 

     Fie K  un corp comutativ. Se numeşte sistem de ecuaţii liniare cu coeficienţi în K  

    în necunoscutele x1 , x2 , …, xn un ansamblu de egalităţi: 

    mnmnmm

    nn

    nn

    b xa xa xa

    b xa xa xa

    b xa xa xa

    ...

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

    ...

    ...

    2211

    22222121

    11212111

      (1) 

    unde aij , bi    K .

    Sistemul (1) poate fi scris sub formă condensată astfel: 

    n

     j

    i jij   b xa1

    , 1 ≤ i ≤ m  (2)

    Matricea de tip mn:

  • 8/19/2019 04 capitolul IV.pdf

    18/65

    Petru Florin Gavril Capitolul IV - Matrice

    118

    A =

     

     

     

     

    mnmm

    n

    n

    aaa

    aaa

    aaa

    ...

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

    ...

    ...

    21

    22221

    11211

    , notată şi A =n jmiija

    11 , se numeşte

    matricea coeficienţilor sistemului, iar matricea de tip m(n-1):

     A  =

     

     

     

     

    mmnmm

    n

    n

    baaa

    baaa

    baaa

    ...

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

    ...

    ...

    21

    22221

    111211

    ,

    având primele n coloane, coloanele matricei A şi ultima   coloană formată din coloana

    termenilor liberi ai sistemului se numeşte matricea extinsă. 

    Matricea B =

     

     

     

     

    mb

    b

    b

    ...

    2

    1

     este matricea termenilor liberi, iar dacă notăm cu X =

     

     

     

     

    m x

     x

     x

    ...

    2

    1

    ,

    matricea necunoscutelor, sistemul (1) se mai scr ie şi sub forma matriceală: 

    A ∙ X = B  (3)

    Definiţia 4.1.24: 

    Un sistem ordonat de elemente n      ,...,, 21  din K se numeşte soluţie a

     sistemului (1), dacă înlocuind în (1) x j prin   j , 1 ≤ j ≤ n, toate cele m ecuaţii sunt

    verificate, adică 

    n

     j

    i jij   ba1

       , 1 ≤ i ≤ m. 

    Dacă sistemul (1) are măcar o soluţie, se spune că este compatibil determinat

    dacă soluţia este unică şi nedeterminat, dacă există mai multe soluţii. 

    Dacă sistemul (1) nu admite soluţii, se spune că este incompatibil.  

    A r ezolva un sistem de ecuaţii liniare (1) înseamnă a decide dacă acesta este

    compatibil sau incompatibil, iar în cazul compatibilităţii, a -i găsi soluţia unică, atunci când

    este determinat, şi soluţia generală când este nedeterminat.

    De studiul compatibilităţii unui sistem de ecuaţii liniare mă voi ocupa în

    continuare în cadrul acestui capitol al lucrării, totodată trecând în revistă şi câteva clase

    importante de astfel de sisteme.

  • 8/19/2019 04 capitolul IV.pdf

    19/65

    Petru Florin Gavril Capitolul IV - Matrice

    119

    IV.1.6.2. Sisteme de tip Cramer

    Sistemele liniare de forma:

    nnnnnn

    nn

    nn

    b xa xa xa

    b xa xa xa

    b xa xa xa

    ...

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

    ...

    ...

    2211

    22222121

    11212111

      (4)

    în care matricea A a sistemului este o matrice pătratică cu elemente din corpul comutativ

    K , A M n(K ) şi B =t(b1, b2, …, bn) este o matrice nenulă de tip n1, sunt sisteme de tip

    Cramer.

    Sistemele de mai sus se pot scrie sub formă matriceală astfel: 

    A ∙ X = B  (5)

    unde, X =t(x1, x2, …, xn) este coloana necunoscutelor.

    Teoremă: - regulile lui Cramer

    Cu notaţiile de mai sus, dacă d = detA este nenul, atunci sistemul (4) are soluţie

    unică şi anume

     x1 =d 

    d 1 , x2 =d 

    d 2 , …, xn =

    d n   (6)

    d  j  fiind determinantul care se obţine din d prin înlocuirea coloanei j cu coloana termenilor

    liberi.

    Observaţie: 

    Formulele (6) poartă numele de  formulele lui Cramer. În concluzie, un sistem de

    tip Cramer este compatibil determinat dacă matricea sa este nesingulară, iar soluţia este

    dată de formulele (6). Pentru a găsi soluţia sistemului (4) avem de calculat aşadar n+1

    determinanţi şi de efectuat n împărţiri. 

    IV.1.6.3. Sisteme de m ecuaţii cu n necunoscute

    Revenim la un sistem de forma (1) prezentat la începutul capitolului, şi anume:  

    mnmnmm

    nn

    nn

    b xa xa xa

    b xa xa xa

    b xa xa xa

    ...

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

    ...

    ...

    2211

    22222121

    11212111

      (1) 

    Vom păstra de asemenea toate notaţiile făcute la început. Evident, în cele ce urmează, se

     pune problema compatibilităţii unui  astfel de sistem de ecuaţii liniare. Pentru rezolvarea

    acestei situaţii există câteva rezultate remarcabile şi anume:  

  • 8/19/2019 04 capitolul IV.pdf

    20/65

    Petru Florin Gavril Capitolul IV - Matrice

    120

    Teorema lui Kronecker-Capelli

    Sistemul de ecuaţii liniare (1) este compatibil   rangA = rang  A .

    Având în vedere consideraţiile făcute la calculul rangului unei matrice în

    capitolul anterior, această teoremă se mai poate enunţa şi în felul următor:  

    Teorema lui Rouché: 

    Sistemul (1) este compatibil   toţi minorii caracteristici sunt nuli. 

    După cum se poate observa, aceste teoreme nu spun nimic de rezolvarea propriu-

    zisă a unui sistem de forma (1). Despre acest lucru ne vom ocupa în continuare.  

    Vom numi minor principal  al unei matrice de rang r, un minor de ordin r nenul şi

    minor caracteristic de ordin r+1 , minorul obţinut din minorul principal bordându-l cu

    elemente corespunzătoare coloanei termenilor liberi, precum şi cu cele ale uneia din liniile

    rămase din  A .

    Observaţie: 

    Minori caracteristici există dacă m   r, iar numărul lor este egal cu m-r (m  –  

    numărul de ecuaţii, iar r –  rangul matricei A).

    Presupunem că sistemul (1) este compatibil şi că rangA = r. Vom lua minorul

     principal ca fiind situat la intersecţia primelor r linii cu primele r coloane din A:  

    rr r r 

    aaa

    aaaaaa

    ...

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

    ...

    ...

    21

    22221

    11211

      0.

    Orice linie i, i  r, a matricelor A şi  A  este o combinaţie liniară a primelor r linii

    (toţi minorii de ordin  r fiind nuli). De aici rezultă că orice ecuaţie i (i  r) a sistemului (1)

    este o combinaţie liniară de primele r ecuaţii ale sistemului, cu anumiţi coeficienţi. De

    aceea, orice soluţie a primelor r ecuaţii satisfac toate ecuaţiile din (1). Astfel, este suficient

    să rezolvăm sistemul: 

    r nrnr r 

    nn

    nn

    b xa xa xa

    b xa xa xa

    b xa xa xa

    ...

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

    ...

    ...

    2211

    22222121

    11212111

      (1’) 

    care va fi echivalent cu (1), având aceeaşi mulţime de soluţii.  

    Matricea noului sistem are rangul r, r ≤ n. 

  • 8/19/2019 04 capitolul IV.pdf

    21/65

    Petru Florin Gavril Capitolul IV - Matrice

    121

    1)  Dacă r = n, sistemul (1’) este de tip Cramer, compatibil determinat, iar soluţia

    unică a sistemului, dată de formulele (6), va fi soluţia sistemului.  

    2)  Dacă r   n, fixăm minorul principal, necunoscutele corespunzătoare lui –  

    necunoscute principale şi trecem în (1’), în membrul drept, toţi termenii care

    conţin necunoscutele secundare: xr+1, xr+2, …, xn. Acestora din urmă le atribuim

    valori arbitrare, respectiv λ1, λ2, λ3, …, λn-r .

    Se obţine sistemul: 

    r nrnr r r rr rr r r 

    r nnr r r 

    r nnr r r 

    aab xa xa xa

    aab xa xa xa

    aab xa xa xa

      

      

      

    ......

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

    ......

    ......

    11,2211

    211,222222121

    111,111212111

      (1’’) 

    care este un sistem Cramer, compatibil şi se rezolvă cu ajutorul formulelor (6). Soluţia

    unică a sistemului (1’’) este ( r       ,...,, 21 ) iar ( r       ,...,, 21 ,λ1, λ2, λ3, …, λn-r ) este

    soluţia sistemului (1’), adică a sistemului (1). Deoarece λ1, λ2, λ3, …, λn-r   sunt alese

    arbitrar, obţinem pentru (1) o infinitate de soluţii, care constituie mulţimea tuturor

    soluţiilor sistemului (1). 

    Deci, pentru a rezolva un sistem de m ecuaţii cu n necunoscute procedăm în felul următor:  

    1)  Se studiază compatibilitatea sistemului. Pentru aceasta se caută un minor

     principal al lui A, matricea sistemului, apoi se caută şi se calculează minorii

    caracteristici.

    Putem avea cazurile:

      există cel puţin unul nenul, sistemul fiind astfel incompatibil;  

      toţi sunt nuli, sistemul fiind astfel compatibil.

    2)  Dacă sistemul (1) este compatibil atunci formulăm sistemul de tip (1’’).  

    3)  Se rezolvă sistemul (1’’) şi se scrie apoi mulţimea soluţiilor sistemului (1) de

    forma ( r       ,...,, 21 ,λ1, λ2, λ3, …, λn-r ).

    IV.1.6.4. Sisteme omogene

    Definiţia 4.1.25: 

    Un sistem de ecuaţii liniare se numeşte sistem omogen dacă termenul liber al

     fiecărei ecuaţii este nul (adică fiecare ecuaţie este omogenă). 

    Forma generală a unui sistem omogen cu m ecuaţii şi n necunoscute este

    următoarea: 

  • 8/19/2019 04 capitolul IV.pdf

    22/65

    Petru Florin Gavril Capitolul IV - Matrice

    122

    0...

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

    0...

    0...

    2211

    2222121

    1212111

    nmnmm

    nn

    nn

     xa xa xa

     xa xa xa

     xa xa xa

      (9)

    Observăm de la început că un sistem omogen este totdeauna compatibil deoarece

    admite soluţia banală x1 = x2 = … = xn = 0.

    Se pune în schimb problema dacă sistemele omogene admit şi alte soluţii şi dacă

    da, atunci rămâne de studiat cum le determinăm. Este de remarcat faptul că rezultatele de

    la celelalte tipuri de sisteme se aplică şi sistemelor omogene, cu condiţia să considerăm

    termenii liberi zero.

    Procedăm astfel: 

    vom scrie matricea ataşată sistemului (A) şi-i determinăm rangul. Fie acesta r.

     putem avea situaţiile: 

      dacă r = n, atunci sistemul admite soluţia banală ca soluţie unică; 

      dacă r  n, sistemul admite o infinitate de soluţii care se determină în acelaşi

    mod cu soluţiile sistemelor discutate în paragraful IV.3. din prezentul

    capitol.

    Observaţie 

    Deoarece necunoscutelor secundare li se atribuie valori arbitrare, obţinem şi

    soluţii nenule în acest caz pentru un sistem omogen. 

    Deci, condiţia necesară şi suficientă ca un sistem omogen să admită şi soluţii

    nenule este ca r  n.

    În cazul în care sistemul omogen are n ecuaţii şi n necunoscute, se scrie matricea

    sistemului şi se calculează determinantul acesteia, după care se constată una din

    următoarele sitaţii: 

     

    dacă detA  0, rangA = n, sistemul admite soluţia banală, soluţie unică; 

      dacă detA = 0, rangA  n, sistemul admite şi soluţii nenule.  

    Deci, condiţia necesară şi suficientă pentru ca un sistem omogen, cu n ecuaţii şi n

    necunoscute, să admită şi soluţii diferite de soluţia banală este ca determinantul matricei

    sistemului să fie nul. 

    Dacă un sistem omogen are n ecuaţii şi n+1 necunoscute, iar rangul matricei A

    este n, atunci sistemul este compatibil. Fie sistemul:

  • 8/19/2019 04 capitolul IV.pdf

    23/65

    Petru Florin Gavril Capitolul IV - Matrice

    123

    0...

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

    0...

    0...

    11,2211

    11,22222121

    11,11212111

    nnnnnnnn

    nnnn

    nnnn

     xa xa xa xa

     xa xa xa xa

     xa xa xa xa

      (10)

    cu matricea A =1.1

    ,1

    n j

    niija . Cum rangA = n, se pot forma n+1 minori de ordin maxim n,

    nenuli. Vom considera un 1 , minor de ordin n nenul suprimând din A coloana 1. Acesta

    va fi ales minor principal, necunoscuta x1  –   necunoscută secundară şi x2, x3, …, xn+1  ca

    necunoscute principale. Analog putem alege minorii 2 , 3 , …, 1n .

    Putem rezolva ecuaţiile principale în raport cu necunoscutele principale după

    formulele lui Cramer deoarece i   0. Soluţiile sistemului (10)  sunt formate din sisteme

    de (n+1) numere proporţionale cu 1 , - 2 , 3 , …, (-1)n

    1n :

    1

    1

     x = -

    2

    2

     x =

    3

    3

     x = … =

      11

    1

      nn

    n x  = t.

    De obţinem că: 

    x1 = t ∙ 1  

    x2 = -t ∙ 2  

    x3 = t ∙ 3  

    …………. 

    xn+1 = (-1)n t ∙ 1n .

    Dând lui t valori arbitrare obţinem toate soluţiile sistemului (10). 

    Proprietăţi: 

    1)  Dacă n      ,...,, 21  şi n         ,...,, 21  sunt soluţii ale unui sistem omogen

    atunci şi nn                ,...,, 2211  este soluţie a sistemului. 2)  Dacă n      ,...,, 21   este soluţie a unui sistem omogen, atunci şi

    nk k k            ,...,, 21  este soluţie a aceluiaşi sistem. 

    IV.1.6.5. Metode de rezolvare a sistemelor de ecuaţii liniare  

    Regulile lui Cramer de rezolvare a sistemelor pătratice de ordin n, cu matricea

    sistemului nesingulară nu reprezintă un algoritm practic atunci când n este mare, deoarece

    implică un număr mare de calcule, n+1 determinanţi, fiecare cu (n -1)n! înmulţiri. 

    În aplicaţiile practice se folosesc două tipuri de metode:  

  • 8/19/2019 04 capitolul IV.pdf

    24/65

    Petru Florin Gavril Capitolul IV - Matrice

    124

    1)  metode directe, prin care soluţia exactă se obţine într -un număr finit de operaţii

    aritmetice (f ăcând abstracţie de erorile de rotunjire); 

    2)  metode iterative  pentru care vectorul x  –   soluţia sistemului (1) Ax = b –   este

    limita unui şir de vectori xn  pentru n → ∞. 

    Metodele directe  pot fi încadrate în următoarea schemă generală: 

    Se determină transformarea P nesingulară cu care sistemul (1) devine

     P∙Ax = Pb  (2)

    Astfel încât noua matrice  PA, să fie de o formă cât mai simplă, care să permită o rezolvare

    imediată. Dacă PA nu este suficient de simplă, se mai foloseşte o transformare nesingulară

    Q la dreapta, astfel încât sistemul devine:  

     PAQy = Pb, cu x = Qy  (3)

    De obicei, matricele  PA  şi  PAQ  sunt matrice triunghiulare dar pot fi şi de altă formă

    convenabilă pentru rezolvarea sistemului (1). 

    De exemplu, dacă în sistemul (3) PA este o matrice superior triunghiulară

    PA = n j

    niijt ,1

    ,1

     şi Pb = niic ,1 , atunci sistemul devine:

    nnmn

    nn

    nn

    c xt 

    c xt  xt 

    c xt  xt  xt 

    .........

    ...

    ...

    22222

    11212111

      (4)

    Din ultima ecuaţie se obţine: 

    xn =mn

    n

    c.

    Înlocuind în penultima ecuaţie, avem: 

    xn-1 =1,1

    ,11

    nnmn

    nnnmnn

    t t 

    t ct c 

    şi tot aşa până la prima ecuaţie, de unde se obţine:  

    x1 =11

    2

    11

     xt cn

     j

     j j

    .

    Algoritmul este:

    xn =mn

    n

  • 8/19/2019 04 capitolul IV.pdf

    25/65

  • 8/19/2019 04 capitolul IV.pdf

    26/65

    Petru Florin Gavril Capitolul IV - Matrice

    126

    333231

    232221

    131211

    aaa

    aaa

    aaa

    3

    2

    1

     x

     x

     x

     =

    3

    2

    1

    b

    b

    b

      (2) 

    unde A = 3,1,    jiija   este matricea sistemului, X = 3,1ii x   este matricea coloană a

    necunoscutelor, iar B = 3,1iib  este matricea coloană a termenilor liberi, notaţii cu care ne-

    am întâlnit şi în capitolul 3. 

    La primul pas al metodei lui Gauss urmări eliminarea necunoscutei x1 din toate

    ecuaţiile sistemului, cu excepţia primei ecuaţii. Pentru aceasta împărţim mai întâi prima

    linie la elementul pivot a11, presupus nenul (dacă nu este aşa, reordonăm şi renumerotăm

    ecuaţiile pentru a fi îndeplinită această condiţie):  

    3333231131

    2323222121

    1

    13

    1

    132

    )1(

    121

    b xa xa xa

    b xa xa xa

    b xa xa x

     

    Scădem apoi prima ecuaţie înmulţită cu primul coeficient al celei de -a doua

    ecuaţii, din această ecuaţie şi, respectiv, înmulţită cu primul coeficient al celei de -a treia

    ecuaţii, din aceasta din urmă. Obţinem astfel sistemul: 

    1

    33

    1

    332

    1

    32

    123

    1232

    122

    1

    13

    1

    132

    )1(

    121

    b xa xa

    b xa xa

    b xa xa x

    ,

    unde

    1

    11

    1

    1

    11

    1

    111

    1

    1

    111

    1

    1

    3,2,1,3,2,1,

    3,2,1,

    babb

     jiaaaa

    abb

     jaaa

    iii

     jiijij

     j j

    .

    Matriceal, primul pas al metodei lui Gauss duce la

    1

    33

    1

    32

    1

    23

    1

    22

    1

    13

    1

    12

    0

    0

    1

    aa

    aa

    aa

    3

    2

    1

     x

     x

     x

     =

    1

    3

    1

    2

    1

    1

    b

    b

    b

      (3)

    În continuare, urmărim eliminarea necunoscutei x2  din ultima ecuaţie. Pentru

    aceasta, împărţim mai întâi a doua ecuaţie la elementul pivot 122a , presupus nenul (dacă nu

    este aşa, interschimbăm ecuaţiile a doua şi a treia) şi apoi scădem linia obţinută, înmulţită

    cu 132a  din ecuaţia a treia.

  • 8/19/2019 04 capitolul IV.pdf

    27/65

    Petru Florin Gavril Capitolul IV - Matrice

    127

    Obţinem: 

    2

    33

    2

    23

    1

    13

    1

    12

    00

    10

    1

    a

    a

    aa

    3

    2

    1

     x

     x

     x

     =

    2

    3

    2

    2

    1

    1

    b

    b

    b

      (4)

    unde

    2

    2

    1

    2

    12

    2

    2

    1

    2

    12

    1

    22

    1

    2

    2

    2

    1

    22

    1

    2

    2

    2

    3,2,3,

    3,2,

    babb

     jiaaaa

    abb

     jaaa

    iii

     jiijij

     j j

    .

    În sfârşit, încheiem faza eliminării împărţind cea de-a treia ecuaţie la elementul pivot 233a ,

    care, pentru un sistem cu matrice nesingulară, trebuie să fie nenul. Rezultă: 

    100

    10

    12

    23

    1

    13

    1

    12

    a

    aa

    3

    2

    1

     x

     x

     x

     =

    3

    3

    2

    2

    1

    1

    b

    b

    b

      (5)

    unde

    233

    2

    3

    3

    3   abb   . 

     Faza substituţiei implică parcurgerea ecuaţiilor sistemului (5) rezultat în fazaeliminării, în sens invers şi stabilirea soluţiei sistemului potrivit procedeului recursiv:

    x3 = 33b  

    x2 = 22b  -

    223a x3  (6)

    x1 = 11b  - (

      112a x2 +

    113a x3)

    Metoda de eliminare a lui Gauss permite şi calculul determinantului matricei

    sistemului. Se observă că, matricea A(3)  a sistemului (5) fiind triunghiulară, are

    determinantul egal cu produsul elementelor diagonale, adică det A(3) = 1.

    Având în vedere că împărţirea liniilor matricei sistemului la elementele pivot a

    condus la o matrice având determinantul egal cu determinantul matricei iniţiale împărţit la

     produsul elementelor pivot, rezultă: 

    det A(3)

     =   233

    1

    2211

    det

    aaa

     A = 1

    adică 

    detA = a11 122a

      233a   (7)

  • 8/19/2019 04 capitolul IV.pdf

    28/65

    Petru Florin Gavril Capitolul IV - Matrice

    128

    Metoda de eliminare a lui Gauss pentru cazul unui sistem de n ecuaţii cu n

    necunoscute scris matricial sub forma:

    A ∙ X = B 

    se aplică în acelaşi mod. 

    Metoda Gauss-Jordan

    Metoda Gauss-Jordan reprezintă o formă modificată a metodei lui Gauss. Spre

    deosebire de metoda Gauss, în care matricea sistemului este adusă prin transformări

    elementare la formă superior triunghiulară, în metoda Gauss-Jordan matricea sistemului

    este transformată în matricea unitate. Prin aceasta, deşi faza eliminării este  mai laborioasă,

    faza substituirii inverse este eliminată. În plus, printr -o codificare eficientă, simultan cu

    rezolvarea unei ecuaţii matriceale, metoda Gauss-Jordan permite înlocuirea matricei

    sistemului cu inversa acestaia.

    În urma pasului k de eliminare este eliminată necunoscuta xk  din toate ecuaţiile

    sistemului, cu excepţia ecuaţiei pivot k şi sistemul este adus la forma:  

     

    nn

    nk 

    nk 

    k k 

    kn

    kk 

    nk 

    nk 

    aa

    aa

    aa

    aa

    aa

    1

    111

    1

    2

    2

    2

    12

    1

    1

    1

    11

    000

    000

    100

    010

    001

    n

     x

     x

     x

     x

     x

    1

    2

    1

     =

    n

    b

    b

    b

    b

    b

    1

    2

    2

    1

    1

      (18)

    unde noile elemente ale liniei pivot k sunt, ca şi în metoda Gauss: 

    11

    11 ,...,1,

    1

    kk 

    kk 

    kj

    kj

    kk 

    abb

    nk  jaaa

    a

      (19)

    iar noile elemente ale liniilor nepivot sunt:

    ik 

    i

    i

    kj

    ik 

    ij

    ij

    ik 

    babb

    k inink  jaaaa

    a

    11

    11 ,,...1,,...1,

    0

      (20)

    Se observă că la pasul k se modifică toate elementele matricei sistemului situate

    în dreapta coloanei k, coloană care devine identică cu coloana corespunzătoare a matricei

    unitate. La fiecare pas se modifică, în schimb, toate elementele matricei termenilor liberi.  

    În final, după pasul k=n, sistemul are forma  

  • 8/19/2019 04 capitolul IV.pdf

    29/65

    Petru Florin Gavril Capitolul IV - Matrice

    129

    In∙X=B(n)

      (21)

    unde In  reprezintă matricea unitate de ordinul n. Este evident că nu este necesară, ca în

    cazul metodei Gauss, o fază a substituţiei inverse, iar soluţia sistemului este:  

    xk  = k 

    k b , k = 1,…,n  (22)

    Ca şi în cazul metodei Gauss, determinantul matricei A(n) = In este egal cu 1. Având însă în

    vedere că în obţinerea matricei A(n)  liniile matricei iniţiale au fost împărţite pe rând la

    elementele pivot, avem:

    det A(n)

     = 112211   ...

    detn

    nnaaa

     A = 1

    de unde

    detA = a11 1

    22a …

      1n

    nna   (23)

    Ca şi în cazul metodei Gauss, deoarece după pasul k informaţia utilă din matricea

    A(k)

     se găseşte exclusiv în coloanele k+1, …, n, coloana k fiind în fond identică cu coloana

    corespunzătoare a matricei unitate, noile elemente ale matricei A(k)  sunt calculate efectiv

    numai pentru j=k+1, …, n. În ceea ce priveşte pivotarea, aceasta se poate realiza la fel ca în

    cazul metodei Gauss.

    IV.1.6.5.2. Metode iterative de aproximare a soluţiilor sistemelor de ecuaţii

    liniareFie sistemul de n ecuaţii cu n necunoscute

    Ax = b, det A  0 (1) 

    Ideea generală a metodelor iterative constă în construirea unor şiruri de vectori ce

    converg la soluţia exactă, care se obţin fără a modifica forma matricei: 

    ...2,1,0,

    ,1

    0

    k  x F  x

    dat  xk k 

    n

     

    cu şirul  )(k 

     x   convergent la soluţia sistemului (1).O clasă largă de metode iterative se obţine dacă avem o descompunere a matricei

    A de forma A = B  –  C, unde B este o matrice nesingulară şi uşor de inversat, de regulă

    diagonală sau triunghiulară. Există o infinitate de astfel de descompuneri, pentru că

    alegându-l pe B cum dorim, luăm C = B –  A şi avem descompunerea A = B –  C. Sistemul

    (1) se scrie atunci sub forma Bx = Cx + b, care permite definirea unei metode iterative

    astfel: oricare ar fi iteraţia iniţială x(0)n se determină termenii succesivi ai unui şir )(k  x  

     prin recurenţă, cu relaţia: 

  • 8/19/2019 04 capitolul IV.pdf

    30/65

    Petru Florin Gavril Capitolul IV - Matrice

    130

    b xC  x B   k k      )()1( , k = 1,2,3,…  (2) 

    Deoarece B este nesingulară şi uşor de inversat pentru orice x(k)  deja determinat,

    se obţine următorul vector din şir x (k+1) cu relaţia 

    b B xC  B x

      k k 

        1)(1)1(

      (3) adică 

    c x M  x   k k    )()1( , (4) 

    unde C  B M      1  (matricea iteraţiei) şi b Bc     1 .

    Propoziţia 4.1.4 

     Dacă şirul )(k  x este convergent atunci el converge la soluţia sistemului (1). 

    Să vedem în ce condiţii şirul )(k  x  este convergent.

    Teorema 4.1.9

    Condiţia necesară şi suficientă ca şirul )(k  x  dat de relaţia (2)   să fie convergent

     pentru orice x(0) 

    n  este ca raza spectrală a matricei M să fie subunitară, adică

    1)(    M    . O condiţie suficientă de convergenţă este existenţa unei norme naturale pentru

    care M 1     M max ; este valoare proprie a lui M .Metoda lui Jacobi

    Una dintre cele mai vechi şi mai cunoscute metode iterative pentru rezolvarea

    sistemelor de ecuaţii liniare este metoda lui Jacobi. 

    Fie ij n nA a  şi i   n b b . În descompunerea anterioară alegem

    11 22 nnB diag a ,a ,...,a , iar metoda iterativă corespunzătoare este: 

    i

    nk 1 k 

    ii i ij j

     j 1

     j i

    a x b a x

    , i 1,n , unde ik 

    x  şi i

    k 1x

       sunt componentele vectorilor

    k x  respectiv

    k 1x

      . În ipoteza importantă iia 0, i 1,n , care asigură că matricea

    B este nesingulară, obţinem recurenţa i

    nk 1 k 

    i ij j

     j 1ii j i

    1x b a x ,

    a

      i 1,n   care se

    numeşte metoda lui Jacobi.

    Conform teoremei anterioare, condiţia necesară şi suficientă de convergenţă ametodei lui Jacobi este ca modulele valorilor proprii ale matricei iteraţiei să fie subunitare.

  • 8/19/2019 04 capitolul IV.pdf

    31/65

    Petru Florin Gavril Capitolul IV - Matrice

    131

    Ecuaţia caracteristică a acestei matrice este 0)det(   1   C  B I     sau, echivalent,

    0))(det(   1 C  B B     . Cum 1B 0 , condiţia necesară şi suficientă de convergenţă este

    ca toate modulele rădăcinilor ecuaţiei 0)det(   C  B   să fie subunitare. Această condiţie

    nu are decât o valoare teoretică. În practică se folosesc doar condiţii suficiente, care din

    teorema anterioară cer să existe o normă a matricei M a iteraţiei care să fie subunitară. Din

    metoda lui Jacobi se vede că elementele acestei matrice ij i,j 1,nM m   sunt

    ij

    ij   ii

    a, pentru i j

    m   a

    0, pentru i j

     

    . Dacă luăm1

    , adică1

    M 1   echivalent cu

    n

    ij1  j 1,ni 1

    M max m 1

     (sume pe coloane) obţinem condiţia suficientă de convergenţă

    nij

    i 1   iii j

    a1, j 1, n

    a

    .

    Dacă luăm e , adică eM 1  echivalent cu

    1/ 2

    2n n

    ijei 1 j 1i j

    M m 1

     obţinem

    condiţia suficientă de convergenţă

    2n n

    ij

    i 1 j 1   ii j i

    a  1

    a

    .

    Luând norma

     , adică M 1

      , iarn

    ij

    i 1,n

     j 1   ii

    aM max 1

    a

     (sume pe linii),

    obţinem condiţia suficientă de convergenţăn

    ij

    i 1   iii j

    a1, j 1, n

    a

     sau

    n

    ij ii

     j 1 j i

    a a , pentru i 1, n

    , condiţie care se numeşte dominanţa diagonală pe linii.

  • 8/19/2019 04 capitolul IV.pdf

    32/65

    Petru Florin Gavril Capitolul IV - Matrice

    132

    Metoda Gauss-Seidel

    Metoda Gauss-Seidel reprezintă o modificare a metodei Jacobi, cu scopul

    creşterii vitezei de convergenţă şi reducerii memoriei necesare. Ideea de bază a metodei

    Gauss-Seidel constă în utilizarea în calculul componentei k 1ix 

    a aproximaţiei soluţiei

    sistemului de la pasul k 1   a componentelor k 1 k 1 k 11 2 i 1x ,x ,...x

    , deja calculate, în

    locul componentelork k k 

    1 2 i 1x ,x ,...x   de la iteraţia anterioară, cum se întâmplă în cazul

    metodei Jacobi.

    În metoda Gauss-Seidel, recurenţa devine: 

    i 1 n

    k 1 k 1 k  ij ijii j j

     j 1 j i 1ii ii ii

    a a bx x x

    a a a

    , pentru i 1,n , k = 0,1,2,… 

    (1) 

    Aceasta se încadrează în schema precedentă dacă presupunem că iia 0  pentru i 1,n  

    şi luăm drept

    11

    21 22

    n1 n2 nn

    a 0 ... 0

    a a ... 0B

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

    a a ... a

     matrice triunghiulară inferior, iar C = B –  A

    matrice inferioară superior cu 0 pe diagonala principală. Cu această alegere sistemul

    B x C x b  se scrie după împărţirea la iia :

    i 1 nij iji

    i j j

     j 1 j i 1ii ii ii

    a a bx x x

    a a a

     

    (2) 

     pentru i 1,n  iar sistemul k 1 k Bx Cx b , k = 0,1,2,… se scrie sub forma (1). Teorema 4.1.10

    Criteriul de dominanţă a diagonalei pe linii asigură convergenţa metodei G auss-

    Seidel pentru orice iteraţie iniţială 0

    x .

  • 8/19/2019 04 capitolul IV.pdf

    33/65

    Petru Florin Gavril Capitolul IV - Matrice

    133

    IV.2. Tablouri bidimensionale

    IV.2.1. Generalităţi. Notaţii şi definiţii 

    Definiţia 4.2.1:

     Numim tablou bidimensional  o structură de date formată din elemente de acelaşitip organizate pe linii şi coloane. Se utilizeză frecvent noțiunea preluată din matematică de

    matrice.

    Fiecare element se identifică în mod unic prin linia şi coloana la intersecţia cărora

    se află. Astfel dacă notăm o matrice cu a elementul aflat la intersecţia liniei i cu coloana j 

    în matricea a se notează a[i][j],a[i,j] sau a(i,j) în funcţie de limbajul de programare utilizat.  

    O matrice mai poate fi privită şi ca un „vector de vectori”, adică ca un tablou

    unidimensional ce conţine elemente de tip tablou unidimensional(fiecare linie este privităca un singur element), abordare ce permite utilizarea subprogramelor ce prelucrează

    vectori pentru a prelucra linii dintr-o matrice ce vor fi transmise ca parametru.

    Ilustrăm în continuare o matrice a cu 4 linii şi 3 coloane, având elemente numere

    întregi. 

    Declaraţia unei variabile de tip matrice este asemănătoare cu a unui vector. La

    declarare trebuie să specificăm în unele limbaje un număr maxim de linii şi coloane iar în

    altele subdomeniu. Numărul de linii şi coloane depinde de enunţ, de modul de prelucrare a

    matricei(se utilizează sau nu linia şi coloana 0) dar şi de mediul de programare

    utilizat(Borland Pascal/Free Pascal, Borland C++/MinGW Studio).

    Declaraţie Pascal 

    :array[1..,1..] of

    sau

    :array[1..]of array[1..] of

    Pentru utilizarea subprogramelor ce primesc parametrii de tip vector pentru a prelucra linii

    dintr-o matrice se utilizează o declaraţie de tipul:  

    type

    linie|vector=array[1..] of

    matrice=array[1..] of linie|vector

     

     

     

     

    11105

    950

    7412

    211

    4

    3

    2

    1

    321

    linia 3

    coloana 2

    a[3][2]=-5

  • 8/19/2019 04 capitolul IV.pdf

    34/65

    Petru Florin Gavril Capitolul IV - Matrice

    134

    var :matrice;

    Observaţie: 

    Declaraţia cu tipuri permite atribuiri de linii şi coloane. 

    Declaraţie C++ 

    [][]

    unde:

      - identificatorul variabilei matrice

      - tipul elementelor matricei

      , - numărul maxim de linii, respectiv coloane

    Exemplu:

      Pascal: a:array[1..20,1..30] of integer;  –   se declar ă  o matrice cu 20 de linii

    numerotate de la 1 la 20 şi 30 de coloane numerotate de la 1 la 30. Numărulmaxim de valori ce poate fi memorat este 600.

      C++: float a[20][30];  –   se declar ă o matrice cu 20 de linii numerotate de la 0 la

    19 şi 30 de coloane numerotate de la 0 la 29. Numărul maxim de valori  ce poate fi

    memorat este 600.

    Dimensiunile declarate sunt maxime pentru  programul sursă în care au fost făcute, în

     practică utilizându-se declararea a două variabile n respectiv m  pentru a memora numărul

    de linii şi coloane. Valorile lui n  şi m  se citesc anterior elementelor matricei sau sedetermină pe parcursul execuţiei programului(de obicei la citirea matricelor de dimensiuni

    necunoscute din fişiere  sau la utilizarea matricelor cu număr necunoscut de linii şi un

    număr variabil de coloane, caz în care se ataşează un tablou d ce reţine în d[i] numărul de

    coloane completate pe linia i).

    IV.2.2. Parcurgerea, citirea şi afişarea unei matrice 

    Parcurgeri în matrice 

    Pentru a parcurge o matrice se utilizează în general două structuri repetitive, una pentru a parcurge liniile şi una pentru a parcurge coloanele. Ordinea în care sunt executate

    cele două structuri determină prelucrarea elementelor pe linii sau pe coloane.  

    Descriem în continuare algoritmii de parcurgere precum şi ordinea în care vor fi

     prelucrate elementele:

    Prelucrare pe linii

    Pascal C++

    var a:array[1..10,1..20] of ;

    n,m,i,j:integer;

    a[10][20];

    int n,m,i,j;

  • 8/19/2019 04 capitolul IV.pdf

    35/65

    Petru Florin Gavril Capitolul IV - Matrice

    135

    ……… 

    for i:=1 to n do

    for j:=1 to m do

     

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

    for(i=0;i

  • 8/19/2019 04 capitolul IV.pdf

    36/65

    Petru Florin Gavril Capitolul IV - Matrice

    136

    Afișările a[i][j]=_  nu sunt obligatorii, ele se folosesc doar pentru a şti care este

    elementul curent ce urmează a fi citit.  

    Afişarea unei matrice 

    Afişarea matricelor se face pe linii şi coloane aşa încât să poată fi urmărită

    distribuţia elementelor pe linii şi coloane. 

    Pascal C++

    var a:array[1..10,1..20] of

    ;

    n,m,i,j:integer;

    ……… 

    for i:=1 to n do

    begin

    for j:=1 to m do

    write(a[i,j],’ ‘); 

    writeln;

    end;

    a[10][20];

    int n,m,i,j;

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

    for(i=0;i

  • 8/19/2019 04 capitolul IV.pdf

    37/65

    Petru Florin Gavril Capitolul IV - Matrice

    137

    Diagonala secundară 

    Diagonala secundară conţine elementele a1n, a2 n-1 , a3 n-2,...,an1  caracterizate de

    relaţia i+j=n+1.

    Zona de deasupra diagonalei principale

    Elementele de deasupra diagonalei principale sunt a12, a13, a14,...,a1n, a23, a24,

    a25,...,a2n, ...., an-1 n-1, an-1 n. Relaţia dintre coordonate comună tuturor elementelor din

    această zonă este ij.

    În practică prelucrarea elementelor se poate face exclusiv pe diagonale respectiv

     pe zonele identificate mai sus(ex:ordonarea diagonalelor respectiv verificarea simetriei sau

    a triunghiularităţii) sau se poate opta pentru o parcurgere a tuturor elementelor matricei şi

     prelucrarea diferenţiată a elementelor în funcţie de relaţia dintre coordonate(ex:

    completarea elementelor cu anumite valori, calculul simultan al mai multor rezultate

    obţinute pentru fiecare zonă în parte).  

    În funcţie de enunţ se mai pot identifica zona de deasupra diagonalei

    secundare(i+jn+1), precum şi zonele N, S, E,

    V situate între cele două diagonale. 

    Modalităţi de prelucrare a elementelor în matrice pătratică de dimensiune n

    Implementare Pascal Implementare C++

    //primul element este a[1][1]

    Diagonala principală 

    for i:=1 to n do

     

    for (i=1;i

  • 8/19/2019 04 capitolul IV.pdf

    38/65

    Petru Florin Gavril Capitolul IV - Matrice

    138

    Sub diagonala principală 

    for i:=2 to n do

    for j:=1 to i-1 do

     

    for (i=2;i

  • 8/19/2019 04 capitolul IV.pdf

    39/65

    Petru Florin Gavril Capitolul IV - Matrice

    139

    cunoscut fiind faptul ca elevii aprofundează mai bine cunoştinţele de manipulare a

    vectorilor sau sunt utilizate la capitolul şiruri(cu precădere la clasele cu predare C++ acolo

    unde este necesară utilizarea unui tablou de cuvinte, limbajul Pascal permiţând utilizarea

    unui array of string ). Parcurgerile matricelor sunt reluate la capitolul  Recursivitate  tot în

    acelaşi an punând din nou în evidenţă particularităţile matricelor pătratice. Tot în capitolul  

     Recursivitate matricea este abordată ca mijloc de memorare a hărţilor sau a unor fotografii

    atunci când sunt prezentaţi algoritmii  Fill . În clasa a XI-a(intensiv şi neintensiv) matricele

    sunt utilizate masiv în capitolul Teoria grafurilor. Grafuri neorientate.Grafuri orientate

    reprezentând fie matricea de adiacenţă, matricea vârfuri-arce, matrici de existenţă a  

    lanţurilor/drumurilor(algoritmul  Roy-Warshall ), matricea costurilor, matricea drumurilor

    minime(algoritmul  Roy-Floyd ) sau  pentru a memora listele de adiacenţă în acest caz fiind

    necesar şi vectorul gradelor. Capitolul  Backtracking  utilizează matricele la probleme cum

    ar fi Comis voiajor , Cavalerii mesei rotunde  ce se pot trata şi prin teoria grafurilor ,

    matricea fiind un mijloc de memorare a soluţiilor optime atunci când acestea sunt cerute

    sau „harta” în probleme tratate prin  Backtracking în plan  de tipul  Labirint , Săritura

    calului.  Programarea dinamică(clasa a XI-a intensiv) este un alt capitol în care matricele

    reprezintă f ie posibilitatea de a stoca rezultate intermediare(utile pentru calculul rapid al

    soluţiilor acolo unde spaţiul de memorie ocupat nu reprezintă o problemă) –   Piramida de

    numere,  Înmulţirea optimă de matrice, fie stochează datele de intrare în probleme

    rezolvabile utilizând, spre exemplu, algoritmul  Lee.

    La matematică prima abordare a matricelor se face la algebră în clasa a XI -

    a(determinanţi, inversă, rang, sisteme)  şi continuă în algebra de clasa a XII-a(monoizi,

    grupuri, inele, corpuri).

    Chiar dacă operaţiile cu matrice se studiază la matematică în clasa XI-a,

    informatic ele sunt abordate încă din clasa a IX -a. Adunarea, înmulţirea cu scalar şi

    înmulţirea matricelor sunt probleme abordate la clasă în cadrul capitoluluiTablouri.Tablouri bidimensionale(Matrice)  ca aplicaţii elementare cu grad redus de

    dificultate(adunarea matricelor, înmulţirea cu scalar ) sau cu grad mediu de

    dificultate(înmulţirea matricelor). 

    Tipurile particulare de matrice pătratice(matricea diagonală, matricea simetrică,

    matricea triunghiulară inferior/superior) apar ca probleme ce se rezolvă în clasa a IX -a

    după prezentarea matricelor pătratice şi a elementelor particulare lor(diagonale, zonele de

    deasupra/sub diagonala principală). 

  • 8/19/2019 04 capitolul IV.pdf

    40/65

    Petru Florin Gavril Capitolul IV - Matrice

    140

    Determinanţii, matricele inversabile şi sistemele de  ecuaţii se studiază la

    matematică în clasa a XI-a ceea ce permite realizarea în paralel la orele de informatică a

    unor subprograme pentru calculul determinantului unei matrice(prin triunghiularizare  –  

    metoda lui Gauss în cadrul capitolului Subprograme, sau recursiv prin dezvoltare după o

    linie), pentru determinarea rangului unei matrice, a matricei inverse acolo unde este

     posibil, precum şi a unor aplicaţii de rezolvare a sistemelor de m ecuaţii cu n necunoscute.

    Abordarea problematicii mai sus amintite se poate realiza la clasele de profil informatică

    neintensiv fie în orele din trunchiul comun fie în cadrul unui opţional în timp ce la profilul

    intensiv, care nu permite adăugarea unui opţional(indiferent de disciplină) –   numărul de

    ore din trunchiul comun fiind maxim, abordarea se poate realiza printr-o bună organizare a

    materiei în cadrul capitolului  Programare orientată obiect (unde prezintă posibilitatea de

    supraîncărcare a operatorilor pentru realizarea operaţiilor de adunare, înmulţire cu scalar şi

    înmulţire a matricelor), pentru o parcurgere cât mai facilă a problematicii fiind necesar şi

    un colectiv de elevi de nivel mediu spre înalt.  

    Aplicaţiile create în cadrul orelor ce tratează problematica matematică a

    matricelor se pot realiza individual sau ca un tot unitar, un proiect(ales uneori de elevii cu

    un nivel bun de pregătire ca temă de proiect pentru obţinerea  Atestatului de competenţe

     profesionale) ce se poate caracteriza în funcţie de finalitate ca un soft utilitar sau

    educaţional(după cum oferă rezultatele direct sau prezintă calea/metoda prin care se obţine

    rezultatul). Bineînţeles că sursele pot fi optimizate, dar ideea ce se urmăreşte este de a arăta

    elevilor că informatica poate fi şi este un sprijin în rezolvarea unor probleme de matrice

    aplicând întocmai algoritmii prezentaţi la orele de matematică fără a beneficia, din păcate,

    de intuiţia umană, de „flerul” rezolvitorului ce poate găsi uneori soluţii mai rapide(de  

    exemplu calculul prin dezvoltare după o linie a unui determinant care are două   linii sau

    două coloane proporţionale, ori triunghiularizarea unui determinant Vandermonde).

    IV.3.2 Aplicaţii interdisciplinare

    Vom prezenta în continuare codurile sursă Pascal şi C++ ale unor programe ce

    realizează operaţiile de bază(adunarea matricelor, înmulţirea cu scalar, înmulţirea

    matricelor) şi programe/subprograme ce realizează calculul determinantului unei matrice,

    determină rangul unei matrice, construieşte matricea inversă sau realizează discuţia naturii

    unui sistem cu calculul soluţiei atunci când este compatibil determinat respectiv afişarea

    unei soluţii pentru o instanţă dată a necunoscutelor secundare în cazul unui sistem

    compatibil nedeterminat. Pentru determinant se vor prezenta două subprograme diferite de

  • 8/19/2019 04 capitolul IV.pdf

    41/65

    Petru Florin Gavril Capitolul IV - Matrice

    141

    calcul  –   unul prin dezvoltare după o linie, celălalt prin transformarea în matrice

    triunghiulară. Descrierea matematică a metodelor aplicată nu va fi reluată în secţiunile

    următoare ele fiind detaliate în secţiunea IV.1 a capitolului curent. Ultima aplicaţie

    descrisă, Parantezarea optimă a înmulţirii matricelor , va fi descrisă pe larg. Sursele au fost

    realizate în orele de curs cu elevii din clasele IX-XII.

    IV.3.2.1 Suma a două matrice  

    Pascal C++

    program suma_matrice;

    type

    vector=array[1..10] of integer;

    matrice=array[1..10] of vector;

    var n,m:integer;

    a,b,s:matrice;

    procedure citire(var

    a:matrice;n,m:integer);

    var i,j:integer;

    begin

    writeln('Introduceti elementele

    de pe fiecare linie separate prin

    spatii!');

    for i:=1 to n dofor j:=1 to m do

    read(a[i,j]);

    end;

    procedure suma(a,b:matrice; var

    c:matrice; n,m:integer);

    var i,j:integer;

    begin

    for i:=1 to n do

    for j:=1 to m do

    c[i,j]:=a[i,j]+b[i,j];

    end;

    procedure afisare(a:matrice;

    n,m:integer);

    var i,j:integer;

    begin

    for i:=1 to n do

    begin

    for j:=1 to m do

    #include

    void citire(int a[][10],int n,int m)

    {int i,j;

    cin>>"Introduceti elementele de pe

    fiecare linie separate prin spatii!";

    for(i=1;ia[i][j];

    }

    void suma(int a[][10],int b[][10],int

    c[][10],int n, int m)

    {int i,j;

    for(i=1;i

  • 8/19/2019 04 capitolul IV.pdf

    42/65

    Petru Florin Gavril Capitolul IV - Matrice

    142

    write(a[i,j]:5,' ');

    writeln;

    end;

    end;

    begin

    write('Numarul de linii:');

    readln(n);

    write('Numarul de coloane:');

    readln(m);

    citire(a,n,m); citire(b,n,m);

    suma(a,b,s,n,m);

    writeln('Suma dintre A:');

    afisare(a,n,m);

    writeln('si B:'); afisare(b,n,m);

    writeln('este C:');

    afisare(s,n,m); readln;

    end.

    cin>>m;

    citire(a,n,m);

    citire(b,n,m);

    suma(a,b,s,n,m);

    cout

  • 8/19/2019 04 capitolul IV.pdf

    43/65

    Petru Florin Gavril Capitolul IV - Matrice

    143

    procedure afisare(a:matrice;

    n,m:integer);

    var i,j:integer;

    begin {afisare matrice a} end;

    beginwrite('Numarul de linii:');

    readln(n);

    write('Numarul de coloane:');

    readln(m);

    citire(a,n,m);

    write(’Valoare

    scalar:’);readln(scalar); 

    writeln('Produsul scalar dintre

    A:');

    afisare(a,n,m); writeln('si

    ’,scalar,’este:’); 

    inmultire_scalar(a,scalar,n,m);

    writeln('este :'); afisare(a,n,m);

    readln; end.

    int n,m, scalar;

    cout

  • 8/19/2019 04 capitolul IV.pdf

    44/65

    Petru Florin Gavril Capitolul IV - Matrice

    144

    s:=0;

    for k:=1 to m do

    s:=s+a[i,k]*b[k,j];

    c[i,j]:=s;

    end;end;

    procedure afisare(a:matrice;

    n,m:integer);

    var i,j:integer;

    begin

    {afisare matrice a}

    end;

    begin

    writeln(’Matricea A:’); 

    write('Numarul de linii:');

    readln(n);

    write('Numarul de coloane:');

    readln(m); citire(a,n,m);

    writeln(’Matricea B:’); 

    write('Numarul de coloane:');

    readln(p); citire(b,m,p);

    produs(a,b,pr,n,m,p);

    writeln('Produsul dintre

    A:');afisare(a,n,m);writeln('si

    B:'); afisare(b,m,p); writeln('este

    C:'); afisare(pr,n,p); end.

    m);

    {int i,j;

    //afisare matrice a

    }

    void main(){int a[10][10],b[10][10],pr[10][10];

    int n,m,p;

    cout

  • 8/19/2019 04 capitolul IV.pdf

    45/65

    Petru Florin Gavril Capitolul IV - Matrice

    145

    a:matrice;n:integer)

    var i,j:integer;

    begin

    {citire matrice a}

    end;function det

    (a:matrice;n:integer;i,j,p:inte ger

    ):integer;

    var b:matrice;

    k,l,x:integer;

    begin

    if n=1

    then

    det:=a[1][1]

    else

    begin

    x:=a[i,j];

    {constr. complementul algebric al

    a[i][j]}

    for k:=1 to i-1 do

    b[k]:=a[k];

    for k:=i to n-1 do

    b[k]:=a[k+1];

    for l:=1 to n-1 do

    for k:=j to n-1 do

    b[l][k]:=b[l][k+1];

    if j

  • 8/19/2019 04 capitolul IV.pdf

    46/65

    Petru Florin Gavril Capitolul IV - Matrice

    146

    else p=-1;

    writeln('det(A)=',detl(a,n,L,1,p));

    end.

    p=1;

    else

    p=-1;

    cout

  • 8/19/2019 04 capitolul IV.pdf

    47/65

    Petru Florin Gavril Capitolul IV - Matrice

    147

    Pascal

    (secvenţă program) 

    C++

    (secvenţă program) 

    program rang_matrice;

    type

    vector=array[1..10] of integer;

    matrice=array[1..10] of vector;

    var ms:matrice;

    vlin,vcol,lr,cr:vector;

    i,j,r1,r2,nlin,nlr,ncr,ec,nec:integ

    er;

    procedure cauta

    (a:matrice;m,n:integer; var

    x,y:integer);

    var i,j:integer;

    begin

    {se cauta in matricea a un element

    diferit de 0; coordonatele sale se

    memoreaza in x si y}

    end;

    procedure

    c_minor(vlin,vcol:vector;nlin:

    integer;a:matrice;var

    minor:matrice; m,n:integer);

    var i,j:integer;

    begin

    for i:=1 to nlin do

    for j:=1 to nlin do

    minor[i,j]:=a[vlin[i],vcol[j]];

    end;

    procedure init (m,n:integer);

    var i:integer;

    begin{lr si cr retin liniile si

    coloane ramase neselectate; initial

    nu se alege nimic}

    for i:=1 to m do

    lr[i]:=i;

    #include

    int

    ms[10][10],vlin[10],vcol[10],lr[10];

    int nlin,nlr,ncr,ec,nec, cr[10];

    void cauta(int a[][10],int m, int n,

    int &x,int &y)

    {int i,j;

    /*se cauta in matricea a un element

    diferit de 0; coordonatele sale se

    memoreaza in x si y*/

    }

    void c_minor(int vlin[],int

    vcol[],int nlin, int a[][10],int

    minor[][10])

    {int i,j;

    for(i=1;i

  • 8/19/2019 04 capitolul IV.pdf

    48/65

    Petru Florin Gavril Capitolul IV - Matrice

    148

    nlr:=m;

    for i:=1 to n do

    cr[i]:=i;

    ncr:=n;

    end;

    procedure elimina(var v:vector;var

    dv:integer;x:integer);

    var j,i:integer;

    begin{elimina o linie sau o coloana

    din lr sau cr dupa selectare}

    i:=1;

    while (i

  • 8/19/2019 04 capitolul IV.pdf

    49/65

    Petru Florin Gavril Capitolul IV - Matrice

    149

    vlin[nlin]:=l; vcol[nlin]:=c;

    stoprang:=false;

    if m>n then dmax:=n

    else dmax:=m;

    {se elimina linia si coloanapentru a nu fi reselectate}

    elimina(lr,nlr,vlin[nlin]);

    elimina(cr,ncr,vcol[nlin]);

    while (nlin

  • 8/19/2019 04 capitolul IV.pdf

    50/65

    Petru Florin Gavril Capitolul IV - Matrice

    150

    then nlin:=nlin+1;

    j:=ncr+1;{iesire

    fortata}

    i:=nlr+1; end

    elseif (i=nlr)and(j=ncr)

    then begin

    dmax:=0;

    writeln('Am epuizat

    toate posibilitatile de a gasi un

    minor de dimensiune ',nlin,'

    diferit de 0'); end

    else

    writeln('Construim un

    alt minor de aceeasi dimensiune')

    end;

    if stoprang then

    stoprang:=false;

    end;

    if not(stoprang) then

    rang:=nlin-1;

    end;

    end;

    procedure citire;

    var i,j:integer;

    begin

    {citire matrice ms [ecXnec]}

    end;

    begin

    clrscr; citire; init(ec,nec);

    for i:=1 to ec do

    begin for j:=1 to nec do

    write(ms[i,j]:5);

    writeln; end;

    r1:=rang(ms,ec,nec);writeln('Rangul

    matricei A=',r1); end.

    if (stoprang)

    stoprang=0;

    }

    if (!stoprang)

    return nlin-1;}

    }

    void citire()

    {int i,j;

    //citire matrice ms [ecXnec]

    }

    void main()

    {

    citire();

    init(ec,nec);

    for (i=1;i

  • 8/19/2019 04 capitolul IV.pdf

    51/65

    Petru Florin Gavril Capitolul IV - Matrice

    151

    IV.3.2.6 Determinarea inversei unei matrice

    Algoritmul studiat la orele de algebră se aplică şi pentru determinarea inversei

    unei matrice.

    Pascal

    (secvenţă program) 

    C++

    (secvenţă program) 

    program determinare_inversabila;

    type vector=array[1..5] of integer;

    matrice=array[1..5] of vector;

    linieadj=array[1..5] of real;

    matrice_reala=array[1..5] of

    linieadj;

    varms,mt,madj:matrice;

    minv:matrice_reala;

    i,j,n,i1,j1,detms:integer;

    procedure citire;

    begin{citire matrice ms[nXn]}end;

    procedure transpunere(var

    a:matrice; n:integer);

    var i,j,aux:integer;

    begin

    for i:=1 to n-1 do

    for j:=i+1 to n do

    begin

    aux:=a[i,j];a[i,j]:=a[j,i];a[j,i]:=

    aux;

    end;

    writeln;

    writeln('Matricea transpusa

    este....');

    for i:=1 to n do

    begin writeln;

    for j:=1 to n do

    write(a[i,j]:5);

    end;

    writeln;

    #include

    #include

    int

    ms[10][10],mt[10][10],madj[10][10];

    float minv[10][10];

    int i,j,n,i1,j1,detms;

    void citire();

    {

    //citire matrice ms

    }

    void transpunere(int a[][10], int

    n)

    {int i,j,aux;

    for( i=1;i

  • 8/19/2019 04 capitolul IV.pdf

    52/65

    Petru Florin Gavril Capitolul IV - Matrice

    152

    end;

    function determinant

    (a:matrice;n:integer;

    i,j,p:integer):integer;var b:matrice; k,l,x:integer;

    begin

    {vezi IV.3.4.1}

    end;

    procedure adjuncta;

    var

    i,j,i1,j1,i2,j2:integer;

    calg:matrice;

    begin

    for i:=1 to n do

    for j:=1 to n do

    begin

    for i1:=1 to i-1 do

    calg[i1]:=mt[i1];

    for i1:=i to n-1 do

    calg[i1]:=mt[i1+1];

    for i1:=1 to n-1 do

    for j1:=j to n-1 do

    calg[i1,j1]:=calg[i1,j1+1];

    writeln('Calculam determinantul

    complementului algebric al

    elementului

    aT(',i,',',j,')=',mt[i,j]);

    writeln('Complementul algebric

    este:');

    for i2:=1 to n-1 do

    begin

    for j2:=1 to n-1 do

    write(calg[i2,j2]:6);

    writeln;

    end;

    if (i+j) mod 2=0

    then

    begin

    n,int i, int j, int p)

    {int b[10][10],k,l,x;

    //vezi IV.3.4.1

    }

    void adjuncta();

    {

    int i,j,i1,j1,i2,j2, calg[10][10];

    for(i=1;i

  • 8/19/2019 04 capitolul IV.pdf

    53/65

    Petru Florin Gavril Capitolul IV - Matrice

    153

    madj[i,j]:=determinant(calg,n-

    1,1,1,1);

    writeln('Elementul

    a*(',i,',',j,') este determinantul

    complementului adica ',madj[i,j]);end

    else

    begin

    madj[i,j]:=-

    determinant(calg,n-1,1,1,1);

    writeln('Elementul

    a*(',i,',',j,') este determinantul

    complementului cu semn schimbat

    adica ',madj[i,j]);

    end;

    readkey;

    end;

    end;

    procedure inversa(var

    minv:matrice_reala; n:integer);

    var i,j:integer;

    begin

    writeln;

    writeln('Matricea adjuncta

    este......');

    for i:=1 to n do

    begin

    writeln;

    for j:=1 to n do

    write(madj[i,j]:6);

    end;

    writeln;

    writeln('Matricea inversa se

    obtine inmultind A* cu inversul

    determinantului metricei A');

    for i:=1 to n do

    for j:=1 to n do

    begin

    minv[i,j]:=madj[i,j];minv[i,j]:=minv[i,j]/detms;

    cout

  • 8/19/2019 04 capitolul IV.pdf

    54/65

    Petru Florin Gavril Capitolul IV - Matrice

    154

    end;

    writeln;

    writeln('Mat