7 Mehrgitterverfahren. Themen: Newton-Verfahren Nichtlineare CG-Verfahren Nichtlineare Mehrgitterverfahren

7 Mehrgitterverfahren Themen: ◮ Newton-Verfahren ◮ Nichtlineare CG-Verfahren ◮ Nichtlineare Mehrgitterverfahren 7.7 Beispiele nichtlinearer e...
3 downloads 1 Views 815KB Size
7 Mehrgitterverfahren

Themen: ◮

Newton-Verfahren



Nichtlineare CG-Verfahren



Nichtlineare Mehrgitterverfahren

7.7

Beispiele nichtlinearer elliptischer Differentialgleichungen

Nichtlineare elliptische Differentialgleichungen gewinnen durch schnellere Rechner und bessere Diskretisierungsmethoden zunehmend an Bedeutung.

7.7

Beispiele nichtlinearer elliptischer Differentialgleichungen

Nichtlineare elliptische Differentialgleichungen gewinnen durch schnellere Rechner und bessere Diskretisierungsmethoden zunehmend an Bedeutung. Die bisher als Beispiele angegebenen klassischen Differentialgleichungen erweisen sich bei näherer Betrachtung allesamt als nichtlinear.

Wärmeleitungsgleichung

In der Wärmeleitungsgleichung −div (aDu) = f hängt die Temperaturleitfähigkeit a von der Wärmeleitfähigkeit, der Dichte und der spezifischen Wärme ab.

Wärmeleitungsgleichung

In der Wärmeleitungsgleichung −div (aDu) = f hängt die Temperaturleitfähigkeit a von der Wärmeleitfähigkeit, der Dichte und der spezifischen Wärme ab. Auch wenn man die letzten beiden als konstant ansehen kann, hängt die Wärmeleitfähigkeit von der Temperatur ab. Damit ist −div (a(u)Du) = f mit einer Funktion a(u), die experimentell bestimmt wird, ein genaueres Modell für die Wärmeleitung in einem Körper.

Diffusionsgleichungen

u = (u 1 , . . . , u N ) = Stoffkonzentrationen in einem flüssigen Medium.

Diffusionsgleichungen

u = (u 1 , . . . , u N ) = Stoffkonzentrationen in einem flüssigen Medium. −di ∆u i = Fi (u), i = 1, . . . N

Diffusionsgleichungen

u = (u 1 , . . . , u N ) = Stoffkonzentrationen in einem flüssigen Medium. −di ∆u i = Fi (u), i = 1, . . . N mit di > 0 = Diffusionskoeffizient des Stoffs i, f (u) = Interaktion zwischen den Konzentrationen.

Quasilineare Gleichung zweiter Ordnung in Divergenzform

Die bisher betrachteten Gleichungen besaßen nur Nichtlinearitäten in u und werden als semilinear bezeichnet.

Quasilineare Gleichung zweiter Ordnung in Divergenzform

Die bisher betrachteten Gleichungen besaßen nur Nichtlinearitäten in u und werden als semilinear bezeichnet. Die allgemeine quasilineare Gleichung zweiter Ordnung in Divergenzform ist −

d X i=1

Di Fi (x, u, Du) = F0 (x, u, Du).

Quasilineare Gleichung zweiter Ordnung in Divergenzform

Die bisher betrachteten Gleichungen besaßen nur Nichtlinearitäten in u und werden als semilinear bezeichnet. Die allgemeine quasilineare Gleichung zweiter Ordnung in Divergenzform ist −

d X

Di Fi (x, u, Du) = F0 (x, u, Du).

i=1

Der Name Divergenzform bezieht sich darauf, dass man sie in der Form −div F = F0 schreiben kann mit F = (F1 , . . . , Fd ).

Quasilineare Gleichung zweiter Ordnung in Divergenzform



d X

Di Fi (x, u, Du) = F0 (x, u, Du),

i=1

Man beachte, dass das Di sich auf alle Variablen erstreckt, in denen das xi vorkommt, −

d X i=1

Di Fi =

d ³ X i=1

Fi,xi + Fi,u Di u +

d X j=1

´ Fi,pj Dij2 u ,

wobei der besseren Lesbarkeit halber Fi (x, u, p) geschrieben wird mit p ∈ d .

R

Quasilineare Gleichung zweiter Ordnung in Divergenzform



d X

Di Fi (x, u, Du) = F0 (x, u, Du),

i=1

Man beachte, dass das Di sich auf alle Variablen erstreckt, in denen das xi vorkommt, −

d X i=1

Di Fi =

d ³ X i=1

Fi,xi + Fi,u Di u +

d X j=1

´ Fi,pj Dij2 u ,

wobei der besseren Lesbarkeit halber Fi (x, u, p) geschrieben wird mit p ∈ d .

R

Fi,xi , Fi,u , Fi,pj sind die partiellen Ableitungen der Fi nach den einzelnen Variablen.

Quasilineare Gleichung zweiter Ordnung in Divergenzform



d X

Di Fi (x, u, Du) = F0 (x, u, Du),

i=1

Man beachte, dass das Di sich auf alle Variablen erstreckt, in denen das xi vorkommt, −

d X i=1

Di Fi =

d ³ X i=1

Fi,xi + Fi,u Di u +

