Beilage zur Serie 1

Werbung
Praktikum II “Numerik am Computer”
Prof. H. Harbrecht; F. Bieder, R. Brügger, R. Dohrau,
R. Erb, D. Felder, G. Talarico, D. Tröndle
FS 2017
Universität Basel
Beilage zur Serie 1
LR-Zerlegung
Zur Lösung eines linearen Gleichungssystems
Ax = b,
A ∈ Rn×n , b ∈ Rn
kann man den Gauss-Algorithmus benutzen. Dabei geht man vor wie folgt:
1. Berechne die LR-Zerlegung A = LR der Matrix A. Dabei ist L eine untere linke Dreiecksmatrix mit 1 auf der Hauptdiagonalen und U eine obere rechte Dreiecksmatrix.
2. Löse das Gleichungssystem Ly = b nach y (Vorwärtssubstitution).
3. Löse das Gleichungssystem Rx = y nach x (Rückwärtssubstitution).
Der Aufwand für den Gauss-Algorithmus ist etwa n3 /3 Multiplikationen.
Für Bandmatrizen kann man den Algorithmus effizienter implementieren. Für p, q ∈ N ist
eine Matrix A eine Bandmatrix mit oberer Bandbreite p und unterer Bandbreite q, falls
gilt:
ai,j = 0 für i + p < j oder j + q < i
Neben der Haupptdiagonale sind also nur die p oberen und die q unteren Nebendiagonalen
besetzt. Der Algorithmus für die LR-Zerlegung einer Bandmatrix lautet dann (Pseudocode):
L=E
R=A
for k = 1 to n − 1 do
for i = k + 1 to min(n, k + q) do
ri,k
li,k = rk,k
for j = k to min(n, k + p) do
ri,j = ri,j − li,k rk,j
end for
end for
end for
Nachdem man die LR-Zerlegung bestimmt hat, löst man in der Vorwärtssubstitution das
Gleichungssystem
Ly = b.
1
Ausgeschrieben hat es die Form
l1,1 y1
l2,1 y1 + l2,2 y2
l3,1 y1 + l3,2 y2 + l3,3 y3
..
..
..
.
.
.
ln,1 y1 + ln,2 y2 + ln,3 y3 + . . .
= b1
= b2
= b3
..
.
(1)
(2)
(3)
+ ln,n yn = bn
(n)
Nun kann man nacheinander die Gleichungen (1) bis (n) je nach y1 , . . . , yn auflösen, sodass
b1
,
l1,1
1
y2 =
(b2 − l2,1 y1 ) ,
l2,2
1
y3 =
b3 − (l3,1 y1 + l3,2 y2 ) ,
l3,3
..
.
!
n−1
X
1
ln,k yk .
yn =
bn −
ln,n
k=1
y1 =
Um also yi zu bestimmen, benötigt man y1 , . . . , yi−1 , und rechnet dann
!
i−1
X
1
yi =
bi −
li,k yk
li,i
k=1
aus. Analog erhält man für die Rückwärtssubstitution, in der man das Gleichungssystem
Rx = y
löst,
1
xi =
ri,i
yi −
n
X
!
ri,k xk
,
k=i+1
wobei man zuerst xn berechnet, dann xn−1 , und so weiter, bis man bei x1 angelangt ist.
Sowohl die Vorwärts- als auch die Rückwärtssubstitution können unter Ausnutzung der
Bandstruktur effizienter implementiert werden, so dass wir für den Gauss-Algorithmus für
Bandmatrizen einen Aufwand von ungefähr n(pq + p + q) Multiplikationen erhalten.
Permutationsmatrizen
Eine Permutation π ist eine bijektive Abbildung π : {1, . . . , n} → {1, . . . , n}. Das heisst, sie
permutiert die Zahlen {1, . . . , n}. Eine andere häufig benutzte Schreibweise ist die folgende:
1
···
n
π=
.
π(1) · · · π(n)
In der oberen Zeile stehen die Zahlen von 1 bis n und für jede Zahl j ∈ {1, . . . , n} steht darunter der Funktionswert π(j). Die zugehörige Permutationsmatrix P ist nun die (n × n) −
Matrix, welche jeweils eine 1 in der j-ten Spalte und π(j)-ten Zeile besitzt und Nullen
überall sonst (d.h. Pei = eπ(i) ). Solche Matrizen haben spezielle Eigenschaften:
2
1. Pπ Pσ = Pπ◦σ , für zwei Permutationen π und σ;
T
T
2. P−1
π = Pπ −1 = Pπ also Pπ Pπ = P (Orthogonalität);
3. det(Pπ ) = sign π = ±1.


0 0 1
1 2 3
Z.B. gehört zur Permutation π =
die Permutationsmatrix Pπ = 1 0 0.
2 3 1
0 1 0
Jede Permutation lässt sich eindeutig (bis auf Reihenfolge) als Produkt disjunkter Zykeln
darstellen. Das erste Element des Zykels wird dabei auf das zweite abgebildet, das zweite
Element auf das dritte, und so weiter, bis hin zum letzten Element, welches wieder auf
das erste abgebildet wird. Das Signum einer Permutation (und damit die Determinante der
zugehörigen Permutationsmatrix) ist bestimmt durch die Anzahl der Zykeln mit gerader
Länge: Hat eine Permutation k Zykeln mit gerader Länge, so ist das signum der Permutation
(−1)k .
1 2 3 4 5 6
Beispiel. Für die Permutation π =
lautet die Zerlegung in Zykeln
1 4 5 6 3 2
π = (1) (2 4 6) (3 5) = (2 4 6) (3 5). Das Signum dieser Permutation ist in diesem Fall −1.
Allgemeine Informationen zum Praktikum II befinden sich auf der Webseite
www.math.unibas.ch/~harbrech/teaching/praktikumII/praktikumII.html
3
Herunterladen