SISTEME DE ECUATII LINIARE - users.utcluj.rousers.utcluj.ro/~ccosmin/sisteme.pdf · intreaga gama de posibilitati vom alege varianta in care U are 1 pe diagonala.In ... 2.3 Factorizarea

Embed Size (px)

Citation preview

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    1

    SISTEME DE ECUATII LINIARE

    1. Introducere

    Metodele de rezolvare a sistemelor de ecuatii liniare de forma (1) se grupeaza in generalin doua categorii: metode directe, bazate pe procedee de eliminare si metode indirecte(iterative).

    ====

    nnnnnn

    n

    n

    b

    bb

    x

    xx

    aaa

    aaaaaa

    .........

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

    2

    1

    2

    1

    21

    22221

    11211

    (1)

    BXA ==== (1')

    Proprietatile pe care le ofera liniaritatea unei functii sau ecuatii sunt utilizate ca elementede baza pentru metodele de rezolvare bazate pe procedee de eliminare a necunoscutelor.Ecuatiile sistemului initial se pot multiplica prin constante si se combina cu ajutoruloperatiilor suplimentare obtinindu-se in final forme simplificate ale sistemului considerat.La alegerea unei metode de calcul, pentru rezolvarea unei anumite probleme pe un sistemde calcul dat, trebuie avute in vedere o serie de criterii cum ar fi: numarul secventelor decalcul, precizia rezultatelor, posibilitatea introducerii unor teste de precizie, secventiale,pe parcursul desfasurarii algoritmului.

    In cadrul metodelor directe, care se considera a fi metode exacte, s-au impus metodelecare au la baza algoritmul de eliminare Gauss, cu variantele Gauss-Jordan, Doolitle,Crout si Cholesky.

    Metodele exacte permit obtinerea solutiei exacte a sistemului de ecuatii facind abstractiede erorile de tip round-off ale sistemului de calcul, de erorile de rotunjire si trunchierefolosind un numar finit de operatii elementare.

    In cadrul metodelor iterative s-au impus metodele Jacobi, Gauss-Seidl, metoda relaxarilorsuccesive si metoda Lanczos.

    Metodele iterative se caracterizeaza prin faptul ca solutia sistemului considerat se obtineca limita a unui sir de valori ce reprezinta solutii pentru diverse iteratii succesive. Incadrul acestor metode, se pune problema de a alege acea metoda, care asigura cea maimare viteza de convergenta a solutiilor pentru o aproximare initiala adecvat aleasa.

    Dintre metodele numerice directe, utilizate la rezolvarea sistemului de ecuatii algebriceneomogene se vor prezenta: metoda eliminarii directe Gauss, metoda factorizarii LU simetoda Cholesky.

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    2

    2. Proceduri numerice de rezolvare a sistemelor de ecuatii liniare

    Dintre metodele numerice directe, utilizate la rezolvarea sistemului de ecuatii algebriceneomogene se vor prezenta: metoda eliminarii directe Gauss, metoda factorizarii LU simetoda Cholesky, iar ca si metoda indirecta (iterativa) de rezolvare a sistemelor deecuatii liniare va fi prezentata metoda Jacobi.

    2.1. Metoda eliminarii Gauss

    In prima etapa numita triangularizare (substitutia inainte) se elimina succesiv in n-1 pasinecunoscutele xi, i=1,2,...n-1 din ecuatiile sistemului ceea ce are ca rezultat eliminareaelementelor situate sub diagonala principala a metricei A si transformarea acestora intr-omatrice superior triunghiulara.

    In pasul 1 se obtine:

    ====

    111

    1

    111

    212

    1

    2

    1

    111

    112

    11

    12

    111

    21212

    11

    2122

    11211

    .........0

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

    ...0

    ...

    baab

    baab

    b

    x

    xx

    aaaaa

    aaa

    aaaaa

    aaa

    aaa

    nnnn

    nnn

    nn

    nn

    n

    (2)

    sau cu notatiile

    (((( ))))

    (((( ))))1

    1111

    1

    11

    1111 ,...2,1;,...3,2,

    baabb

    njjniaaaaa

    iii

    jiijij

    ====

    ================

    (3)

    rezulta:

    (((( )))) (((( ))))

    (((( )))) (((( ))))

    (((( ))))

    (((( ))))

    ====

    1

    12

    1

    2

    1

    112

    12

    122

    11211

    .........0

    ...............0...

    nnnnn

    n

    n

    b

    bb

    x

    xx

    aa

    aaaaa

    (4)

    In pasul i-1 al eliminarii sistemul de ecuatii devine:

    (((( )))) (((( )))) (((( ))))

    (((( )))) (((( ))))

    (((( )))) (((( ))))

    (((( ))))

    (((( ))))

    (((( ))))

    ====

    1

    1

    12

    1

    2

    1

    11

    11

    12

    12

    122

    111211

    ...

    ...

    ...

    ...

    ......00..................

    ......00..................

    ......0

    ......

    in

    ii

    n

    i

    inn

    ini

    iin

    iii

    ni

    ni

    b

    b

    bb

    x

    x

    xx

    aa

    aa

    aaaaaaa

    (5)

    sau in forma restrinsa:(((( ))))[[[[ ]]]] [[[[ ]]]] (((( ))))[[[[ ]]]]11 ==== ii BXA (6)

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    In pasul l se obtine(((( ))))[[[[ ]]]] [[[[ ]]]] (((( ))))[[[[ ]]]]ll BXA ==== (7)

    cu(((( )))) (((( ))))

    (((( ))))

    (((( ))))(((( )))) (((( )))) (((( )))) (((( ))))

    (((( )))) (((( ))))(((( ))))

    (((( ))))(((( )))) (((( )))) (((( )))) (((( ))))1111

    1

    11

    11111

    11 ,...,1,,

    ========

    ++++============

    ll

    li

    li

    lll

    ll

    lill

    il

    i

    llj

    li

    lij

    lljl

    ll

    lill

    ijl

    ij

    bmbbaabb

    nljiamaaaaaa

    (8)

    In final dupa consumarea pasului n-1, sistemul este complet triangularizat:

    (((( )))) (((( )))) (((( ))))

    (((( )))) (((( ))))

    (((( ))))

    (((( ))))

    (((( ))))

    (((( ))))

    ====

    1

    23

    12

    1

    3

    2

    1

    1

    23

    233

    12

    123

    122

    1131211

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

    nnn

    nnn

    n

    n

    n

    b

    bbb

    x

    xxx

    a

    aaaaaaaaa

    (9)

    sau utilizind o scriere simbolica:

    [[[[ ]]]] [[[[ ]]]] [[[[ ]]]]'\ BXS0 ==== (10)ObservatieIn procesul de calcul automat, matricele succesive (((( ))))[[[[ ]]]]lA se construiesc in spatiul dememorie initial alolcat pentru matricea [[[[ ]]]]A . Procedeul se prezinta algoritmat in formaurmatoare:

    3

    ljiijij

    liii

    ll

    ili

    amaa

    nlj

    bmbb

    aam

    nlinl

    ====

    ++++====

    ====

    ====

    ++++========

    ,...,1

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

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    Pentru determinarea solutiei sistemului (1) are loc un proces de eliminare inversa(substitutia inapoi) care poate fi descris astfel:

    (((( ))))

    (((( ))))

    (((( ))))(((( ))))

    (((( ))))

    (((( )))) (((( ))))(((( ))))

    (((( )))) 1,...,3,2,...

    ...

    11

    11,1

    ,1

    21,1

    2,12

    11

    1

    1

    ====

    ====

    ====

    ====

    ++++

    ++++

    nnia

    xaxabx

    axa

    bx

    abx

    iii

    iiii

    nini

    iii

    nnn

    nn

    nnnnn

    nnn

    nn

    n

    (11)

    respectiv in forma algoritmica:

    in care ija sunt elemen

    In concluzie, in urma matrice S superior triunesingulara, iar elemefiecare pas al eliminmatricii A este dat de p

    2.2. Descompunerea L

    O modificare a metofrecvent utilizata. In aprodus de doua matrimatricea superior triunmatrice poate fi scrisatriunghiulara L si a intreaga gama de pocontinuare va fi exemp

    ====

    ====

    ====

    ++++====

    n

    ijjijiiii

    nnnn

    xabax

    nnibax

    1

    1

    1

    1,...,2,1

    4

    te ale matricii triunghiulare S iar ib elementele matricii B'.

    aplicarii unei eliminari Gauss dupa n-1 etape de calcul se obtine onghiulara, asociata sistemului (1) cu conditia ca matricea A sa fientele transformate de pe diagonala principala sa rezulte nenule inarii: (((( )))) 0liia , i=1,2,...,n; l=1,2,...,n-1. Valoarea determinantuluirodusul elementelor de pe diagonala principala a matricii S:

    (((( )))) (((( )))) (((( )))) (((( )))) (((( ))))123312211 ...detdet ======== nnnaaaaSA (12)

    U

    dei eliminarii, numita descompunerea sau factorizarea LU esteceasta metoda, matricea coeficientilor A este tranformata intr-unci L si U unde L este matricea inferior triunghiulara si U esteghiulara avind elemente egale cu 1 pe diagonala principala. Orice ca produsul unei matrici a permutarilor P a unei matrice inferioruneia superior triunghiulara U, intr-o infinitate de moduri. Dinsibilitati vom alege varianta in care U are 1 pe diagonala.Inlificata aplicarea metodei in cazul unei matrici de dimensiuni 4x4.

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    5

    Fie urmatoarea descompunere a matricii A in produsul a doua matrice L si U:

    ====

    44434241

    34333231

    24232221

    14131211

    34

    2423

    141312

    44434241

    333231

    2221

    11

    1000100

    101

    000000

    aaaaaaaaaaaaaaaa

    uuuuuu

    lllllll

    lll

    (13)

    Inmultind liniile lui L cu prima coloana a lui U:4141313121211111 ;;; alalalal ================ (14)

    Inmultind prima linie a lui L cu coloanele a lui U:;;; 141411131311121211 aulaulaul ============ (15)

    de unde

    11

    1414

    11

    1313

    11

    1212 ;; l

    aulau

    lau ============ (16)

    In aceasta metoda se alterneaza gasirea unei coloane a lui L si a unei linii a lui U, astfelca urmeaza gasirea urmatoarei coloane a lui L, prin inmultirea liniilor lui L cu cu coloanaa doua a lui U:

    423222

    424212413232123122221221

    ,,

    ;;

    lllalulalulalul

    ====++++====++++====++++ (17)

    Procedind analog obtinem in continuare:

    3443244214414444

    33

    243214313434

    234213414343233213313333

    22

    14212424

    22

    13212323

    ;

    ;

    ulululall

    ululau

    ululalululall

    ulaul

    ulau

    ====

    ====

    ========

    ========

    (18)

    Formulele generale pentru obtinerea elementelor matricelor L si U sunt:

    njjil

    ulau

    niijulal

    ii

    i

    kkjikij

    ij

    j

    kkjikijij

    ,...,3,2,,

    ,...,2,1,;

    1

    1

    1

    1

    ====>>>>

    ====

    ========

    ====

    ====

    (19)

    Pentru j=1, 11 ii al ==== si pentru. i=1, 11

    1

    11

    11 a

    alau jij ======== (20)

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    6

    Observatie: Stocarea matriciiDeoarece matricele L si U pot fi stocate in zona rezervata matricei A aceasta metoda estecunoscuta si sub denumirea de schema compacta:

    ====

    nnnn

    n

    n

    nnnn

    n

    n

    lll

    ulluul

    aaa

    aaaaaa

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

    ...

    ...

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

    ...

    ...

    21

    22221

    11211

    21

    22221

    11211

    A (21)

    Rezolvarea sistemului de ecuatii

    [[[[ ]]]][[[[ ]]]] [[[[ ]]]]BX ==== dupa factorizare [[[[ ]]]][[[[ ]]]][[[[ ]]]] [[[[ ]]]]BXUL ====Notam [[[[ ]]]][[[[ ]]]] [[[[ ]]]]'BXU ====Atunci avem:[[[[ ]]]][[[[ ]]]] [[[[ ]]]] [[[[ ]]]]'' BBBL ==== prin substitutie inainte dupa care cu B' cunoscut, prin

    substitutie inapoi obtinem[[[[ ]]]][[[[ ]]]] [[[[ ]]]] [[[[ ]]]]XBXU ==== '

    Un avantaj special al metodei factorizarii LU este posibilitatea rezolvariisistemului cu mai multe coloane de termeni liberi cu o mare economie de efort de calcul.De retinut ca spre deosebire de cazul clasic al eliminarii Gauss, in care termenii liberitrebuiau cunoscuti in avans, in aceasta metoda nu este necesar sa cunoastem acesti vectoriin momentul reducerii la forma LU. Numarul operatiilor aritmetice necesare aflariisolutiei pentru fiecare nou termen liber, este exact numarul operatiilor necesar efectuariiinmultirii dintre o matrice nxn cu un vector de n dimensiuni.

    2.3 Factorizarea Cholesky

    In cazul matricelor simetrice (A=AT) si pozitiv definite ( 0>>>>AXXT , pentru oricevector X nenul) una dintre cele mai eficiente metode de rezolvare a sistemelor liniare estefactorizarea Cholesky. Metoda consta in descompunerea matricei A in L si LT astfel incitA=LLT unde L este matrice inferior triunghiulara. Aceasta descompunere se poate facepentru orice matrice A simetrica si pozitiv definita:

    TLLA ==== (22)

    ====

    nnnin

    iiii

    lll

    lll

    nuleelementelll

    .........

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

    1

    21

    2221

    11

    L (23)

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    7

    Elementele matricei L se obtin in functie de cele ale matricei A prin identificarea termencu termen a rezolvarii produsului matrceal (22). Se obtin urmatoarele relatii de recurenta:

    (((( )))) jiljilllal

    jilal

    lalal

    ijjj

    j

    lljliijij

    i

    liiiiii

    ii

    >>>>

    ====

    ====

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    8

    Observatie:Remarcabil este faptul ca in factorizarea Cholesky vectorul B nu este afectat si inconsecinta matricea L o data obtinuta poate fi utilizata si pentru alte situatii, vectori liberidiferiti.

    2.4 Metoda iterativa Jacobi de rezolvare a sistemelor de ecuatii liniare

    In principiu metodele iterative constau in considerarea unei valori initiale (((( ))))0X pentruvectorul solutie X si apoi prin aplicarea unui algoritm de calcul iterativ se determina unsir de aproximatii succesive (((( )))) (((( )))) (((( ))))kXXX ...,,, 21 care in principiu trebuie sa conveargacatre solutia exacta a sistemului.

    Fie sistemul de ecuatii: AX=b:

    ====++++++++++++++++

    ====++++++++++++++++

    ====++++++++++++++++====++++++++++++++++

    nnnnnnn

    ininiii

    nn

    nn

    bxaxaxaxa

    bxaxaxaxa

    bxaxaxaxabxaxaxaxa

    ......

    ......

    ......

    332211

    332211

    22323222121

    11313212111

    (30)

    Explicitind din fiecare relatie a sistemului (30) pe xi i=1,2,...,n obtinem urmatorul set derelatii:

    ====

    ====

    ====

    11

    22

    11

    22

    23

    22

    231

    22

    21

    22

    22

    11

    13

    11

    132

    11

    12

    11

    11

    ...

    ...

    ...

    ...

    nnn

    nn

    nn

    n

    nn

    n

    nn

    nn

    nn

    nn

    xa

    axaax

    aa

    abx

    xaax

    aax

    aa

    abx

    xaax

    aax

    aa

    abx

    (31)

    si care poate fi rescris in forma matriceala astfel:

    ++++

    ====

    n

    i

    nnnnn

    iniii

    n

    n

    n

    i

    n

    i

    x

    x

    xx

    mmmm

    mmmm

    mmmmmm

    g

    g

    gg

    x

    x

    xx

    ...

    ...

    0.....................

    ...0.....................

    ......0

    ......0

    ...

    ...

    ...

    ...2

    1

    1,321

    321

    22321

    11312

    2

    1

    2

    1

    (32)

    unde ii

    ijij

    ii

    ii a

    am

    abg ======== ; .

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    9

    Calculele se pot conduce matriceal considerind relatia (32) scrisa sub forma condensata:

    MXgX ++++==== (33)gasind simultan la fiecare iteratie aproximatiile tuturor necunoscutelor. Considerindvectorul de pornire:

    (((( ))))(((( )))) (((( )))) (((( )))) (((( )))) (((( ))))(((( ))))0002010 ...... niT xxxx====X (34)dupa prima iteratie gasim:

    (((( )))) (((( ))))01 MXgX ++++==== (35)apoi:

    (((( )))) (((( ))))

    (((( )))) (((( ))))mm MXgX

    MXgX

    ++++====

    ++++====

    ++++1

    12

    .... (36)

    Relatiile (36) se mai pot scrie astfel:

    (((( )))) (((( ))))

    (((( )))) (((( )))) (((( ))))(((( )))) (((( )))) (((( ))))(((( )))) (((( )))) (((( )))) (((( ))))(((( )))) (((( )))) (((( ))))

    (((( )))) (((( )))) (((( ))))0121

    0320223

    02012

    01

    ......

    XMgMMMIX

    XMgMMIXMgMIMgMXgXXMgMIMXgMgMXgX

    MXgX

    ++++++++ ++++++++++++++++++++====

    ++++++++++++====++++++++++++====++++====

    ++++++++====++++++++====++++====

    ++++====

    mmm

    (37)

    Cum procesul iterativ, daca e convergent, nu trebuie sa depinda de vectorul de pornireX(0), va rezulta ca:

    0M ====++++

    1lim mn

    (38)

    adica matricea M trebuie sa fie convergenta, sa ca 1

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    10

    3. Conditionarea sistemelor de ecuatii liniare

    Sistemele de de ecuatii liniare pot fi bine conditionate (cu solutie stabila) si rauconditionate (cu solutie instabila). Stabilitatea solutiei se judeca in raport cu miciperturbatii ale vectorului liber. Daca la modificari nesemnificative ale termenului liber,solutia sistemului se modifica in aceeasi masura, atunci sistemul este bine conditionat,avind solutie stabila; daca solutia se modifica esential, sistemul este rau condtionat si aresolutie instabila.

    Un sistem este rau conditionat pentru o operatie determinata, efectuata printr-o metodadeterminata, atunci cind aceasta sensibilitate este mare. Aceasta definitie introducedistinctia intre doua tipuri de de conditionare: un sistem poate fi rau conditionat pentru ometoda particulara sau rau conditionat pentru o operatie particulara, oricare ar fi metodafolosita.

    Sa consideram sistemul:bXA ==== (41)

    Fie rbb ++++====' si eXX ++++====' unde r reprezinta vectorul care produce perturbarea iar e estevectorul perturbarii solutiei.Avem:

    '' bXAbXA

    ========

    (42)

    care mai poate fi rescris: (((( )))) bbXXA ==== '' (43)

    saurAe ==== (44)

    eArrAerAe

    XAbbAXbAX

    ====

    ====

    ;;

    ;;11

    11

    (45)

    sau:

    ebAArX

    rXAAeb

    1

    1

    (46)

    Din (46) rezulta

    1

    1

    1

    AArXeb

    AArXeb

    (47)

    sautinind cont ca (((( ))))AAA cond1 ==== numit numarul de conditie a matricii A obtinem:

    (((( )))) (((( )))) br

    Xe

    br

    AA

    condcond

    1 (48)

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    11

    Relatia (48) poate furniza informatii asupra stabilitatii sistemelor de ecuatii liniare. Astfeldaca matricea A a sistemului are numarul de conditie cond(A) 1 atunci modificarea

    solutiei exprimata prin Xe

    este de acelasi ordin de marime ca si modificarea in termenul

    liber definit de br

    . Altfel spus daca mici modificari se produc in termenul liber, solutia

    se modifica si ea in aceeasi masura. Sistemele cu matricea coeficientilor A avind numarulde conditie cond(A) mic sunt sisteme bine conditionate, stabile in solutie.

    Exemplu numeric

    Fie sistemul de ecuatii:

    ========

    40.240.360.135.242.357.1

    yxyx

    (49)

    ale carei solutii x=1.64, y=0.060 au fost obtinute efectuindu-se calculele cu trei cifresemnificative. Sistemul este slab conditionat deoarece modificari neinsemnate alecoeficientilor produc variatii mari ale solutiilor. Afirmatia este ilustrata grafic in Fig. 1.

    Fig. 1

    O imbunatatire a conditionarii se obtine daca se scade prima ecuatie din cea de a doua sirezultatul se multiplica cu 100:

    ========++++

    40.240.360.10.504.20.3

    yxyx

    (50)

    Solutiile acestui nou sistem x=1.63, y=0.06 sunt putin diferite de ale celui precedent, darmodificarile coeficientilor nu le influenteaza in mod insemnat (Fig. 2).

    -2

    0

    2

    4

    6

    8

    10

    12

    14

    16

    0 5 10 15 20 25 30 35

    X

    Y

    1.57x-3.42y=2.351.6x-3.40y=2.40

  • ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

    12

    Fig. 2

    -50

    -40

    -30

    -20

    -10

    0

    10

    20

    0 5 10 15 20 25 30 35

    X

    Y 3.0x+2.04y=5.01.6x-3.40y=2.4