d X j=1

´ Fi,pj Dij2 u ,

wobei der besseren Lesbarkeit halber Fi (x, u, p) geschrieben wird mit p ∈ d .

R

Fi,xi , Fi,u , Fi,pj sind die partiellen Ableitungen der Fi nach den einzelnen Variablen.

Die Gleichung heißt quasilinear, weil sie noch linear in den zweiten Ableitungen Dij2 u ist.

Elliptizität



d X

Di Fi (x, u, Du) = F0 (x, u, Du),

i=1

Die Gleichung heißt elliptisch in x ∈ Ω, wenn die Koeffizienten vor den zweiten Ableitungen eine reell-positive Matrix bilden, wenn also d X

i,j=1

erfüllt ist.

¡ ¢ Fi,pj x, u(x), Du(x) ηi ηj > 0 ∀η ∈

Rn \ {0},

Elliptizität



d X

Di Fi (x, u, Du) = F0 (x, u, Du),

i=1

Die Gleichung heißt elliptisch in x ∈ Ω, wenn die Koeffizienten vor den zweiten Ableitungen eine reell-positive Matrix bilden, wenn also d X

i,j=1

¡ ¢ Fi,pj x, u(x), Du(x) ηi ηj > 0 ∀η ∈

Rn \ {0},

erfüllt ist. Die Bedingung der Elliptizität hängt hier von der Lösung selber ab und sie braucht nicht in allen Punkten von Ω erfüllt zu sein.

7.8

Das Newton-Verfahren

R

R

Sei f : n → n . Zur Lösung von f (x) = 0 wählt man einen Startvektor x 0 ∈ n und bestimmt, sofern möglich, die Iterierten des Newton-Verfahrens

R

x k+1 = x k − Df (x k )−1 f (x k ),

k = 0, 1, . . . .

Das Newton-Verfahren

Ist f ∈ C 2 und ist Df in der Nullstelle x regulär, so gilt lokal die Fehlerabschätzung |x k+1 − x| ≤ c|x k − x|2 .

Das Newton-Verfahren

Ist f ∈ C 2 und ist Df in der Nullstelle x regulär, so gilt lokal die Fehlerabschätzung |x k+1 − x| ≤ c|x k − x|2 . Das Newton-Verfahren ist also quadratisch konvergent: Liegt x k nahe bei x, so verdoppelt sich in jedem Newtonschritt die Anzahl der gültigen Stellen.

Das Newton-Verfahren

Ist f ∈ C 2 und ist Df in der Nullstelle x regulär, so gilt lokal die Fehlerabschätzung |x k+1 − x| ≤ c|x k − x|2 . Das Newton-Verfahren ist also quadratisch konvergent: Liegt x k nahe bei x, so verdoppelt sich in jedem Newtonschritt die Anzahl der gültigen Stellen. Für x 0 in einer möglicherweise sehr kleinen Umgebung U(x) konvergieren die Iterierten des Newton-Verfahren gegen x.

Gedämpftes Newton-Verfahren

Man kann durch eine Dämpfung des Newton-Verfahrens die Konvergenzumgebung U(x) erheblich vergrößern.

Gedämpftes Newton-Verfahren

Man kann durch eine Dämpfung des Newton-Verfahrens die Konvergenzumgebung U(x) erheblich vergrößern. Dazu überlegen wir uns als erstes, dass die Newton-Richtung d k = −Df (x k )−1 f (x k ) eine Abstiegsrichtung für das Funktional h(x) = |f (x)|2 ist.

Gedämpftes Newton-Verfahren

Man kann durch eine Dämpfung des Newton-Verfahrens die Konvergenzumgebung U(x) erheblich vergrößern. Dazu überlegen wir uns als erstes, dass die Newton-Richtung d k = −Df (x k )−1 f (x k ) eine Abstiegsrichtung für das Funktional h(x) = |f (x)|2 ist. Es gilt nämlich

¡ ¢ d h(x k + td k )|t=0 = 2 f (x), Df (x k )d dt

Gedämpftes Newton-Verfahren

Man kann durch eine Dämpfung des Newton-Verfahrens die Konvergenzumgebung U(x) erheblich vergrößern. Dazu überlegen wir uns als erstes, dass die Newton-Richtung d k = −Df (x k )−1 f (x k ) eine Abstiegsrichtung für das Funktional h(x) = |f (x)|2 ist. Es gilt nämlich

¡ ¢ d h(x k + td k )|t=0 = 2 f (x), Df (x k )d dt ¡ ¢ = 2 f (x k ), −Df (x k )Df (x k )−1 f (x k ) = −2|f (x k )|2 .

Gedämpftes Newton-Verfahren

Man kann durch eine Dämpfung des Newton-Verfahrens die Konvergenzumgebung U(x) erheblich vergrößern. Dazu überlegen wir uns als erstes, dass die Newton-Richtung d k = −Df (x k )−1 f (x k ) eine Abstiegsrichtung für das Funktional h(x) = |f (x)|2 ist. Es gilt nämlich

¡ ¢ d h(x k + td k )|t=0 = 2 f (x), Df (x k )d dt ¡ ¢ = 2 f (x k ), −Df (x k )Df (x k )−1 f (x k ) = −2|f (x k )|2 . Ist also f (x k ) 6= 0 und Df (x k ) regulär, so steigen wir in x k + td k für genügend kleines t ab.

