Iterativa metoder för linjära ekvationssystem Bra för glesa ekvationssystem Finita differensmetoder och FEM ger glesa matriser. Antal nollskilda element är Ç(Æ) om är Æ Æ. I implicita metoder och för tidsoberoende PDEer måste vi lösa Ü =. Gles lagring (sparse i MATLAB) µ mycket stora ekvationssystem kan hanteras. Problem: LU-faktorisering ger fill-in, antalet nollskilda element ökar drastiskt. Inte längre glest. Lösning: Iterativa metoder där lösningen huvudsakligen beräknas genom matrisvektor-multiplikationer. Gles lagring. I riktiga tillämpningar kan Æ vara Ç(10 6 10 9 ). De allra enklaste iterativa metoderna Fixpunktsiteration: Hitta formel Ü = Å Ü + som uppfylls av lösningen och låt Låt = 1 + 2 Ü (0) = startgissning Ü (+1) = Å Ü () + = 0 1 Ü = ( 1 + 2 )Ü = 1 Ü = 2 Ü + Om 1 icke-singulär så gäller dvs Å = 1 1 2 och = 1 1. Ü = 1 1 2Ü + 1 1 1
Praktisk implementation (undvik fill-in) Beräkna genom att lösa 1 =. Beräkna inte Å utom i vissa enkla fall. Beräkna Ü (+1) i tre steg 1. Ý = 2 Ü (), 2. Lös 1 Þ = Ý (µ Þ = Å Ü () ), 3. Ü (+1) = Þ +. 1 och 2 0 ger snabb konvergens, men motsvarar direkt lösning. Hitta rätt balans. Låt = + Ä + Í där = diag() Ä är den undertriangulära delen och Í är den övertriangulära delen. Jacobis metod (Carl Jacobi 1804-1851) Här är 1 =, 2 = Ä + Í. 1 = icke-singulär = 0 Rita bild Försök att rita hur man löser ut x själv ur ekvationen och sedan använder gamla värden. ( + Ä+Í)Ü = Ü = (Ä+Í)Ü+ Ü = 1 (Ä+Í)Ü+ 1 Iterationer: Ü (+1) = 1 (Ä + Í)Ü () + 1, Å = 1 (Ä + Í), = 1. Ekvationsform: Ü (+1) = 1 Nya värden med hjälp av gamla. Ò =1 = Ü () Gauss-Seidels metod (Carl Friedrich Gauss 1777-1855, Philipp Ludwig von Seidel 1821-1896) Här är 1 = + Ä, 2 = Í. (+Ä+Í)Ü = (+Ä)Ü = Í Ü+ Ü = (+Ä) 1 Í Ü+(+Ä) 1 2
Iterationer: Ü (+1) = ( + Ä) 1 Í Ü () + ( + Ä) 1, Å = ( + Ä) 1 Í, = ( + Ä) 1. Ekvationsform: Ü (+1) = 1 1 =1 Ü (+1) Ò =+1 Uppdaterade värden används så snart de är tillgängliga. Ü () Succesiv över-relaxation (SOR) (David M. Young, H. Frankel 1950) Skalad uppdelning. kan ges större eller mindre vikt. = ( + Ä + Í) + = ( + Ä) + (( 1) + Í) Ü = ( + Ä)Ü = (( 1) + Í)Ü + Iterationer: Ü (+1) = ( + Ä) 1 (( 1) + Í)Ü () + ( + Ä) 1, Å = ( + Ä) 1 (( 1) + Í), = ( + Ä) 1. Ekvationsform: Ü (+1) = (1 )Ü () + 1 =1 Ü (+1) Viktning med 1 gamla värdet och nya Gauss-Seidel-värdet. ¾ (0 2) kallas relaxationsparameter. = 1 Gauss-Seidel. Ò =+1 Ü () ¾ (0 1) under-relaxation. Typiskt för att få konvergens istället för divergens. ¾ (1 2) över-relaxation. Typiskt för att snabba upp konvergensen. Inte lätt att hitta optimala. Konvergens Ta en godtycklig fixpunktsiteration Ü (+1) Ü = Å Ü () + = Å Ü + µ Ü (+1) Ü = Å(Ü () Ü ) dvs för felet i iteration = Ü () Ü gäller = Å 1 = Å 2 2 = = Å 0 3
Vi kan göra uppskattningen Å 0 Å 0 som visar att vi säkert får konvergens om Å 1. Sats: Iterationen Ü (+1) = Å Ü () + konvergerar för alla Ü (0) (Å) 1. För spektralradien gäller (Å) Å för alla normer. lättare att kolla. Om Å är diagonaliserbar, Å = Î ΛÎ 1, där Λ = diag( 1 Ò ) blir Å = (Î ΛÎ 1 )(Î ΛÎ 1 ) (Î ΛÎ 1 ) = Î Λ Î 1 = Î Normerna kan vara Ò 1... Î 1 1 konvergens 1 divergens Konvergensuppskattning: Å 0 Î Î 1 (Å) 0 = cond(î ) (Å) 0 Andra konvergenskriterier Jacobi och Gauss-Seidel konvergerar om är strikt eller irreducibelt diagonaldominant. Gauss-Seidel och SOR konvergerar om är symmetrisk och positivt definit. Ò Ò Definiera spektralradien Här kan programmet med spektralradier vara bra. specrad(50,50) 099 100 Def: är strikt diagonaldominant om Ò =1 = Def: är irreducibelt diagonaldominant om Ò =1 = = 1 Ò = 1 Ò med strikt olikhet för minst ett och det inte finns någon permutationsmatris È sådan att È È Ì = 11 12 0 22 där är kvadratiska matriser. 4 Matris med -3 och 1 Vanlig -2 1 matris. [A,b]=soapfilm(50,50) ind=1:2500; ind(1:2)=[2 1] A=A(ind,:); b=b(ind); u=jacobi pr(a,b,nit);
Moderna iterativa metoder Konjugerade gradientmetoden (CG) Magnus Hestenes och Eduard Stiefel 1952. GMRES Yousef Saad och Martin Schultz 1986. QMR Roland Freund och Noël Nachtigal 1991. BiCGstab Henk van der Vorst 1992. «Å Förklara exemplet 5