3. Lanczos-Verfahren -...

26
Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die Lanczos-Verfahren sind wie die Unterraum- iteration 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.

Transcript of 3. Lanczos-Verfahren -...

Page 1: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

Elastodynamik 2SS 2007

1. Eigenwertprobleme 1.3-1

3. Lanczos-Verfahren

● Die Lanczos-Verfahren sind wie die Unterraum­iteration 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.

Page 2: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

Elastodynamik 2SS 2007

1. Eigenwertprobleme 1.3-2

3. Lanczos-Verfahren

3.1 Lanczos-Transformation

3.2 Lanczos-Reduktion

3.3 Lanczos-Iteration

Page 3: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 4: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 5: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 6: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 7: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 8: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 9: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 10: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

]

Page 11: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

]

Page 12: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

]

Page 13: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

]

Page 14: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

]

Page 15: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 16: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

]

Page 17: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 18: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

Elastodynamik 2SS 2007

1. Eigenwertprobleme 1.3-18

3.2 Lanczos-Reduktion

● Bei Matrizen großer Dimension geht die Mas­senorthonormalität der Krylow-Vektoren infolge von Rundungsfehlern verloren.

● Die dadurch notwendigen Nachorthogonalisie­rungen sind sehr aufwändig.

Page 19: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 20: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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 ]

Page 21: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 22: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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 aufge­spannten Unterraum enthaltenen Eigenvektor­näherungen.

Y qTM K−1M Y q xk

q=1

kq Y qM Y q xk

q

T q xkq=1

kq xk

q

Page 23: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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

Page 24: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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.

Page 25: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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.

Page 26: 3. Lanczos-Verfahren - wandinger.userweb.mwn.dewandinger.userweb.mwn.de/LA_Elastodynamik_2/v1_3.pdf · Elastodynamik 2 SS 2007 1. Eigenwertprobleme 1.3-1 3. Lanczos-Verfahren Die

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