Gedämpftes Newton-Verfahren

Besser wäre daher der Algorithmus t0 = argmin t∈(0,1] |f (x k + td k )|, x k+1 = x k + t0 d k .

d = −Df (x k )−1 f (x k ),

Gedämpftes Newton-Verfahren

Besser wäre daher der Algorithmus t0 = argmin t∈(0,1] |f (x k + td k )|,

d = −Df (x k )−1 f (x k ),

x k+1 = x k + t0 d k . Natürlich sehr aufwändig! Im gedämpften Newton-Verfahren verwendet man im einfachsten Fall ein Bisektionsverfahren:

Gedämpftes Newton-Verfahren

t=1. i=0 1 if(i==imax) stop if(|f(x+td)| 1, so ∆tk+1 = 1 − tk . Setze k = k + 1 und gehe nach 2).

Homotopie-Verfahren

g (x, tk + ∆tk ) = 0 2. Fall: Das Problem ist mit dem Newton-Verfahren nicht lösbar. Setze ∆tk = ∆tk /2.

Homotopie-Verfahren

g (x, tk + ∆tk ) = 0 2. Fall: Das Problem ist mit dem Newton-Verfahren nicht lösbar. Setze ∆tk = ∆tk /2. Ist ∆tk < ∆tmin , so STOP. Andernfalls gehe nach 2).

Homotopie-Verfahren

Man nennt x = xk. den Prädiktor und g (x, tk + ∆tk ) = 0 den Korrektor.

Homotopie-Verfahren

Man nennt x = xk. den Prädiktor und g (x, tk + ∆tk ) = 0 den Korrektor. Bessere Prädiktoren sind möglicherweise Sekanten-Prädiktor: x k +

∆tk (x k − x k−1 ) ∆tk−1

Homotopie-Verfahren

Man nennt x = xk. den Prädiktor und g (x, tk + ∆tk ) = 0 den Korrektor. Bessere Prädiktoren sind möglicherweise Sekanten-Prädiktor: x k +

∆tk (x k − x k−1 ) ∆tk−1

Tangenten-Prädiktor: x k − ∆tk Dx g (x k , tk )−1 gt (x k , tk )

Homotopie-Verfahren

Tangenten-Prädiktor: x k − ∆tk Dx g (x k , tk )−1 gt (x k , tk ) Der Tangenten-Prädiktor beruht auf dem Satz über implizite Funktionen: Ist Dx g (x, t) regulär und Dt g (x, t) 6= 0, so ist ein Tangentenvektor durch x ′ (t) = −Dx g (x, t)−1 Dt g (x, t) gegeben.

Homotopie-Verfahren

Tangenten-Prädiktor: x k − ∆tk Dx g (x k , tk )−1 gt (x k , tk ) Der Tangenten-Prädiktor beruht auf dem Satz über implizite Funktionen: Ist Dx g (x, t) regulär und Dt g (x, t) 6= 0, so ist ein Tangentenvektor durch x ′ (t) = −Dx g (x, t)−1 Dt g (x, t) gegeben. Der Tangenten-Prädiktor kommt vor allem bei voll besetzten Systemen in Betracht, weil man die LR-Zerlegung von Dx g (x ′ , tk ) als Näherung von Dx g (x k , tk ) verwenden kann, wobei x ′ die Newton-Iterierte vor x k ist.

7.9

Das SOR-Newton-Verfahren

Zur Lösung des nichtlinearen Systems fi (x) = 0, 1 ≤ i ≤ n, in x ∈ n kann man wie bei den Relaxationsverfahren für lineare Geichungssysteme versuchen, die i-te Gleichung

R

!

fi (. . . , xi , . . .) = 0 durch Änderung von xi zu erfüllen.

7.9

Das SOR-Newton-Verfahren

Zur Lösung des nichtlinearen Systems fi (x) = 0, 1 ≤ i ≤ n, in x ∈ n kann man wie bei den Relaxationsverfahren für lineare Geichungssysteme versuchen, die i-te Gleichung

R

!

fi (. . . , xi , . . .) = 0 durch Änderung von xi zu erfüllen. Da dies der Lösung einer eindimensionalen nichtlinearen Gleichung entspricht, liegt es nahe, die exakte Lösung durch einen Newton-Schritt zu ersetzen xineu = xialt −

fi (x alt ) . Di fi (x alt )

Das SOR-Newton-Verfahren

xineu = xialt −

fi (x alt ) . Di fi (x alt )

Geht man mit dieser Vorschrift durch die Gleichungen und ersetzt die alten Werte sofort durch die neuen, so erhält man das Gauß-Seidel-Newton-Verfahren.

Das SOR-Newton-Verfahren

xineu = xialt −

fi (x alt ) . Di fi (x alt )

Geht man mit dieser Vorschrift durch die Gleichungen und ersetzt die alten Werte sofort durch die neuen, so erhält man das Gauß-Seidel-Newton-Verfahren. Mit einem Relaxationsparameter 0 < ω < 2 bekommen wir das SOR-Newton-Verfahren xineu = xialt − ω

fi (x alt ) . Di fi (x alt )

