LR-Zerlegung < Gleichungssysteme < Lineare Algebra < Hochschule < Mathe < Vorhilfe
|
Hallo,
ich arbeite gerade Strangs Buch zur linearen Algebra durch und hätte da eine Frage. Auf Seite 95 ist ein Matlab-Code zur Implementierung der LR-Zerlegung. Dieser geht im wesentlichen so:
Input ist eine nxn-Matrix A
for k=1:n
for i=k+1:n
A(i,k)=A(i,k)/A(k,k) // Hier werden die Multiplikatoren für die Pivotelemente in die entsprechende Zeile geschrieben...das ist noch klar...
for j=k+1:n
A(i,j)=A(i,j)-A(i,k)*A(k,j) // (*)
end
end
end
So dieser letzte Schritt den ich mit (*) bezeichnet habeist mir überhaupt nicht klar. Was passiert da?
Nehmen wir mal k=1, i=2, j=2
Dann steht da:
A(2,2)=A(2,2)-A(2,1)*A(1,2)
Das ist noch klar um das neue Element von A(2,2) zu kriegen wird da alte minus dem Multiplikator von der ersten Zeile gerechnet...ach ich bin total verwirrt.
Ich verstehe den Code gerade überhaupt nicht...
Gruß
|
|
|
|
Hallo dre1ecksungleichung,
> Hallo,
> ich arbeite gerade Strangs Buch zur linearen Algebra durch
> und hätte da eine Frage. Auf Seite 95 ist ein Matlab-Code
> zur Implementierung der LR-Zerlegung. Dieser geht im
> wesentlichen so:
>
> Input ist eine nxn-Matrix A
> for k=1:n
> for i=k+1:n
> A(i,k)=A(i,k)/A(k,k) // Hier werden die Multiplikatoren
> für die Pivotelemente in die entsprechende Zeile
> geschrieben...das ist noch klar...
> for j=k+1:n
> A(i,j)=A(i,j)-A(i,k)*A(k,j) // (*)
> end
> end
> end
>
> So dieser letzte Schritt den ich mit (*) bezeichnet habeist
> mir überhaupt nicht klar. Was passiert da?
> Nehmen wir mal k=1, i=2, j=2
> Dann steht da:
> A(2,2)=A(2,2)-A(2,1)*A(1,2)
> Das ist noch klar um das neue Element von A(2,2) zu kriegen
> wird da alte minus dem Multiplikator von der ersten Zeile
> gerechnet...ach ich bin total verwirrt.
> Ich verstehe den Code gerade überhaupt nicht...
Schreibe Dir hier die ersten Schritte auf:
k=1: For i=2:n
[mm]A\left(i,1\right)=\bruch{A\left(i,1\right)}{A\left(1,1\right)}[/mm]
For j=2:n
[mm]A\left(i,j\right)=A\left(i,j\right)-A\left(i,1\right) *A\left(1,j\right) [/mm]
insbesondere für i=2,3,4
[mm]A\left(2,j\right)=A\left(2,j\right)-A\left(2,1\right) *A\left(1,j\right) [/mm]
[mm]A\left(3,j\right)=A\left(3,j\right)-A\left(3,1\right) *A\left(1,j\right) [/mm]
[mm]A\left(4,j\right)=A\left(4,j\right)-A\left(4,1\right) *A\left(1,j\right) [/mm]
k=2: For i=3:n
[mm]A\left(i,1\right)=\bruch{A\left(i,2\right)}{A\left(2,2\right)}[/mm]
For j=3:n
[mm]A\left(i,j\right)=A\left(i,j\right)-A\left(i,2\right) *A\left(2,j\right) [/mm]
insbesondere für i=3,4
[mm]A\left(3,j\right)=A\left(3,j\right)-A\left(3,2\right) *A\left(2,j\right) [/mm]
[mm]A\left(4,j\right)=A\left(4,j\right)-A\left(4,2\right) *A\left(2,j\right) [/mm]
Bezieht man jetzt die Formeln auf die Ausgangsmatrix A so steht dann da:
[mm]j \ge 2: A\left(2,j\right)=A\left(2,j\right)-A\left(2,1\right) *A\left(1,j\right) [/mm]
[mm]j \ge 3: A\left(3,j\right)=A\left(3,j\right)-A\left(3,1\right) *A\left(1,j\right)-A\left(3,2\right)*A\left(2,j\right) [/mm]
[mm]j \ge 3: A\left(4,j\right)=A\left(4,j\right)-A\left(4,1\right) *A\left(1,j\right)-A\left(4,2\right)*A\left(2,j\right) [/mm]
Und das sind die Formeln zur Berechnung der Einträge in der L bzw. R-Matrix.
Aus Speicherplatzgründen werden diese in der Matrix A gespeichert.
>
> Gruß
Gruß
MathePower
|
|
|
|