Skript
Skript
Skript
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
2 SIMPLEX – VERFAHREN 12<br />
in obere Dreieckgestalt R := A m überführt, durchführbar ist (a (j)<br />
jj<br />
≠ 0∀j), erzeugt er eine LR-<br />
Zerlegung der Matrix als Produkt einer unteren Dreieckmatrix L = L −1<br />
1 · · · L −1<br />
m−1 und einer<br />
oberen R = A m :<br />
⎛<br />
⎞ ⎛<br />
⎞<br />
1<br />
r 11 r 12 . . . . . . . r 1n<br />
z (1)<br />
A = LR, L =<br />
2 1<br />
⎜<br />
.<br />
⎝ . .. ⎟<br />
⎠ , R = r 22 . . . . . . . r 2n<br />
⎜ .<br />
⎝ .. ⎟ . ⎠ .<br />
z m (1) . . . z m (m−1) 1<br />
r mm . r mn<br />
Die Berechnung der LR-Zerlegung hat einen Aufwand von i.w. (n − 1 3 m)m2<br />
Operationen, also 2 3 m3 FLOP für m = n.<br />
arithmetischen<br />
Im Satz wurde implizit vorausgesetzt, dass die Pivot-Elemente a (j)<br />
jj<br />
= r jj, durch welche dividiert<br />
wird, von Null verschieden sind. Bei einer Rechnung mit Maschinenzahlen endlicher Genauigkeit<br />
muß aber nicht nur der Fall a (j)<br />
jj<br />
= 0 durch Zeilenvertauschungen vermieden werden, sondern<br />
∼ = 0. Sonst zeigen sich die gleichen Probleme wie<br />
auch die Verwendung kleiner Pivot-Werte a (j)<br />
jj<br />
bei Verwendung der Rang-1-Formel (2.2.2). Daher bringt man durch Vertauschungen möglichst<br />
große Elemente in die Hauptdiagonale (s.u.).<br />
Durch Berechnung einer LR-Zerlegung wird die Berechnung der Inversen absolut überflüssig.<br />
Denn mit der Zerlegung kostet die Auflösung eines quadratischen linearen Gleichungssystem<br />
Bx = c nur noch den Aufwand der Lösung von zwei gestaffelten (Dreieck-) Systemen:<br />
x = B −1 c = R −1 L −1 c ⇐⇒ Ly = c, Rx = y.<br />
Außerdem kann diese Auflösung ohne Zusatzvariable (am Platz) durchgeführt werden. Die folgenden<br />
Anweisungen überschreiben die rechte Seite c = (c i ) zunächst mit der Zwischenlösung<br />
y, dann mit der Gesamtlösung x:<br />
löst Rx = c, c := x<br />
löst Ly = c, c := y<br />
für i = m abwärts bis 1 {<br />
für i = 2 bis m {<br />
für j = i + 1 bis m {c i := c i − r ij c j ;}<br />
für j = 1 bis i − 1 { c i := c i − l ij c j ;}<br />
c i := c i /r ii ;<br />
}<br />
}<br />
Der Rechenaufwand beträgt pro Teilsystem i.w. m 2 Operationen. Damit ist der Gesamtaufwand<br />
zur Lösung von Bx = LRx = c mit 2m 2 Operationen nicht höher als die reine Multiplikation<br />
B −1 c, jeweils für jede neue rechte Seite c.<br />
Zeilenvertauschungen bei einer m × n-Matrix A können formal mit Hilfe einer Permutationsmatrix<br />
P ∈ B m×m dargestellt werden. So wird etwa mit einer Permutation π die entsprechende<br />
Umordnung der Zeilen in A = (a ij ) folgendermaßen bewirkt (δ: Kronecker-Symbol):<br />
( ) m<br />
A ′ = (a ′ kj ) = (a π(i),j) ⇐⇒ A ′ = P A, P = δ π(i),j .<br />
i,j=1<br />
Permutationsmatrizen entstehen durch Vertauschungen bei der Einheitsmatrix und sind unitär,<br />
die Transponierte P T = P −1 bewirkt die inverse Permutation. In der praktischen Realisierung<br />
bestimmt man im Gaußalgorithmus vor Elimination der j-ten Spalte das betragsmaximale