Das SOR-Newton-Verfahren

xineu = xialt −

fi (x alt ) . Di fi (x alt )

Geht man mit dieser Vorschrift durch die Gleichungen und ersetzt die alten Werte sofort durch die neuen, so erhält man das Gauß-Seidel-Newton-Verfahren. Mit einem Relaxationsparameter 0 < ω < 2 bekommen wir das SOR-Newton-Verfahren xineu = xialt − ω

fi (x alt ) . Di fi (x alt )

Ist f (x) = Ax − b, so ist Di fi (x) = aii und das SOR-Newton-Verfahren stimmt mit dem SOR-Verfahren zur Lösung von Ax = b überein.

Das SOR-Newton-Verfahren

Löst man ein nichtlineares Gleichungssystem mit dem Newton-Verfahren und verwendet für die entstehenden linearen Gleichungssysteme das SOR-Verfahren, so fährt man meist besser, wenn man stattdessen gleich das SOR-Newton-Verfahren nimmt.

Das SOR-Newton-Verfahren

Löst man ein nichtlineares Gleichungssystem mit dem Newton-Verfahren und verwendet für die entstehenden linearen Gleichungssysteme das SOR-Verfahren, so fährt man meist besser, wenn man stattdessen gleich das SOR-Newton-Verfahren nimmt. Allerdings muss man gerade am Anfang, wenn die Iterierten noch nicht so gut sind, mit dem Relaxationsparameter vorsichtig sein.

Das SOR-Newton-Verfahren

Löst man ein nichtlineares Gleichungssystem mit dem Newton-Verfahren und verwendet für die entstehenden linearen Gleichungssysteme das SOR-Verfahren, so fährt man meist besser, wenn man stattdessen gleich das SOR-Newton-Verfahren nimmt. Allerdings muss man gerade am Anfang, wenn die Iterierten noch nicht so gut sind, mit dem Relaxationsparameter vorsichtig sein. Der Vergleich mit dem gedämpften Newton-Verfahren zeigt deutlich, dass Unterrelaxation eine Möglichkeit ist, die Konvergenzeigenschaften des Verfahrens zu verbessern.

7.10

Das nichtlineare CG-Verfahren

Für f :

Rn → R,

f ∈ C 2 konvex,

ist f (x) → Min im zu bestimmen.

Rn

7.10

Das nichtlineare CG-Verfahren

Für f :

Rn → R,

f ∈ C 2 konvex,

ist f (x) → Min im

Rn

zu bestimmen. Die Hesse-Matrix D 2 f ist dann wie immer symmetrisch und wegen der Konvexität von f auch positiv-semidefinit.

Nichtlineares CG-Verfahren

1) Wähle x 0 ∈

Rn und setze d 0 = −Df (x 0).

Nichtlineares CG-Verfahren

1) Wähle x 0 ∈ 2) Sei x k ∈

Rn und setze d 0 = −Df (x 0).

Rn mit Suchrichtung d k bereits bestimmt.

Nichtlineares CG-Verfahren

1) Wähle x 0 ∈ 2) Sei x k ∈

Rn und setze d 0 = −Df (x 0).

Rn mit Suchrichtung d k bereits bestimmt.

Setze

αk = argmin α>0 f (x k + αd k ), x k+1 = x k + αk d k .

Nichtlineares CG-Verfahren

1) Wähle x 0 ∈ 2) Sei x k ∈

Rn und setze d 0 = −Df (x 0).

Rn mit Suchrichtung d k bereits bestimmt.

Setze

αk = argmin α>0 f (x k + αd k ), x k+1 = x k + αk d k . Bestimme ¡ ¢ βk = g Df (x k+1 ), Df (x k ), d k ∈

d k+1 = −Df (xk+1 ) + βk d k . Setze nun k = k + 1 und gehe nach 2).

R,

Nichtlineares CG-Verfahren

Die eindimensionale Funktion zu Anfang von Schritt 2) φ(α) = f (x k + αd k ) ist konvex in α.

Nichtlineares CG-Verfahren

Die eindimensionale Funktion zu Anfang von Schritt 2) φ(α) = f (x k + αd k ) ist konvex in α. Zur Minimierung von φ bestimmt man daher die Nullstelle von φ′ mit dem Newton-Verfahren.

Nichtlineares CG-Verfahren

Die eindimensionale Funktion zu Anfang von Schritt 2) φ(α) = f (x k + αd k ) ist konvex in α. Zur Minimierung von φ bestimmt man daher die Nullstelle von φ′ mit dem Newton-Verfahren. Die dazu benötigten ersten und zweiten Ableitungen von φ berechnet man mit den Differenzenquotienten φ′ (α) =

¢ 1¡ φ(α+h)−φ(α) , h

φ′′ (α) =

¢ 1¡ φ(α+h)−2φ(α)+φ(α−h) . h2

Die Bestimmung über die Kettenregel ist zu aufwendig.

Nichtlineares CG-Verfahren

Auch bei strikt konvexem f muss das Newton-Verfahren gedämpft werden. Als Beispiel kann man wieder Z α arctan ξ d ξ φ(α) = 0

nehmen.

Nichtlineares CG-Verfahren

