Iterative methoden voor lineaire vergelijkingen. Scientific Computing. sleij101/ Program

Vergelijkbare documenten
Beeldverwerking. Scientific Computing. sleij101/ Program. WISB356, Utrecht, najaar WISB356, Utrecht, najaar 2010

Scientific Computing

Scientific Computing

Utrecht, 25 november Numerieke Wiskunde. Gerard Sleijpen Department of Mathematics.

1 Stelsels lineaire vergelijkingen

Tentamen Numerieke Wiskunde (WISB251)

Modellen en Simulatie Lesliematrices Markovketens

Convexe functies op R (niet in het boek)

Lineaire vergelijkingen II: Pivotering

Differentiequotiënten en Getallenrijen

Tentamen lineaire algebra voor BWI maandag 15 december 2008, uur.

Blokmatrices. , I 21 = ( 0 0 ) en I 22 = 1.

Bekijk nog een keer het stelsel van twee vergelijkingen met twee onbekenden x en y: { De tweede vergelijking van de eerste aftrekken geeft:

EXAMEN LINEAIRE ALGEBRA EN MEETKUNDE I

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Tentamen Lineaire Algebra voor ST (2DS06) op , uur.

Modellen en Simulatie Differentiaalvergelijkingen. Modellen en Simulatie. sleij101/ Program.

Improving parallelism for the. NEMO ocean model. Hind Shouli. NEMO ocean model

4.1 Rijen. Inhoud. Convergentie van een reeks. Reeksen. a k. a k = lim. a k = s. s n = a 1 + a a n = k=1

Basiskennis lineaire algebra

Snel oplossen is een experiment waard

Lineaire Algebra voor ST

1 Eigenwaarden en eigenvectoren

FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie

UITWERKINGEN 1 2 C : 2 =

Modellen en Simulatie Speltheorie

Lineaire Algebra (2DD12) Laatste nieuws in 2012

Lineaire Algebra voor ST

Oefenopgaven wi3097: Numerieke methoden voor differentiaalvergelijkingen

Praktische Numerieke Wiskunde

Tentamen Lineaire Algebra

Uitwerking 1 Uitwerkingen eerste deeltentamen Lineaire Algebra (WISB121) 3 november 2009

4 Positieve en niet-negatieve lineaire algebra

NATUURLIJKE, GEHELE EN RATIONALE GETALLEN

-- III De variatiemethode berust voor de grondtoestand op het volgende theorema:

Definities, stellingen en methoden uit David Poole s Linear Algebra A Modern Introduction - Second Edtion benodigd voor het tentamen Matrix Algebra 2

Stelsels Vergelijkingen

Kies voor i een willekeurige index tussen 1 en r. Neem het inproduct van v i met de relatie. We krijgen

Examen G0U13 - Bewijzen en Redeneren,

102 < 11. Je kunt ook snel na 102 < 10, 5 ( = 110, 25).

WI1808TH1/CiTG - Lineaire algebra deel 1

Matrices en Stelsel Lineaire Vergelijkingen

Geef niet alleen antwoorden, maar bewijs al je beweringen.

Ter Leering ende Vermaeck

Lineaire Algebra voor ST

IV Eigenvectoren en Eigenwaarden bij Lineaire

Lineaire programmering

PROEFEXAMEN LINEAIRE ALGEBRA donderdag 17 november 2011

3.2 Vectoren and matrices

Optimalisatie in meerdere veranderlijken

Tentamen Lineaire Algebra B

Introductie Coach-modelleren

Geef niet alleen antwoorden, maar bewijs al je beweringen.

3 Wat is een stelsel lineaire vergelijkingen?

OEFENOPGAVEN OVER REEKSEN

Modellen en Simulatie Populatiegroei

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

Lineaire Algebra (2DD12)

Lineaire Algebra C 2WF09

Lineaire Algebra Een Samenvatting

Samenvatting Lineaire Algebra, periode 4

34 HOOFDSTUK 1. EERSTE ORDE DIFFERENTIAALVERGELIJKINGEN

Lineaire Algebra voor ST

Frobenius lage rang benaderingen

1 Stelsels lineaire vergelijkingen.

WISB134 Modellen & Simulatie. Lecture 11 - Dynamica van lineaire differentiaalvergelijkingen in twee dimensies

TW2040: Complexe Functietheorie

Modellen en Simulatie Stelsels Dvg

Meetkundige berekeningen

Modellen en Simulatie Stelsels Dvg

Stelsels differentiaalvergelijkingen

Universiteit Leiden, 2015 Wiskundewedstrijdtraining, week 14

Verwachtingswaarde en spreiding

Lineaire Algebra voor ST

Tentamen Modellen en Simulatie (WISB134)

Eindtermen Lineaire Algebra voor E vor VKO (2DE01)

Transcriptie:

WISB356, Utrecht, 2 otober 2012 Scientific Computing WISB356, Utrecht, 2 otober 2012 Iterative methoden voor lineaire vergelijingen Gerard Sleijpen Rob Bisseling Alessandro Sbrizzi Department of Mathematics Gerard Sleijpen Department of Mathematics http://www.staff.science.uu.nl/ sleij101/ http://www.staff.science.uu.nl/ sleij101/ Program Basale Lineaire Algebra operaties Basale Lineaire Algebra Operaties LU-decompositie Blas versus LU Iteratieve oplosmethoden Local Minimal Residuals Generalized Conjugate Residuals Convergentie Krylov ruimte methoden Basale Lineaire Algebra operaties: MV: c = Au AXPY of vector update: z = αx + y DOT of inproduct: (y,z) = z y = z y BLAS operaties unnen snel uitgevoerd worden. Computerfabrianten zorgen ervoor dat BLAS software voor hun machine beschibaar met een efficiëntie die voor hun machine geoptimaliseerd is. Opmering. De optimale MV is oo afhanelij van de structuur van de matrix.

Basale Lineaire Algebra operaties BLAS operaties unnen snel uitgevoerd worden. We meten de osten voor een operatie in floating point operaties. Floating point. 7.9487e 4 = 794.87e 2 Een flop is een scalaire operatie, vermenigvuldiging, deling /, optelling +, of aftreing. In de numeriee lineaire algebra wordt vrijwel altijd n + (of ) gecombineerd met n. LU-decompositie A = LU, waarbij L beneden driehoe met diag(l) = I en U bovendriehoe. De collectie (i, j) met A i,j = 0, en L i,j 0 (als i < j) of U i,j 0 (als i j) heet fill. Gauss eliminatie (of LU-decompositie) is inefficiënt als A ijl is (d.w.z., per rij maar een paar A i,j 0) en er veel fill optreedt. Voorbeelden. 1 AXPY:, 1 DOT: 1 MV voor onze matrix op een 2-d gebied: 9n flop 3-d gebied: 13n flop Voor Grondwaterstroming/verspreiding van gif Methode Geheugen (in 8 bytes) Wer (in flop) MV 2d 5(n x n y ) 9(n x n y ) Gauss 2d 2n x (n x n y ) 2n 2 x (n xn y ) MV 3d 7(n x n y n z ) 13(n x n y n z ) Gauss 3d 2(n x n y )(n x n y n z ) 2(n x n y ) 2 (n x n y n z ) Voor Grondwaterstroming/verspreiding van gif Methode Geheugen (in 8 bytes) Wer (in flop) MV 2d 5(n x n y ) 9(n x n y ) Gauss 2d 2n x (n x n y ) 2n 2 x (n xn y ) MV 3d 7(n x n y n z ) 13(n x n y n z ) Gauss 3d 2(n x n y )(n x n y n z ) 2(n x n y ) 2 (n x n y n z ) Gauss. + Maar één methode + Geeft exact antwoord fill: (duur mbt geheugen, reenosten). Methode per probleemtype te iezen Benaderend antwoord + alleen MV s, axpy s, dot s Gauss. + Maar één methode (andere nummering als n y < n x?) + Geeft exact antwoord (je maat oo afrondfouten!) fill: (duur mbt geheugen, reenosten). Methode per probleemtype te iezen Benaderend antwoord (Kan heel nauweurig!) + alleen MV s, axpy s, dot s

Voor Grondwaterstroming/verspreiding van gif Methode Geheugen (in 8 bytes) Wer (in flop) MV 2d 5(n x n y ) 9(n x n y ) Gauss 2d 2n x (n x n y ) 2n 2 x(n x n y ) MV 3d 7(n x n y n z ) 13(n x n y n z ) Gauss 3d 2(n x n y )(n x n y n z ) 2(n x n y ) 2 (n x n y n z ) A is n n. Vuistregel: (beste) Gauss is sneller dan (beste) iteratief in 2 d als n < 60000 n x = n y = 240 in 3 d als n < 40000 n x = n y = 65, n z = 10 Vuistregel geldt voor algemene pratische problemen Observatie. We zijn niet echt geïnteresseerd in de exacte oplossing x. We zijn al tevreden als de bereende oplossing goed is in paweg 5 decimalen. Idee. Als we een benaderende oplossing x hebben, construeer dan een beter benaderende oplossing uit x (en eventueel uit x 1,x 2,... of andere vectoren die we al bereend hebben). Herhaal dit proces tot dat de fout e x x lein genoeg is. Terminologie. Residu: r A(x x ) = b Ax. Meet de fout of residu in de (geschaalde) 2-norm: r 2 (r,r) met (y,z) = n 1 j=1 n z j y j = n 1 z y. Kies α x opl = x opl + α(b Ax opl ) Richardson iteration Probleem van de vorm x = φ(x). Probeer op te lossen met successieve substitutie: x +1 = φ(x ) = x + αr e +1 = e αr = (I αa)e. Voorbeeld. n = 1, A = [λ]. Dan e +1 = (1 α λ)e = (1 α λ) +1 e 0 0 Choose tol > 0, x 0, max, α Compute r 0 = b Ax 0 Stop if r 2 tol b 2 u = r c = Au Determine α x +1 = x + αu r +1 = r αc 1 α λ < 1.

Stelling. Richardson convergeert als α λ {ζ C 1 ζ < 1} voor alle eigenwaarden λ van A ( ) Stelling α = argmin α r αc 2 r αc c c r αc c = 0 c r αc c = 0 α = c r c c Stelling. Als Re(λ) > 0 voor alle eigenwaarden van A, dan is er een α > 0 zodat ( ) [Bewijs: zie animatie] [zie oo plaatjes] Voorbeeld. Re(λ) > 0 voor alle eigw. van A: 1) Grondwaterstroming (geschite discretisatie) 2) Verspreiding gif, c > 0, en h x, h y voldoende lein Idee. Kies α zo dat r αc 2 minimaal. Local Minimal Residuals LMR (geheugen vriendelij) Choose tol > 0, x 0, max, Compute r 0 = b Ax 0 Stop if r 2 tol b 2 u = r c = Au σ = c c, α = c r /σ x +1 = x + α u r +1 = r α c Choose tol > 0, x, max, Compute r = b Ax Stop if r 2 tol b 2 u r c Au σ c c, α c r/σ x x + αu r r αc

