Übung 7 - Verfahren zur Lösung linearer Systeme, Gittereigenschaften Musterlösung C. Baur, M. Schäfer Fachgebiet für Numerische Berechnungsverfahren im Maschinenbau 22.01.2009 TU Darmstadt FNB 22.01.2009 1/31
Aufg.1 - LU Zerlegung Theorie Gegeben ist das lineares Gleichungssystem A φ = b? A = L U L/U - untere/obere Dreiecksmatrix LU - Zerlegung basiert auf Gauß - Elimination, Direktes Verfahren! Wenn LU - Zerlegung vorliegt, dann mit rekursiven Algorithmen! A φ = LU φ = b L y = b und U φ = y TU Darmstadt FNB 22.01.2009 2/31
Aufg. 1 - Algorithmus A = a ij U mit Gauß-Elimination n n L = l ij n 1 Schritte, A 0 = A U = A n 1 a k ij a k ij = a k 1 ij, i k, 1 < j < n = a k 1 ij ak 1 ik a k kk n n U = u ij n n a k kj, i > k, 1 < j < n l ii = 1 l ij = 0, i < j l ij = u ji u ii, i > j 1 < i, j < n TU Darmstadt FNB 22.01.2009 3/31
Aufg. 1 - Matrix 4 3 2 6 A = 4 1 0 0 1 0 1 4 1 0 0 1 0 1 4 1 0 0 0 0 1 4 0 0 1 0 0 0 4 1 0 1 0 0 1 4 1 2 a E 3 4 5 a N 6 1 5 a W a S a P 1 2 3 4 5 6 Matrix A kommt z.b. aus einer FV Diskretisierung des Gebiets. TU Darmstadt FNB 22.01.2009 4/31
Aufg. 1 - LU - Zerlegung U 4 1 0 0 1 0 15 0 4 1 0 1 4 1 0 0 56 16 1 1 15 4 15 0 0 0 209 56 1 56 1 14 780 0 0 0 0 209 224 209 0 0 0 0 0 664 195 L 1 0 0 0 0 0 1 4 1 0 0 0 0 0 4 15 1 0 0 0 0 0 15 56 1 0 0 1 4 1 15 1 56 1 209 1 0 0 4 15 1 14 4 209 56 195 1 TU Darmstadt FNB 22.01.2009 5/31 1 1 4 + 15 4 = 4 1 1 56 + 1 209 209 56 = 0
Aufg. 2 - Matrix 2 1 a S a W 4 3 a P a N 4 1 1 0 1 4 0 1 1 0 4 1 0 1 1 4 φ 1 φ 2 φ 3 φ 4 = 44.125 23.875 49.875 32.125 Matrix aus einer FV Diskretisierung des Gebiets. a i P φ i + nb a E a i nb φ nb = b i, i = 1,...,4 A φ = b A L + A D + A U φ = b TU Darmstadt FNB 22.01.2009 6/31
Aufg. 2 - Iterative Verfahren A φ = b Bφ + A Bφ = b φ = B 1 b A B φ φ k+1 = = B 1 b + B 1 B A φ I B 1 A φ k + B 1 b Die Formel gilt für alle drei Iterationsverfahren! TU Darmstadt FNB 22.01.2009 7/31
Aufg. 2 - Jacobi Verfahren, Allgemein φ k+1 i = 1 a i b i P nb = φ k i φ k i + 1 = φ k i + 1 a i P a i P a i nbφ k nb b i nb b i a i Pφ k i nb a i nb φk nb a i nbφ k nb in Matrix-Schreibweise φ k+1 = φ k + A 1 D b Aφ k = I A 1 D A φ k + A 1 D b für Jacobi-Verfahren: B = A D TU Darmstadt FNB 22.01.2009 8/31
Aufg. 2 - Jacobi Verfahren k = 0 : φ k = 0 aus Startlösung φ k+1 1 = 1 a 1 b 1 a 1 N φk 2 a1 E φk 3 P φ k+1 2 = 1 a 2 P φ k+1 3 = 1 a 3 P φ k+1 4 = 1 a 4 P b 2 a 2 S φk 1 a2 E φk 4 b 3 a 3 W φk 1 a3 N φk 4 b 4 a 4 W φk 2 a4 S φk 3 TU Darmstadt FNB 22.01.2009 9/31
Aufg. 2 - Jacobi Verfahren, Endergebnisse k φ 1 φ 2 φ 3 φ 4 Res. 0 0 0 0 0 1 11.03 5.97 12.74 8.03 2 15.64 10.73 17.23 12.64 3 18.02 13.04 19.54 15.02 4 19.18 14.23 20.73 16.18. 13 20.3519 15.3925 21.8935 17.3519 ε = 0.01. 17 20.3540 15.3957 21.8957 17.3540 ε = 0.001 TU Darmstadt FNB 22.01.2009 10/31
Aufg. 2 - Gauß Seidel Verfahren, Allgemein φ k+1 i = 1 b i a i P in Matrix-Schreibweise nb=w,s a i nb φk+1 nb nb=n,e a i nb φk nb φ k+1 = A 1 D b A L φ k+1 A U φ k A D + A L φ k+1 = b A A D + A L }{{} φ k+1 = für Gauß-Seidel B = A D + A L! A U I A D + A L 1 A + A D + A L 1 b k φ φ k TU Darmstadt FNB 22.01.2009 11/31
Aufg. 2 - Gauß Seidel Verfahren k = 0 : φ k = 0 aus Startlösung φ k+1 1 = 1 a 1 b 1 a 1 N φk 2 a1 E φk 3 P φ k+1 2 = 1 a 2 P φ k+1 3 = 1 a 3 P φ k+1 4 = 1 a 4 P b 2 a 2 S φk+1 1 a 2 E φk 4 b 3 a 3 W φk+1 1 a 3 N φk 4 b 4 a 4 W φk+1 2 a 4 S φk+1 3 TU Darmstadt FNB 22.01.2009 12/31
Aufg. 2 - Gauß Seidel Verfahren, Endergebnisse k φ 1 φ 2 φ 3 φ 4 Res. 0 0 0 0 0 1 11.03 8.73 15.23 14.02 2 17.02 13.73 20.23 16.52 3 19.52 14.98 21.48 17.15 4 20.15 15.29 21.79 17.30. 8 20.3534 15.3954 21.8954 17.354 ε = 0.01. 10 20.3541 15.3958 21.8958 17.3542 ε = 0.001 TU Darmstadt FNB 22.01.2009 13/31
Aufg. 2 - SOR Verfahren wie Gauß-Seidel, aber mit Parameter ω φ k+1 i = φ k i + ω b i a i a i Pφ k i P in Matrix-Schreibweise φ k+1 = φ k + ωa 1 D nb=w,s a i nbφ k+1 nb nb=n,e a i nbφ k nb b A D φ k A L φ k+1 A U φ k 1 ω A Dφ k+1 = 1 ω A Dφ k + b A D φ k A L φ k+1 A U φ k 1 ω A D + A L φ k+1 = 1 ω A D A D A }{{ U } φ k + b A L A φ k+1 = I B 1 A φ k + B 1 b, mit B = 1 ω A D + A L TU Darmstadt FNB 22.01.2009 14/31
Aufg. 2 - SOR Verfahren k = 0 : φ k = 0 aus Startlösung, wähle ω = 1.1 Φ 1 1 = ω a 1 P Φ 1 2 = ω a 2 P Φ 1 3 = ω a 3 P Φ 1 4 = ω a 4 P b 2 a 2 S Φ1 3 b 3 a 3 W Φ1 1 b 4 a 4 W Φ1 2 a4 S Φ1 3 Φ 1 1 = 12.134 Φ1 2 = 11.255 Φ 1 3 = 17.052 Φ1 4 = 16.619 TU Darmstadt FNB 22.01.2009 15/31
Aufg. 2 - SOR Verfahren, Endergebnisse ω Iter für ε = 0.01 0.1 115 0.7 16 0.8 13 0.9 10 1 8 1.1 6 1.2 7 1.3 9 TU Darmstadt FNB 22.01.2009 16/31
Aufg. 3 - Matrix a S a P a W a N a E 4 1 0 1 0 0 1 4 1 0 1 0 0 1 4 0 0 1 1 0 0 4 1 0 0 1 0 1 4 1 0 0 1 0 1 4 φ 1 φ 2 φ 3 φ 4 φ 5 φ 6 = 12 7 3 2 5 15 3 2 1 6 5 4 Matrix aus einer FV Diskretisierung des Gebiets. TU Darmstadt FNB 22.01.2009 17/31
Aufg. 3 - ILU Verfahren Zerlegung in LU mit L und U, dünn besetzt wie A. A LU Iterationsverfahren mit B = LU! LUφ LUφ + Aφ = b LUφ k+1 LUφ k = b Aφ k LU φ k = r k mit φ k = φ k+1 φ k und r k = b Aφ k TU Darmstadt FNB 22.01.2009 18/31
Aufg. 3 - LU Approximation l 11 P l 12 S lp 12 ls 13 lp 13 lw 21 lp 21 lw 22 ls 22 lp 22 lw 23 ls 23 lp 23 A L U = 1 u 11 1 u 12 cp 11 cn 11 cse 11 ce 11 cs 12 cp 12 cn 12 cse 12 ce 12 cnw 13 c13 S cp 13 cn 13 cse 13 ce 13 cw 21 c21 NW c21 S cp 21 cn 21 cse 21 cw 22 c22 NW c22 S cp 22 cn 22 cw 23 c23 NW N ue 11 N ue 12 c23 S cp 23 1 ue 13 1 un 21 1 un 22 1 = C A = TU Darmstadt FNB 22.01.2009 19/31
Aufg. 3 - LU Approximation Berechnung der Werte in Matrix C aus LU c ij W = lij W c ij NW = lij W ui 1,j N c ij S = l ij S c ij P = l ij P + lij W ui 1,j E + l ij S ui,j 1 N c ij N = u ij N lij P c ij SE = l ij S ui,j 1 E c ij E = u ij E lij P Wir wissen C = A + N, es muß Nφ 0 gelten, damit LUφ Aφ. TU Darmstadt FNB 22.01.2009 20/31
Aufg. 3 - Ansatz von Stone Ausdrücken der Nachbarn SE und NW NW N φ SE = αφ E + φ S φ P W P E φ NW = αφ N + φ W φ P Verteilung der Anteile der zusätzlichen S SE Diagonalen auf die anderen! c W φ W + c NW α φ N + φ W φ P + c S φ S + c P φ P + c N φ N + c SE α φ E + φ S φ P + c E φ E = φ W c W + αc NW +φ }{{} S c S + αc SE +φ N c N + αc NW }{{}}{{} =a W =a S =a N + φ E c E + αc SE +φ P c P + α c NW + c SE A }{{}}{{} =a E =a P TU Darmstadt FNB 22.01.2009 21/31
Aufg. 3 - ILU Koeffizientenvergleich l ij S = a ij W = cij W + αcij NW = lij W + αlij W ui 1,j N a ij S 1 + αu i,j 1 E l ij P = a ij P + α l ij W = l ij W ui 1,j N u ij N = aij N + αlij S ui,j 1 E l ij P u ij E = aij E + αlij S ui,j 1 E l ij P a ij W 1 + αu i 1,j N +l ij S ui,j 1 E l ij W ui 1,j E l ij S ui,j 1 N TU Darmstadt FNB 22.01.2009 22/31
Aufg. 3 - LU Zerlegung mit α = 0.92 L = U = 4 1.299 9.974 0 1.43 4.07 1.299 0 0 3.974 0 1.301 0 1 3.549 0 0 1 0 1 3.282 1 0.25 0 0.25 0 0 1 0.252 0 0.327 0 1 0 0 0.351 1 0.327 0 1 0.367 1 TU Darmstadt FNB 22.01.2009 23/31
Aufg. 3 - ILU 1. Iteration k = 0 : φ k = 0 aus Startlösung 2 LU Φ 0 = b AΦ 0 = b = 6 4 12 7 3 2 5 15 3 7 5 Vorwärts einsetzen: Ly 0 = r 0 Rückwärts einsetzen: U Φ 0 = y 0 2 y 0 = 6 4 2 Φ 0 = 6 4 3 2.742 1.7 1.484 2.832 5.951 5.114 5.334 3.791 3.122 5.014 5.951 3 7 5 3 7 5 TU Darmstadt FNB 22.01.2009 24/31
Aufg. 3 - Konjugierte Gradienten Problem: Löse A φ = b Alternative Formulierung: Minima des F φ = 1 Aφ,φ b,φ, φ,ψ Skalarprodukt 2 φ,ψ = ψ,φ, φ 1 + φ 2,ψ = φ 1,ψ + φ 2,ψ αφ,ψ = αφ,ψ, φ,φ > 0 φ 0 Bedingung für Extrema: φ F φ A φ b = 0 TU Darmstadt FNB 22.01.2009 25/31
Aufg. 3 - Konjugierte Gradienten Für symmetrische Aφ, ψ = φ, Aψ und positiv definite Aφ, φ > 0, φ 0 Matrix, sind beide Formulierungen äquivalent! F φ + φ F φ = b, φ b, φ F φ+ 1 Aφ, φ + Aφ, φ + A φ, φ + A φ, φ = 2 }{{} 2Aφ, φ F φ + Aφ b, φ + 1 A φ, φ F φ }{{} 2 =0 F φ + φ F φ = 1 A φ, φ > 0 2 TU Darmstadt FNB 22.01.2009 26/31
Aufg. 3 - CG Iteratives Verfahren φ k+1 = φ k + α φ k φ k - Startlösung ; φ k - Suchrichtung ; α - Schrittlänge Für festes φ k und φ k, wird α berechnet aus α F φ k + α φ k = 0 [ F φ k + Aφ k b, α φ k + 1 Aα φ k, α φ k] = 0 α [ 2 F φ k + α Aφ k b, φ k + 1 α 2 α2 A φ k, φ k] = 0 Aφ k b, φ k + α A φ k, φ k = 0 r k, φ k α = A φ k, φ k mit r k = b Aφ k TU Darmstadt FNB 22.01.2009 27/31
Aufg. 3 - CG Iteratives Verfahren Bestimmung von φ k : mit Rekursionsformel! r φ k+1 = r k+1 k+1, r k+1 + r k φk, r k damit ist sicher gestellt, daß A φ k+1, φ i für alle i = 1,...,k Vektoren φ i, i = 1,...,k + 1 sind konjugiert bezüglich A! TU Darmstadt FNB 22.01.2009 28/31
Aufg. 3 - CG Algorithmus Initialisierung: r 0 = b Aφ k φ 0 = r 0 β 0 = r 0, r 0 Iteration: α k = β k A φ k, φ k φ k+1 = φ k + α k φ k r k+1 = r k α k A φ k β k+1 = r k+1, r k+1 φ k+1 = r k+1 + βk+1 β k φ k TU Darmstadt FNB 22.01.2009 29/31
Aufg. 3 - CG 1. Iteration TU Darmstadt FNB 22.01.2009 30/31 k = 0 : r 0 = b AΦ 0 = b = 12 7 3 2 5 15 Φ 0 = r 0 β 0 = r 0 r 0 = 456 α 0 = β0 Φ 0 A Φ0 = 456 1212 = 0.376 31 8 mit Φ 0 A Φ 0 = Φ 0 10 9 = 1212 4 52
Aufg. 3 - CG 1. Iteration Φ 1 = Φ 0 + α 0 Φ 0 = β 1 = r 1 r 1 = 157.4 Φ 1 = r 1 + β1 β 0 Φ0 = 4.51 2.63 1.13 0.75 1.88 5.64 2.22 6.41 7.80 6.08 8.23 0.62 r 1 = r 0 α 0 A Φ 0 = 1.92 3.99 6.76 5.39 6.50 4.56 TU Darmstadt FNB 22.01.2009 31/31