Auch bei strikt konvexem f muss das Newton-Verfahren gedämpft werden. Als Beispiel kann man wieder Z α arctan ξ d ξ φ(α) = 0

nehmen. Die Nullstellenbestimmung von φ′ gelingt für alle Startwerte nur mit dem gedämpften Newton-Verfahren.

Wahl von g

Die Funktion g in ¡ ¢ βk = g Df (x k+1 ), Df (x k ), d k ∈

d k+1 = −Df (xk+1 ) + βk d k . bildet das Kernstück des Verfahrens.

R,

Wahl von g

Die Funktion g in ¡ ¢ βk = g Df (x k+1 ), Df (x k ), d k ∈

R,

d k+1 = −Df (xk+1 ) + βk d k . bildet das Kernstück des Verfahrens.

Mit ihrer Hilfe soll −Df (x k+1 ) an die alten Suchtichtungen (fast) orthogonalisiert werden.

Wahl von g

Dazu gibt es unterschiedliche Vorschläge Fletcher und Reeves: βk =

|Df (x k+1 )|2 |Df (x k )|2

Wahl von g

Dazu gibt es unterschiedliche Vorschläge |Df (x k+1 )|2 |Df (x k )|2 ¡ ¢ Df (x k+1 ), Df (x k+1 ) − Df (x k ) Polak und Ribière: βk = |Df (x k )|2 ¡ ¢ Df (x k+1 ), Df (x k+1 ) − Df (x k ) ¡ ¢ . Hestenes und Stiefel: βk = d k , Df (x k+1 ) − Df (x k ) Fletcher und Reeves: βk =

Wahl von g

Dazu gibt es unterschiedliche Vorschläge |Df (x k+1 )|2 |Df (x k )|2 ¡ ¢ Df (x k+1 ), Df (x k+1 ) − Df (x k ) Polak und Ribière: βk = |Df (x k )|2 ¡ ¢ Df (x k+1 ), Df (x k+1 ) − Df (x k ) ¡ ¢ . Hestenes und Stiefel: βk = d k , Df (x k+1 ) − Df (x k ) Fletcher und Reeves: βk =

Alle diese Formeln führen zum klassischen CG-Verfahren, wenn wir sie auf quadratische Funktionale der Form 1 f (x) = (Ax, x) − (b, x) 2 anwenden.

Wahl von g

Dazu gibt es unterschiedliche Vorschläge Fletcher und Reeves: βk =

|Df (x k+1 )|2 |Df (x k )|2

Wahl von g

Dazu gibt es unterschiedliche Vorschläge |Df (x k+1 )|2 |Df (x k )|2 ¡ ¢ Df (x k+1 ), Df (x k+1 ) − Df (x k ) Polak und Ribière: βk = |Df (x k )|2 ¡ ¢ Df (x k+1 ), Df (x k+1 ) − Df (x k ) ¡ ¢ . Hestenes und Stiefel: βk = d k , Df (x k+1 ) − Df (x k ) Fletcher und Reeves: βk =

In diesem Fall ist −Df (x k ) = b − Ax k = r k , was die Formel von Fletcher und Reeves beweist.

Wahl von g

¡ ¢ Df (x k+1 ), Df (x k+1 ) − Df (x k ) Polak und Ribière: βk = |Df (x k )|2 ¡ ¢ Df (x k+1 ), Df (x k+1 ) − Df (x k ) ¡ ¢ . Hestenes und Stiefel: βk = d k , Df (x k+1 ) − Df (x k ) −Df (x k ) = b − Ax k = r k .

Wahl von g

¡ ¢ Df (x k+1 ), Df (x k+1 ) − Df (x k ) Polak und Ribière: βk = |Df (x k )|2 ¡ ¢ Df (x k+1 ), Df (x k+1 ) − Df (x k ) ¡ ¢ . Hestenes und Stiefel: βk = d k , Df (x k+1 ) − Df (x k ) −Df (x k ) = b − Ax k = r k . Wie wir bereits besprochen haben, gilt für die Iterierten des CG-Verfahrens (d k , r k+1 ) = (r k , r k+1 ) = 0,

(r k , d k ) = |r k |2 ,

womit auch die Formeln von Polak und Ribière bzw. Hestenes und Stiefel mit dem klassischen CG übereinstimmen.

Vorkonditionierer

Als Vorkonditionierer kommen spd Matrizen Pk in Frage, die die Hesse-Matrix (D 2 f (x k )) approximieren.

Vorkonditionierer

Als Vorkonditionierer kommen spd Matrizen Pk in Frage, die die Hesse-Matrix (D 2 f (x k )) approximieren. Im Anfangsschritt setzt man d 0 = −P0−1 Df (x 0 ).

Vorkonditionierer

Als Vorkonditionierer kommen spd Matrizen Pk in Frage, die die Hesse-Matrix (D 2 f (x k )) approximieren. Im Anfangsschritt setzt man d 0 = −P0−1 Df (x 0 ).

Die Minimierung von φ(α) = f (x k + αd k ) bleibt erhalten. Die neue Suchrichtung wird bestimmt durch −1 s k+1 = −Pk+1 Df (x k+1 )

d

k+1

=s

k+1

+ βk d

k

¡ ¢ Df (x k+1 ), s k+1 − s k . mit z.B. βk = (Df (x k ), s k )