LMR heeft de ingrediënten die typisch zijn voor iteratieve methodes: Loop (iteratie stap). Paar BLAS operaties (MV, AXPYs, DOTs) per stap. Stopcriterium: stop als residu voldoende lein is (success) of als het aantal stappen te groot wordt (fail). Geheugen vriendelij. Belangrije vragen (voor iedere iteratieve methode): Hoe snel convergeert het proces (d.w.z., wat is de leinste waarvoor r 2 tol b 2 )? Wat zijn de osten per stap? (de totale osten volgen dan) Idee. Generalized Conjugate Residuals In LMR is r alleen geminimaliseerd in de richting c. Echter de vectoren c 1,c 2,... zijn oo bereend. Levert minimaliseren in al deze richtingen een leiner residu? Stelling. (α j ) zo dat r j=0 α j c j 2 minimaal r +1 r j=0 α j c j c i alle i = 0,...,. Stelling. (α j ) zo dat r j=0 α j c j 2 minimaal. r,c Span(c 0,c 1,...,c 1 ) r +1 r α c c Dus α 0 =... = α 1 = 0 en α = c r c c r,c Span(c 0,c 1,...,c 1 ) Gebrui Gram-Schmidt om, voor iedere = 1,2,..., de vector c loodrecht Span(c 0,c 1,...,c 1 ) te rijgen Stelling [Modified Gram-Schmidt]. Gegeven vectoren c 0, c 1,.... Voor = 1,2,..., bereen Dan c = c For j = 0,1,..., 1 β j = c j c /σ j c c β j c j σ = c c (negeer lege loops) Span(c 0,c 1,...,c ) = Span( c 0, c 1,..., c ) alle en c i c j alle i, j, i j. GCR (geheugen vriendelij) Choose tol > 0, x, max, Compute r = b Ax Stop if r 2 tol b 2 u = r c = Au For j = 0,1,2,..., 1 β c j c /σ j u u βu j c c βc j σ = c c, α c r/σ x x + αu r r αc 13n flop (3d) 4n flop totaal 3-d: 23n + 6n flop totaal 2-d: 19n + 6n flop

