Metode Numerice - Curs 3 PDF
Document Details
Uploaded by Deleted User
Tags
Summary
Acest document este un curs despre metode numerice, concentrandu-se pe sisteme determinate de ecuatii algebrice liniare, metode directe si iterative, precum si triangularizare. Se prezinta algoritmi si teoreme relevante pentru rezolvarea acestor sisteme.
Full Transcript
METODE NUMERICE – curs 3 Cap. 2 Sisteme determinate de ecuaţii algebrice liniare 2.1 Formularea problemei Metodele numerice de rezolvare a unui sistem determinat de ecuaţii algebrice liniare metode directe: metode iterative...
METODE NUMERICE – curs 3 Cap. 2 Sisteme determinate de ecuaţii algebrice liniare 2.1 Formularea problemei Metodele numerice de rezolvare a unui sistem determinat de ecuaţii algebrice liniare metode directe: metode iterative (indirecte): sistem echivalent, direct rezolvabil prin mijloace construirea unui şir de aproximaţii pentru elementare eliminarea progresivă a soluţia sistemului, convergent la aceasta: necunoscutelor (eliminare gaussiană) 𝑘→∞ 𝑥 [𝑘] 𝑥 prin transformări elementare de echivalenţă, se 𝑘≥0 aduce matricea A la anumite forme tipice: u 11 u 1n l11 0 0 lim || x x || 0 [k] 0 k U L 0 calculele se opresc la un index de iterare 0 0 u nn n1 l l nn [s], când este îndeplinită condiţia: [s 1] x || impus [s ] matrice superior matrice inferior || x triunghiulară triunghiulară procedura de transformare se numeşte triangularizare METODE NUMERICE – curs 3 2.2 Rezolvarea sistemelor prin triangularizare directă 2.2.1 Principiul metodei se consideră sistemul de n ecuaţii algebrice liniare cu n necunoscute: 𝐴 ∙ 𝑥 = 𝑏, 𝐴 ∈ ℝ𝑛×𝑛 , 𝑏 ∈ ℝ𝑛×1 notaţie: A [a ij ]1i n 1 j n matricile: [a 11 ] , …, [a ij ]1i n 1 - submatrici principale (minori principali directori) ale lui A 1 j n 1 Teoremă: Dacă matricea 𝐴 ∈ ℝ𝑛×𝑛 are toate submatricele principale inversabile (nesingulare), atunci există matricele 𝐿, 𝐷, 𝑈 ∈ ℝ𝑛×𝑛 astfel încât: A LDU unde L este o matrice inferior triunghiulară, D este o matrice diagonală şi U este o matrice superior triunghiulară. METODE NUMERICE – curs 3 Observaţii: 1. uzuale sunt factorizările: 𝐴 = 𝐿 ∙ 𝑈 (factorizare L-U); 2. demonstraţia teoremei enunţate este constructivă, constituind însuşi algoritmul de descompunere L-U a matricei A; 3. algoritmul de descompunere procedeul de eliminare gaussiană a necunoscutelor - matricea A este adusă la forma superior triunghiulară în urma unui şir de transformări de asemănare se “acumulează” într-o matrice inferior triunghiulară, cu elementele de pe diagonala principală egale cu 1 (descompunere Doolittle); 4. considerând descompunerea L-U a matricei sistemului A, rezolvarea sistemului implică două subetape: a) substituţie înainte: rezolvarea sistemului 𝐿 ∙ 𝑦 = 𝑏 - din aproape în aproape: 𝑦1 din prima ecuaţie 𝑦2 din a doua ecuaţie … 𝑦𝑛 din ultima ecuaţie (𝑦 = 𝑦𝑖 𝑖=1,𝑛 ) b) substituţie inversă: rezolvarea sistemului U∙ 𝑥 = 𝑦 - din aproape în aproape: 𝑥𝑛 din ultima ecuaţie 𝑥𝑛−1 din penultima ecuaţie … 𝑥1 din prima ecuaţie (𝑥 = 𝑥𝑖 𝑖=1,𝑛 ) METODE NUMERICE – curs 3 Propoziţie: Dacă matricea A admite o descompunere L-U, atunci această descompunere este unică. procedura de triangularizare directă necesită un număr de operaţii în virgulă mobilă de 3 ordinul lui 𝑛 ൗ3; dacă matricea A este simetrică (𝐴 = 𝐴𝑇 ) şi pozitiv definită (∀𝑥 ∈ ℝ𝑛×1 , 𝑥 ≠ 0𝑛×1 , 𝑥 𝑇 ∙ 𝐴 ∙ 𝑥 > 0 şi 𝑥 𝑇 ∙ 𝐴 ∙ 𝑥 = 0 ⇔ 𝑥 = 0𝑛×1 ), A se descompune sub forma 𝐴 = 𝐿 ∙ 𝐿𝑇 (descompunerea Cholesky). 2.2.2 Procedura de triangularizare directă a unei matrice algoritmul triangularizării directe: atribuie 𝐴1 ⟵ 𝐴 pentru 𝑘 = 1, 𝑛 − 1 execută determinare matrice 𝑀𝑘 astfel încât 𝐴𝑘+1 = 𝑀𝑘 ∙ 𝐴𝑘 să aibă elementele: [𝑘+1] [𝑘+1] [𝑘] 𝑎𝑖,𝑘 = 0, 𝑖 = 𝑘 + 1, … , 𝑛 şi 𝑎𝑖,𝑗 = 𝑎𝑖,𝑗 , 𝑖 = 1, … , 𝑛; 𝑗 = 1, … , 𝑘 − 1 atribuie 𝐴𝑘+1 ⟵ 𝑀𝑘 ∙ 𝐴𝑘 atribuie 𝑈 ⟵ 𝐴𝑛 METODE NUMERICE – curs 3 algoritmul parcurge (n – 1) etape în care se zerorizează elementele unei coloane, situate sub diagonala principală, lăsând nemodificate coloanele transformate la etapele anterioare [𝑘] notaţie: 𝜉 = 𝑐𝑘 𝐴𝑘 ; 𝑐𝑘 𝐴𝑘 - coloana k a matricii 𝐴𝑘 = 𝑎𝑖,𝑗 𝑖,𝑗=1,…,𝑛 [1 k k 1 n ]T [a 1[ k,k] a [kk,k] a [kk]1,k a [nk,k] ]T 𝑇 𝑀𝑘 se construieşte încât 𝑀𝑘 ∙ 𝜉 = 𝜉1 ⋯ 𝜉𝑘 0 ⋯ 0 se consideră vectorul de multiplicatori: 𝑚𝑘 = 0 ⋯ 0 𝜇𝑘+1,𝑘 ⋯ 𝜇𝑛,𝑘 𝑇 Definiţie: Matricea 𝑀𝑘 se numeşte matrice de transformare elementară de ordin n şi indice k sau matrice Gauss şi este definită prin: Mk In mk ek T unde 𝑒𝑘 este coloana k a matricii unitate de ordin n, 𝐼𝑛. CALCUL NUMERIC – curs 3 proprietăţi ale matricilor Gauss: sunt inferior triunghiulare; elementele diagonalei principale sunt egale cu 1; sunt nesingulare, având inversa: M k1 I n m k e k T efectul aplicării matricei 𝑀𝑘 asupra vectorului 𝜉: M k (I n m k e k ) m k e k m k k T T [ 1 k k 1 k 1,k k n n ,k k ]T trebuie zerorizate presupunând 𝜉𝑘 ≠ 0, se aleg multiplicatorii Gauss: i,k i / k , i k 1,..., n pivot M k [1 k 0 0]T METODE NUMERICE – curs 3 Observaţii: 1. În practică, pe calculator, etapa k descrisă mai sus se poate realiza testând condiţia: | a [kk,k] | [𝑘] în loc de a verifica 𝑎𝑘,𝑘 ≠ 0, unde 𝜀 este o constantă impusă, de valoare mică sau foarte mica (de exemplu, epsilonul-maşină); aceasta se realizează datorită faptului că, dacă în aritmetica exactă pivotul este nul, în aritmetica virgulei mobile, datorită erorilor de calcul, această situaţie este echivalentă cu: | a k ,k | ; [k] 2. Când pivotul este în modul mai mic sau egal cu 𝜀, eliminarea gaussiană eşuează; aceasta corespunde situaţiei când matricea iniţială A are submatricea principală de ordin k singulară, deci conform teormei enunţate anterior, descompunerea L-U a matricei A nu există. efectul aplicării transformării 𝑀𝑘 asupra celorlaltor coloane ale matricei 𝐴𝑘 : 𝑇 - se consideră un vector 𝜂 ≠ 𝜉, cu 𝜂 = 𝜂1 ⋯ 𝜂𝑛 M k [1 k k 1 k 1,k k n n ,k k ]T METODE NUMERICE – curs 3 Concluzii: 1. Matricea 𝑀𝑘 lasă nemodificate primele k – 1 coloane ale matricei 𝐴𝑘 : c j (A k ) [* * 0 0 0]T , j k, j 1,..., k 1 1 j j1 k n M k c j (A k ) [* * 0 0 0 k 1,k 0 0 n ,k 0]T 1 j j1 k k 1 n c j (A k ) 2. Matricea 𝑀𝑘 transformă coloana k a matricei 𝐴𝑘 zerorizând liniile 𝑘 + 1, ⋯ , 𝑛; 3. Matricea 𝑀𝑘 transformă coloanele 𝑘 + 1, ⋯ , 𝑛 ale matricei 𝐴𝑘 în liniile 𝑘 + 1, ⋯ , 𝑛: c j (A k ), j k 1,..., n M k c j (A k ) [* * a [kk]1, j k 1,k a [kk, ]j a [nk, ]j n,k a [kk, ]j ]T (notaţia * semnificând faptul că elementele implicate rămân nemodificate) METODE NUMERICE – curs 3 tabloul general al transformărilor: M n 1 M 2 M 1 A U A M11 M 21 M n11 U A LU L n 1 L M 11 M 21 M n11 I n m k e k T k 1 Observaţie: 1. Matricea L este inferior triunghiulară unitate şi conţine în fiecare coloană, sub elementul unitar de pe diagonala principală, subvectorii Gauss; 2. Prima sub-etapă de rezolvare a sistemului 𝐴 ∙ 𝑥 = 𝑏 este substituţia înainte aplicată sistemului de ecuaţii 𝐿 ∙ 𝑦 = 𝑏 : y L1 b M n 1 M 2 M1 b METODE NUMERICE – curs 3 Concluzie: La triangularizarea simplă, unde elementele matricei A se modifică corespunzător relaţiei: a [ijk 1] a [ijk ] ik a [kjk ] , i k 1,..., n; j k,..., n multiplicatorii 𝜇𝑖𝑘 pot avea, în principiu, orice valoare - dacă aceste valori sunt mari sau foarte mari, atunci: pot apare fenomenele de omitere catastrofală şi/sau de neutralizare a termenilor; [𝑘] amplifică erorile prezente în termenii 𝑎𝑘𝑗. triangularizarea simplă este instabilă numeric stabilizarea algoritmului triangularizării unei matrici multiplicatori Gauss cu modul subunitar METODE NUMERICE – curs 3 𝟐 −3 5 Exemplu: 𝐴 = 𝐴1 = 4 7 −3 1 9 4 iteraţia 1: 0 0 1 0 0 𝟐 −3 5 𝑚1 = 4Τ𝟐 = 2 𝑀1 = −2 1 0 𝐴2 = 𝑀1 ∙ 𝐴1 = 0 𝟏𝟑 −13 1Τ𝟐 0.5 −0.5 0 1 0 10.5 1.5 iteraţia 2: 0 0 1 0 0 𝑚2 = 0 = 0 𝑀2 = 0 1 0 10.5Τ𝟏𝟑 0.8077 0 −0.8077 1 𝟐 −3 5 𝐴3 = 𝑀2 ∙ 𝐴2 = 0 𝟏𝟑 −13 = 𝑈 0 0 12 1 0 0 𝐿= 𝑀1−1 ∙ 𝑀2−1 = 2 1 0 0.5 0.8077 1 METODE NUMERICE – curs 3 2.3 Rezolvarea sistemelor prin triangularizare cu pivotare parţială principiu: la pasul k se caută pivotul printre elementele din coloana k, pornind de la elementul de pe diagonala principală în jos, alegându-se elementul care are cea mai mare valoare în modul: | a [i kk ],k | max{| a [i,kk] |} k k i n k Ak = 0 ik n | k dacă 𝑖𝑘 ≠ 𝑘 se permută liniile k şi 𝑖𝑘 cu ajutorul matricii de permutare de linii 𝑃𝑘 Pk A k A k 1 M k (Pk A k ) | i,k | 1, i k 1,..., n METODE NUMERICE – curs 3 proprietăţi matrice de permutare de linii, Pk: det(Pk ) 1; Pk Pk1 Teoremă: Dacă matricea A este nesingulară, atunci există o matrice numită matrice generală de permutare de linii, astfel încât: P A L' U în care U este o matrice superior triunghiulară şi Lˈ este o matrice inferior triunghiulară unitate cu elementele | l i, j | 1, i j Demonstraţia constructivă, constituind însuşi algoritmul de triangularizare cu pivotare parţială a unei matrici METODE NUMERICE – curs 3 algoritmul de triangularizare cu pivotare parţială: atribuie 𝐴1 ⟵ 𝐴 pentru 𝑘 = 1, 𝑛 − 1 execută [𝑘] [𝑘] [𝑘] determinare 𝜉𝑘 ← 𝑎𝑖𝑘 ,𝑘 unde 𝑎𝑖𝑘 ,𝑘 = max 𝑎𝑖,𝑘 𝑖=𝑘,𝑛 dacă (𝑖𝑘 ≠ 𝑘) atunci determină 𝑃𝑘 altfel atribuie 𝑃𝑘 ← 𝐼𝑛 calcul 𝑃𝑘 ∙ 𝐴𝑘 determinare matrice 𝑀𝑘 astfel încât 𝐴𝑘+1 = 𝑀𝑘 ∙ 𝑃𝑘 ∙ 𝐴𝑘 să aibă elementele: [𝑘+1] [𝑘+1] [𝑘] 𝑎𝑖,𝑘 = 0, 𝑖 = 𝑘 + 1, … , 𝑛 şi 𝑎𝑖,𝑗 = 𝑎𝑖,𝑗 , 𝑖 = 1, … , 𝑛; 𝑗 = 1, … , 𝑘 − 1 atribuie 𝐴𝑘+1 ⟵ 𝑀𝑘 ∙ 𝑃𝑘 ∙ 𝐴𝑘 atribuie 𝑈 ⟵ 𝐴𝑛 METODE NUMERICE – curs 3 tabloul general al transformărilor: M n 1 Pn 1 M 2 P2 M1 P1 A U - folosind 𝑃𝑘 = 𝑃𝑘−1 (M n 1 Pn 1 M1 P1 P1 P2 Pn 1 ) (Pn 1 P2 P1 ) A U −1 P 𝐿′ matrice generală de permutare de linii P A L' U L' Pn 1 P2 M11 P2 M 21 Pn 1 M n11 matrice inferior triunghiulară unitate având în fiecare coloană, sub diagonala principală, subvectori Gauss cu liniile permutate METODE NUMERICE – curs 3 etapele rezolvării sistemului 𝐴 ∙ 𝑥 = 𝑏, A ∈ ℝ𝑛×𝑛 , 𝑏 ∈ ℝ𝑛×1: a) factorizarea L_U a matricii A prin triangularizare cu pivotare parţială: P A L' U b) calculul vectorului: 𝑐 = 𝑃 ∙ 𝑏 c) rezolvare sistem 𝐿′ ∙ 𝑦 = 𝑐 prin substituţie înainte d) Rezolvare sistem 𝑈 ∙ 𝑥 = 𝑦 prin substituţie inversă PAx Pb L' U x P b P A L' U cPb L' y c yUx Observaţie: Dacă algoritmul de triangularizare cu pivotare parţială eşuează, în sensul că pivotul găsit la o anumită etapă [k] este nul sau foarte mic în modul, aceasta corespunde situaţiei când în aritmetica reală primele k coloane ale matricei A sunt liniar dependente.