7.11

Das nichtlineare Mehrgitterverfahren

Zur Herleitung des nichtlinearen Mehrgitterverfahrens gehen wir zunächst vom Zweigitterverfahren für die lineare Gleichung Lh uh = fh in Vh aus.

7.11

Das nichtlineare Mehrgitterverfahren

Zur Herleitung des nichtlinearen Mehrgitterverfahrens gehen wir zunächst vom Zweigitterverfahren für die lineare Gleichung Lh uh = fh in Vh aus. VH sei der Grobgitterraum mit Transferoperatoren Ph : VH → Vh und RH : Vh → VH .

7.11

Das nichtlineare Mehrgitterverfahren

Zur Herleitung des nichtlinearen Mehrgitterverfahrens gehen wir zunächst vom Zweigitterverfahren für die lineare Gleichung Lh uh = fh in Vh aus. VH sei der Grobgitterraum mit Transferoperatoren Ph : VH → Vh und RH : Vh → VH .

Der Defekt dh = fh − Lh uhalt wird bestimmt und die exakte Defektkorrektur Lh vh = dh wird durch das Grobgitterproblem LH vH = RH dh ersetzt.

7.11

Das nichtlineare Mehrgitterverfahren

Zur Herleitung des nichtlinearen Mehrgitterverfahrens gehen wir zunächst vom Zweigitterverfahren für die lineare Gleichung Lh uh = fh in Vh aus. VH sei der Grobgitterraum mit Transferoperatoren Ph : VH → Vh und RH : Vh → VH .

Der Defekt dh = fh − Lh uhalt wird bestimmt und die exakte Defektkorrektur Lh vh = dh wird durch das Grobgitterproblem LH vH = RH dh ersetzt. Die Korrektur ist dann

alt uhneu = uhalt + Ph vH ⇒ uh = uhalt + Ph L−1 H RH (fh − Lh uh )

Das Full Approximation Scheme

Im Full Approximation Scheme (FAS) steht auf dem Grobgitter immer eine Näherung der aktuellen Iterierten des Feingitters LH uH = LH (RH uhalt ) + RH dh mit Korrektur (∗)

uhneu = uhalt + Ph (uH − RH uhalt ).

Das Full Approximation Scheme

Im Full Approximation Scheme (FAS) steht auf dem Grobgitter immer eine Näherung der aktuellen Iterierten des Feingitters LH uH = LH (RH uhalt ) + RH dh mit Korrektur uhneu = uhalt + Ph (uH − RH uhalt ).

(∗) Daher

alt alt uhneu = uhalt + Ph (RH uhalt + L−1 H RH (fh − Lh uh ) − RH uh ) alt = uhalt + Ph L−1 H RH (fh − Lh uh )

Obwohl uhalt ∼ Ph RH uhalt ist es ein schwerer Fehler, (*) zu ersetzen durch uhneu = Ph uH .

Der nichtlineare Fall

Man kann das Schema LH uH = LH (RH uhalt ) + RH dh ,

uhneu = uhalt + Ph (uH − RH uhalt ),

für die Lösung nichtlinearer Gleichungen Ah uh = 0 übernehmen.

Der nichtlineare Fall

Man kann das Schema LH uH = LH (RH uhalt ) + RH dh ,

uhneu = uhalt + Ph (uH − RH uhalt ),

für die Lösung nichtlinearer Gleichungen Ah uh = 0 übernehmen. Da auf dem Grobgitter in jedem Fall Gleichungen der Form AH uH = fH zu lösen sind, betrachten wir hier das Zweigitterverfahren zur Lösung von Ah uh = fh .

Der nichtlineare Fall

Man kann das Schema LH uH = LH (RH uhalt ) + RH dh ,

uhneu = uhalt + Ph (uH − RH uhalt ),

für die Lösung nichtlinearer Gleichungen Ah uh = 0 übernehmen. Da auf dem Grobgitter in jedem Fall Gleichungen der Form AH uH = fH zu lösen sind, betrachten wir hier das Zweigitterverfahren zur Lösung von Ah uh = fh . Wir erhalten die nichtlineare Defektgleichung AH uH = AH (RH uhalt ) + RH (fh − Ah uhalt ), die mit Start uH = RH uhalt exakt oder näherungsweise gelöst wird.

Der nichtlineare Fall

Man kann das Schema LH uH = LH (RH uhalt ) + RH dh ,

uhneu = uhalt + Ph (uH − RH uhalt ),

für die Lösung nichtlinearer Gleichungen Ah uh = 0 übernehmen. Da auf dem Grobgitter in jedem Fall Gleichungen der Form AH uH = fH zu lösen sind, betrachten wir hier das Zweigitterverfahren zur Lösung von Ah uh = fh . Wir erhalten die nichtlineare Defektgleichung AH uH = AH (RH uhalt ) + RH (fh − Ah uhalt ), die mit Start uH = RH uhalt exakt oder näherungsweise gelöst wird. Die Korrektur ist dann wieder uhneu = uhalt + Ph (uH − RH uhalt ).

Interpretation

Liegen uH und RH uhalt nahe beieinander, so können wir in erster Näherung mit dem Mittelwertsatz schreiben ¡ ¢ ! AH uH − AH (RH uhalt ) = DH AH (RH uhalt ) uH − RH uhalt .