Stelling. Met dezelfde x 0 : r GCR Convergentie 2 r LMR 2 r Richardson 2 Grondwatervergl., met, voor Richardson, α = α opt ρ LMR ρ Richardson ρ GCR rrichardson 2 r exp ( 2 λ ) 1 0 2 λ n ( ) λ exp 2 1 λ n Grondwatervergl. Bij λ 1 /λ n moet je denen aan h 2 x + h2 y. Opdracht. Probeer deze theoretische resultaten terug te zien in de pratij. Plot in je experimenten de residu reductie of convergentie historie, d.w.z., de grafie van ρ (op log 10 schaal) Krylov ruimtes De Krylov ruimte K (A,r 0 ) van orde voorgebracht door A en r 0 is K (A,r 0 ) = Span(r 0,Ar 0,...,A 1 r 0 ) Stelling. Richardson, LMR en GCR vinden hun benadering x in x 0 + K (A,r 0 ). GCR vindt de benadering met leinste residu: r GCR 2 b Ay 2 voor alle y x 0 + K (A,r 0 ). GCR is een minimale residu methode. Stagnatie en afbreen Als in GCR c r, dan stagneert de methode, d.w.z., r +1 = r (waarom?) dan is c +1 (na orth.) = 0 (waarom?) en breet de methode af, d.w.z., er wordt gedeeld door 0 (nl., door σ +1 = 0). Stelling. Als Re(λ) > 0 voor alle eigenwaarden λ van A, dan stagneert GCR niet. Conclusies Richardson, LMR, GCR zijn Krylov ruimten methoden (iteratief, alleen MVs, AXPYs & DOTs). GCR is, wat betreft het aantal MVs, in zeere zin optimaal Rich.: + Geen DOTs, een paar AXPYs per MV Langzame convergentie (in termen van MVs) Geschite α van te voren zelf bepalen (an divergeren bij vereerde α) LMR: + Een paar AXPYs en DOTs/MV + Bepaalt automatisch geschite α s Langzame convergentie (in termen van MVs) GCR: # AXPYs en DOTs/MV evenredig met + Snelste convergentie (in termen van MVs)