3. Lanczos-Verfahren -...
Transcript of 3. Lanczos-Verfahren -...
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-1
3. Lanczos-Verfahren
● Die Lanczos-Verfahren sind wie die Unterraumiteration Verfahren zur simultanen Berechnung mehrerer Eigenvektoren und Eigenwerte.
● Die Lanczos-Verfahren sind eine Kombination der Lanczos-Reduktion mit einem Rayleigh-Ritz-Schritt sowie iterativen Spektralverschie-bungen.
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-2
3. Lanczos-Verfahren
3.1 Lanczos-Transformation
3.2 Lanczos-Reduktion
3.3 Lanczos-Iteration
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-3
3.1 Lanczos-Transformation
● Die Lanczos-Transformation transformiert das Eigenwertproblem
auf ein Standard-Eigenwertproblem
mit einer tridiagonalen Matrix T und .
K x=2M x
T x=1 x
=2
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-4
3.1 Lanczos-Transformation
● Berechnung der Transformationsmatrix:– Wahl eines Startvektors y, Massennormierung:
– Initialisierung:
– Für i = 1, ..., n-1 :
= yT M y , y1=y
0=0
K y i=M y i
i=y iT M y i
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-5
3.1 Lanczos-Transformation
– Für i = n :
y i=y i−i y i−i−1 y i−1
y i1=y ii
i= y iTM y i
K yn=M yn
n=ynT M yn
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-6
3.1 Lanczos-Transformation
● Eigenschaften der Vektoren : – Die Vektoren sind massenorthonormal:
– Für die Matrix gilt:
y i , i=1, , n
y iTM y j=0 für i≠ j , y i
TM y i=1
Y=[ y1 ⋯ yn ]
Y T M K−1M Y=T
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-7
3.1 Lanczos-Transformation
– Dabei ist
– Die Vektoren werden als Krylow-Folge oder Krylow-Vektoren bezeichnet.
T=[1 1 0 ⋯ 0 01 2 2 ⋯ 0 0⋮ ⋮ ⋮ ⋱ ⋮ ⋮
0 0 0 ⋯ n−1 n−1
0 0 0 ⋯ n−1 n]
y i , i=1, , n
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-8
3.1 Lanczos-Transformation
● Transformation des Eigenwertproblems:– Aus folgt und
daraus
mit . – Der Eigenvektor x kann als Linearkombination der
Krylow-Vektoren geschrieben werden:
K x=2M x x=
2 K−1M x
1 M x=M K−1M x
=2
x=∑i=1
n
x i y i=Y x
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-9
3.1 Lanczos-Transformation
– Einsetzen und Vormultiplikation mit YT führt auf
– Daraus folgt
– Für die Lösung von Eigenwertproblemen mit einer tridiagonalen Matrix stehen eine Reihe von effizi-enten Algorithmen zur Verfügung.
1 Y
T MY x=Y T M K−1M Y x
1 x=T x
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-10
3.1 Lanczos-Transformation
● Beispiel:– Matrizen:
K=[2 −1 0 0−1 2 −1 00 −1 2 −10 0 −1 1
] , M=[2 0 0 00 1 0 00 0 2 00 0 0 1
]
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-11
3.1 Lanczos-Transformation
– Startvektor:
y=[1111] ,
2=[1 1 1 1 ] [
1 0 0 00 2 0 00 0 1 00 0 0 2
][1111]=6
=2.4496, y1=[0.4082480.4082480.4082480.408248
]
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-12
3.1 Lanczos-Transformation
– i = 1:
K y1=M y1=[0.816500.408250.816500.40825
] y1=[2.44954.08255.30725.7155
]1=y1
T M y1=10.333
y1=y1−1 y1=[−1.76908−0.136081.088661.49691
]
1= y1T M y1=3.2998
y2=y11
=[−0.536111−0.0412390.3299140.453632
]
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-13
3.1 Lanczos-Transformation
– i = 2:
K y2=M y2=[−1.072222−0.0412390.6598290.453632
] y2=[−2.6645e-151.0722e+002.1857e+002.6393e+00
]2=y2
T M y2=2.5952
y2=y2−2 y2−1 y1=[0.044185−0.167903−0.0176740.114881
]
2= y2T M y2=0.21429
y3=y22
=[0.206197−0.783547−0.0824790.536111
]
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-14
3.1 Lanczos-Transformation
– i = 3:
K y3=M y3=[0.41239−0.78355−0.164960.53611
] y3=[−8.9151e-14−4.1239e-01−4.1239e-024.9487e-01
]3=y3
T M y 3=0.59524
y3=y3−3 y3−3 y3=[−0.00785510.0628408−0.06284080.0785511
]
3= y 3T M y3=0.13469
y4=y33
=[−0.0583210.466569−0.4665690.583212
]
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-15
3.1 Lanczos-Transformation
– i = 4:
K y4=M y4=[−0.116640.46657−0.933140.58321
] y3=[−5.6737e-121.1664e-01−2.3328e-013.4993e-01
]4=y4
T M y4=0.47619
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-16
3.1 Lanczos-Transformation
– Ergebnis:
Y =[0.408248 −0.536111 0.206197 −0.0583210.408248 −0.041239 −0.783547 0.4665690.408248 0.329914 −0.082479 −0.4665690.408248 0.453632 0.536111 0.583212
]
T=[10.33333 3.29983 0.00000 0.000003.29983 2.59524 0.21429 0.000000.00000 0.21429 0.59524 0.134690.00000 0.00000 0.13469 0.47619
]
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-17
3.1 Lanczos-Transformation
– Der Nachweis, dass
und
gilt, bleibt zur Übung überlassen.
Y T M Y=I
Y T M K−1M Y=T
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-18
3.2 Lanczos-Reduktion
● Bei Matrizen großer Dimension geht die Massenorthonormalität der Krylow-Vektoren infolge von Rundungsfehlern verloren.
● Die dadurch notwendigen Nachorthogonalisierungen sind sehr aufwändig.
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-19
3.2 Lanczos-Reduktion
● Zur Berechnung der ersten p Eigenvektoren eines n-dimensionalen Eigenwertproblems werden zunächst q > p Krylow-Vektoren be-rechnet. Diese spannen den q-dimensionalen Krylow-Unterraum auf.
● Die Eigenvektoren werden als Linearkombinati-on der Krylow-Vektoren angesetzt (Ritz-Ansatz):
xkq=∑i=1
q
x ki y i , k=1, , p
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-20
3.2 Lanczos-Reduktion
● Mit
folgt: ● Einsetzen in das Eigenwertproblem führt auf
Y q=[ y1 ⋯ yq ]
xkq=Y q xk
q
M K−1M Y q xkq−1
kqM Y q xk
q=r k
q
xkq=[ x k1 ⋯ x kq ]
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-21
3.2 Lanczos-Reduktion
● Das Residuum kann in der Regel nicht zum Verschwinden gebracht werden, da zur Erfül-lung von n Gleichungen nur q Unbekannte zur Verfügung stehen.
● Die Eigenvektoren werden so bestimmt, dass das Residuum orthogonal auf den Krylow-Vektoren steht (Rayleigh-Ritz-Methode):
r kq
xkq
y iT r k
q =0 , i=1, , q : Y q
T r kq=0
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-22
3.2 Lanczos-Reduktion
● Das führt auf das projizierte Eigenwertproblem:
● Die Lösung dieses Eigenwertproblems liefert die besten im von den Krylow-Vektoren aufgespannten Unterraum enthaltenen Eigenvektornäherungen.
Y qTM K−1M Y q xk
q=1
kq Y qM Y q xk
q
T q xkq=1
kq xk
q
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-23
3.2 Lanczos-Reduktion
● Fehlerabschätzung:
– Es gibt einen Eigenwert ωl , für den gilt:
– Dabei ist das letzte Element des Eigenvek-tors .
∣l2−1
kq∣≤∣q xkq
q ∣
x kqq
x kq
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-24
3.3 Lanczos-Iteration
● Zunächst werden z.B. q = 2p Krylow-Vektoren berechnet und das projizierte Eigenwertpro-blem gelöst.
● Wenn nicht alle Eigenvektoren die gewünschte Genauigkeit haben, werden weitere Krylow-Vektoren
berechnet.
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-25
3.3 Lanczos-Iteration
● Ist eine bestimmte Anzahl von Vektoren er-reicht oder lassen sich keine weiteren Vektoren mehr berechnen, wird ein neuer Startvektor gewählt.
● Dabei muss darauf geachtet werden, dass der Startvektor und alle damit berechneten Krylow-Vektoren massenorthogonal auf den konver-gierten Eigenvektoren sind.
Elastodynamik 2SS 2007
1. Eigenwertprobleme 1.3-26
3.3 Lanczos-Iteration
● Für jede neue Folge von Krylow-Vektoren kann eine Spektralverschiebung s gewählt werden. Die Vektoren werden dann mit der Matrix
berechnet.● Mit Hilfe des Trägheitssatzes von Sylvester
kann überprüft werden, ob alle Eigenwerte im betrachteten Intervall gefunden wurden (Sturm Sequence Check).
K s=K−sM