Interpretation

Liegen uH und RH uhalt nahe beieinander, so können wir in erster Näherung mit dem Mittelwertsatz schreiben

Aus

¡ ¢ ! AH uH − AH (RH uhalt ) = DH AH (RH uhalt ) uH − RH uhalt . AH uH = AH (RH uhalt ) + RH (fh − Ah uhalt ),

folgt daher in erster Näherung !

uH = RH uhalt + DH AH (RH uhalt )−1 RH (fh − Ah uhalt ).

Interpretation

Liegen uH und RH uhalt nahe beieinander, so können wir in erster Näherung mit dem Mittelwertsatz schreiben

Aus

¡ ¢ ! AH uH − AH (RH uhalt ) = DH AH (RH uhalt ) uH − RH uhalt . AH uH = AH (RH uhalt ) + RH (fh − Ah uhalt ),

folgt daher in erster Näherung !

uH = RH uhalt + DH AH (RH uhalt )−1 RH (fh − Ah uhalt ). Bei uH ∼ RH uhalt handelt es sich in der letzten Gleichung demnach um einen näherungsweisen Newton-Schritt auf dem Grobgitter.

Interpretation

Liegen uH und RH uhalt nahe beieinander, so können wir in erster Näherung mit dem Mittelwertsatz schreiben

Aus

¡ ¢ ! AH uH − AH (RH uhalt ) = DH AH (RH uhalt ) uH − RH uhalt . AH uH = AH (RH uhalt ) + RH (fh − Ah uhalt ),

folgt daher in erster Näherung !

uH = RH uhalt + DH AH (RH uhalt )−1 RH (fh − Ah uhalt ). Bei uH ∼ RH uhalt handelt es sich in der letzten Gleichung demnach um einen näherungsweisen Newton-Schritt auf dem Grobgitter. uH und RH uhalt weiter voneinander entfernt, so ähnelt dies mehr der regula falsi.

Gedämpftes Zweigitterverfahren

In der Interpretation !

uH = RH uhalt + DH AH (RH uhalt )−1 RH (fh − Ah uhalt ) ist daher dH = DH AH (RH uhalt )−1 RH (fh − Ah uhalt ) die näherungsweise Suchrichtung des Newton-Verfahrens.

Gedämpftes Zweigitterverfahren

In der Interpretation !

uH = RH uhalt + DH AH (RH uhalt )−1 RH (fh − Ah uhalt ) ist daher dH = DH AH (RH uhalt )−1 RH (fh − Ah uhalt ) die näherungsweise Suchrichtung des Newton-Verfahrens. Das gedämpfte nichtlineare Mehrgitterverfahren ist daher AH uH = AH (RH uhalt ) + tRH (fh − Ah uhalt ) mit einem Parameter 0 < t ≤ 1.

Gedämpftes Zweigitterverfahren

In der Interpretation !

uH = RH uhalt + DH AH (RH uhalt )−1 RH (fh − Ah uhalt ) ist daher dH = DH AH (RH uhalt )−1 RH (fh − Ah uhalt ) die näherungsweise Suchrichtung des Newton-Verfahrens. Das gedämpfte nichtlineare Mehrgitterverfahren ist daher AH uH = AH (RH uhalt ) + tRH (fh − Ah uhalt ) mit einem Parameter 0 < t ≤ 1.

Im Gegensatz zum Newton-Verfahren muss der Wert von t a-priori bekannt sein, wozu auch schon Strategien entwickelt wurden.

Gedämpftes Zweigitterverfahren

In der Interpretation !

uH = RH uhalt + DH AH (RH uhalt )−1 RH (fh − Ah uhalt ) ist daher dH = DH AH (RH uhalt )−1 RH (fh − Ah uhalt ) die näherungsweise Suchrichtung des Newton-Verfahrens. Das gedämpfte nichtlineare Mehrgitterverfahren ist daher AH uH = AH (RH uhalt ) + tRH (fh − Ah uhalt ) mit einem Parameter 0 < t ≤ 1.

Im Gegensatz zum Newton-Verfahren muss der Wert von t a-priori bekannt sein, wozu auch schon Strategien entwickelt wurden. Sicherer scheint es zu sein, t = 1 zu wählen und zunächst ein provisorisches uH zu bestimmen, dass anschließend korrigiert wird:

Das Setting

Seien V0 , . . . , Vm wieder endlich dimensionale Räume mit den üblichen Transferoperatoren Rl : Vl+1 → Vl und Pl : Vl−1 → Vl .

Das Setting

Seien V0 , . . . , Vm wieder endlich dimensionale Räume mit den üblichen Transferoperatoren Rl : Vl+1 → Vl und Pl : Vl−1 → Vl .

Al : Vl → Vl seien Operatoren und Am um = fm sei in Vm zu lösen.

Das Setting

Seien V0 , . . . , Vm wieder endlich dimensionale Räume mit den üblichen Transferoperatoren Rl : Vl+1 → Vl und Pl : Vl−1 → Vl .

Al : Vl → Vl seien Operatoren und Am um = fm sei in Vm zu lösen.

Mit wl = Ml (ul , fl ) bezeichnen wir das Ergebnis der nichtlinearen Relaxation von Al ul = fl mit Start ul .

