28.02.2014 Aufrufe

Kapitel 2 Lineare und nichtlineare Gleichungen - Institut für ...

Kapitel 2 Lineare und nichtlineare Gleichungen - Institut für ...

Kapitel 2 Lineare und nichtlineare Gleichungen - Institut für ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

30 <strong>Lineare</strong> <strong>und</strong> <strong>nichtlineare</strong> <strong>Gleichungen</strong><br />

• Cholesky-Zerlegung: Sei A ∈ R n×n symmetrisch <strong>und</strong> positiv definit. Wie wir<br />

zeigen werden, besitzt A dann eine Cholesky-Zerlegung, es existiert also eine<br />

untere Dreiecksmatrix L ∈ R n×n mit positiven Diagonalelementen derart, dass<br />

A = LL T .Umgekehrtgiltnatürlich:IstA = LL T mit einer nichtsingulären<br />

Matrix L ∈ R n×n ,soistA symmetrisch <strong>und</strong> positiv definit. Ist eine Cholesky-<br />

Zerlegung A = LL T der symmetrischen, positiv definiten Matrix A bekannt, so<br />

kann ein lineares Gleichungssystem Ax = b wieder durch Vorwärts- <strong>und</strong> Rückwärtseinsetzen<br />

gelöst werden: Zunächst man y = L T x aus Ly = b durch Vorwärtseinsetzen,<br />

danach die gesuchte Lösung x aus L T x = y durch Rückwärtseinsetzen.<br />

Jetzt wollen wir kurz auf die Möglichkeiten von Maple <strong>und</strong> MATLAB zur Berechnung<br />

dieser Zerlegungen eingehen.<br />

• LU-Zerlegung: Im Package LinearAlgebra von Maple gibt es zur LU-Zerlegung<br />

die Funktion LUDecomposition, in MATLAB die Funktion lu. Hilfenzudiesen<br />

Funktionen erhält man durch ?LUDecomposition bzw. help lu. Es ist wichtig<br />

sich zu informieren, weil der Gebrauch des Begiffes LU-Zerlegung nicht ganz<br />

einheitlich ist. In Maple werden z. B. durch<br />

(P,L,U)=LinearAlgebra[LUDecomposition](A);<br />

eine Permutationsmatrix P ,eineuntereDreiecksmatrixL mit Einsen in der Diagonalen<br />

<strong>und</strong> eine obere Dreiecksmatrix U mit PLU = A berechnet, in MATLAB<br />

erhält man durch<br />

[L,U,P]=lu(A)<br />

eine Zerlegung PA = LU mit Matrizen P, L, U, die die üblichen Eigenschaften<br />

haben.<br />

Beispiel: Sei<br />

A :=<br />

⎛<br />

⎜<br />

⎝<br />

0 1 1 −3<br />

−2 3 1 4<br />

0 0 0 1<br />

3 1 0 0<br />

⎞<br />

⎟<br />

⎠ .<br />

Zu berechnen sei eine LU-Zerlegung. Zunächst verwenden wir Maple:<br />

> with(LinearAlgebra):<br />

> A:=Matrix([[0,1,1,-3],[-2,3,1,4],[0,0,0,1],[3,1,0,0]]):<br />

> (P,L,U):=LUDecomposition(A);<br />

⎡<br />

⎤ ⎡<br />

⎡<br />

⎤ 1 0 0 0<br />

0 1 0 0<br />

P, L, U := ⎢ 1 0 0 0<br />

⎥<br />

⎣ 0 0 0 1 ⎦ , 0 1 0 0<br />

−3 11<br />

⎢ 1 0 ⎥<br />

⎣ 2 2 ⎦ , ⎢<br />

⎣<br />

0 0 1 0<br />

0 0 0 1<br />

> P:=Transpose(P):<br />

−2 3 1 4<br />

0 1 1 −3<br />

0 0 −4 45<br />

2<br />

0 0 0 1<br />

⎤<br />

⎥<br />

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!