Das Setting

Seien V0 , . . . , Vm wieder endlich dimensionale Räume mit den üblichen Transferoperatoren Rl : Vl+1 → Vl und Pl : Vl−1 → Vl .

Al : Vl → Vl seien Operatoren und Am um = fm sei in Vm zu lösen.

Mit wl = Ml (ul , fl ) bezeichnen wir das Ergebnis der nichtlinearen Relaxation von Al ul = fl mit Start ul .

In einfachen Fällen kann dazu das SOR-Newton-Verfahren aus dem letzten Abschnitt verwendet werden mit 0 < ω ≤ 1.

Nichtlineares Mehrgitterverfahren mit Line-Search

recursive subroutine nmg (l , γ, ul , fl ) ! l Level ! γ Zahl der rekursiven Aufrufe von mg ! ul Startvektor und Iterierte für die Lösung von Al ul = fl , ! ul , fl ∈ Vl ! ! Glätte den Defekt durch wl = Ml (ul , fl ) ! Bestimme das minimale Residuum und korrigiere ¯ ¯2 t = argmin t∈(0,1] ¯Al (ul + t(wl − ul )} − fl ¯ ul = ul + t(wl − ul ) if(l==0) return

Nichtlineares Mehrgitterverfahren mit Line-Search

! Bestimme rechte Seite und Startvektor für die Grobgittergleichung fl−1 = Al−1 (Rl−1 ul ) + Rl−1 (fl − Al ul ) ul−1 = Rl−1 ul ! Löse die Defektgleichung approximativ durch nmg Do i = 1, γ call nmg (l − 1, γ, ul−1 , fl−1 ) enddo ! Bestimme das minimale Residuum und korrigiere ¯2 ¯ ¡ ¢ t = argmin t∈(0,1] ¯Al ul + t(Pl (ul−1 − Rl−1 ul ) − fl ¯ ul = ul + tPl (ul−1 − Rl−1 ul )

Nichtlineares Mehrgitterverfahren mit Line-Search

Auf den zweiten Line-Search zu verzichten, ist risikoreich. Wir hatten ja bereits gesehen, dass die Grobgitterkorrektur in etwa einem Newton-Schritt entspricht.

Nichtlineares Mehrgitterverfahren mit Line-Search

Auf den zweiten Line-Search zu verzichten, ist risikoreich. Wir hatten ja bereits gesehen, dass die Grobgitterkorrektur in etwa einem Newton-Schritt entspricht. Beide Line-Searches lassen sich natürlich durch ein Bisektionsverfahren wie im Abschnitt über das Newton-Verfahren ersetzen.

Nichtlineares Mehrgitterverfahren mit Line-Search

Auf den zweiten Line-Search zu verzichten, ist risikoreich. Wir hatten ja bereits gesehen, dass die Grobgitterkorrektur in etwa einem Newton-Schritt entspricht. Beide Line-Searches lassen sich natürlich durch ein Bisektionsverfahren wie im Abschnitt über das Newton-Verfahren ersetzen. Allerdings müssen die gefundenen Richtungen keine Abstiegsrichtung für das Residuum sein.

Das Newton-Verfahren und das nichtlineare Mehrgitterverfahren im Vergleich ◮

NMG benötigt viele Auswertungen von Al . Ist eine solche Auswertung teuer, kommt eher das Newton-Vefahren in Betracht.

Das Newton-Verfahren und das nichtlineare Mehrgitterverfahren im Vergleich ◮

NMG benötigt viele Auswertungen von Al . Ist eine solche Auswertung teuer, kommt eher das Newton-Vefahren in Betracht.



Nichtlineare Relaxation ist oft natürlicher. Bei Nichtlinearitäten der Form (u · D)u wie sie in den Navier-Stokes-Gleichungen vorkommen, kann man die zugehörige quadratische Gleichung auch direkt lösen.

Das Newton-Verfahren und das nichtlineare Mehrgitterverfahren im Vergleich ◮

NMG benötigt viele Auswertungen von Al . Ist eine solche Auswertung teuer, kommt eher das Newton-Vefahren in Betracht.



Nichtlineare Relaxation ist oft natürlicher. Bei Nichtlinearitäten der Form (u · D)u wie sie in den Navier-Stokes-Gleichungen vorkommen, kann man die zugehörige quadratische Gleichung auch direkt lösen.



Bei nichtdiffferenzierbaren Operatoren ist NMG noch definiert, das Newton-Verfahren nicht.

Das Newton-Verfahren und das nichtlineare Mehrgitterverfahren im Vergleich ◮

NMG benötigt viele Auswertungen von Al . Ist eine solche Auswertung teuer, kommt eher das Newton-Vefahren in Betracht.



Nichtlineare Relaxation ist oft natürlicher. Bei Nichtlinearitäten der Form (u · D)u wie sie in den Navier-Stokes-Gleichungen vorkommen, kann man die zugehörige quadratische Gleichung auch direkt lösen.



Bei nichtdiffferenzierbaren Operatoren ist NMG noch definiert, das Newton-Verfahren nicht.



Es gibt keine natürliche Definition von AH wie wir es von linearen Operatoren Lh kennen, nämlich LH = RH Lh Ph .