0% found this document useful (0 votes)
95 views

Eigen Value Problem

The document discusses numerical eigenvalue problems and their solutions. It introduces standard and generalized eigenvalue problems that arise in engineering mechanics. Standard eigenvalue problems involve finding eigenvalues and eigenvectors from a matrix equation. Generalized problems involve additional matrices. Common applications include structural analysis, buckling analysis, vibration analysis, and heat transfer. The document outlines methods for solving such problems numerically, including arranging eigenvalues in ascending order and scaling eigenvectors. Orthogonality properties of eigenvectors are also described.

Uploaded by

marri likhitha
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views

Eigen Value Problem

The document discusses numerical eigenvalue problems and their solutions. It introduces standard and generalized eigenvalue problems that arise in engineering mechanics. Standard eigenvalue problems involve finding eigenvalues and eigenvectors from a matrix equation. Generalized problems involve additional matrices. Common applications include structural analysis, buckling analysis, vibration analysis, and heat transfer. The document outlines methods for solving such problems numerically, including arranging eigenvalues in ascending order and scaling eigenvectors. Orthogonality properties of eigenvectors are also described.

Uploaded by

marri likhitha
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

C. G.

Koh CE6003
Chapter 3: Numerical Eigenvalue Problems Sep 2005
Eigenvalue problems are often encountered in engineering mechanics problems, e.g.
determination of natural frequencies and mode shapes in dynamic analysis, and buckling
load in stability analysis.

(1) Standard eigen-problems

Kφ=λφ or [K − λ I ] φ = 0 (1)

where K is an n × n matrix. For example, in solving structural analysis problems


K x = P , we may wish to determine the condition number of K based on 2-norm, which
requires computation of the eigenvalues of K (or KTK if not symmetric).

For eigen-problems, we look for non-trivial solutions of φ (i.e. at least one element in φ
is nonzero). There are n eigenvalues and eigenvectors satisfying (1).

For reason of numerical convergence, we will arrange the eigenvalues in the ascending
order as follows.

0 ≤ | λ 1 | ≤ | λ 2 | ≤ K ≤ | λ n −1 | ≤ | λ n |
The eigen-pair for the i-th mode is denoted as (λ i , φ i ) .
K is positive definite if all eigenvalues are positive, i.e. λ i > 0, i = 1, K , n . Most
engineering mechanics problems give positive definite matrices if properly constructed
and constrained.
K is positive semi-definite if all eigenvalues are non-negative, i.e. λ i ≥ 0 , i = 1, K , n .
This may happen in engineering mechanics problems where constraint is insufficient Æ
singular K. The number of zero eigenvalues normally corresponds to the number of rigid
body modes in the system. (Real life examples?)
Alternatively, in some methods, it is necessary to compute eigenvalues for unrestrained
structure/elements. See, for example, Koh, C G, K K Ang and R Xu (1997), “An eigen-
force method for finite element analysis and reanalysis”, International Journal for
Numerical Methods in Engineering, V40(5), pp. 777-796.
(2) Generalized eigen-problems

In stability analysis, the buckling load is governed by the generalized eigen-problem:

K φ = λ KG φ or [K − λ K G ] φ = 0 (2)
where K = elastic stiffness matrix, K G = geometric stiffness matrix (due to second-order
effect of compression load), λ = buckling load (or the corresponding scaling factor), and
φ = buckling mode shape.

3-1
In dynamic analysis, the undamped free vibration problem leads to

Kφ=λMφ or [K − λ M] φ = 0
(3)

where K = stiffness matrix, M= mass stiffness matrix and λ = ω 2 where ω is natural


frequency (radian/s), and φ = vibration mode shape.

In heat transfer analysis, a similar eigen-problem is encountered:

K φ=λCφ or [K − λ C] φ = 0 (4)

where K = heat conductivity matrix, C = heat capacity matrix, λ = thermal eigenvalue,


and φ = thermal mode shape.

Consider generalized eigen-problem (3) in our discussion. Standard eigenvalue problem


is a special case with M= I. Furthermore, for physical problems, we often are able to
obtain symmetric matrices for K and M. Consider symmetric cases only, for which
eigenvalues and eigenvectors are real. (Non-symmetric cases give complex eigenvalues
and complex eigenvectors in general.)

Scaling of Eigenvectors
Each eigen-pair (λ i , φ i ) satisfies (3), we have

K φi = λi M φi i = 1, 2, ..., n (5)

An eigenvector multiplied by a scalar constant ( α ≠ 0 ) is also a solution, since


K (α φ i ) = λ i M (α φ i ) (6)

Hence, the eigenvector is defined by its “shape”. But its “length” (or norm) is
indeterminate and arbitrary – up to us to scale or normalize it.

Orthogonal Properties of Eigenvectors

The eigenvectors are orthogonal with respect to K and M. That is,

φ Ti K φ j = 0 and φ Ti M φ j = 0 if i ≠ j (7)
Proof:
Consider two different modes i and j.
K φi = λi M φi (8)
K φj =λj M φj (9)

3-2
Pre-multiply (8) by φ Tj Æ a scalar equation
φ Tj K φ i = λ i φ Tj M φ i (10)

1× n n×n n ×1

Pre-multiply (9) by φ Ti Æ a scalar equation


φ Ti K φ j = λ j φ Ti M φ j (11)

1× n n×n n ×1

Take transpose of both sides in above equation (K and M are symmetric):


φ Tj K φ i = λ j φ Tj M φ i (12)

(10) – (12) gives


0 = (λ i − λ j ) φ Ti M φ j (13)

For i ≠ j Assume the eigenvalues are different, i.e. λ i ≠ λ j . Then


φ Ti M φ j = 0 (14)

The zero “cross-product” term means that the eigenvectors for two different modes are
orthogonal with respect to M, or they are said to be M-orthogonal.
(If λ i = λ j for i ≠ j , consider limiting case where λ i is very close to but not exactly
equal to λ j Æ same conclusion.)

Substitute Eq. (14) into Eq. (11): φ Ti K φ j = 0 (15)

The eigenvectors for two different modes are K-orthogonal

For i = j Eq. (13) is satisfied since λ i = λ j (same mode). In general φ Ti M φ i ≠ 0 .


define
φ Ti M φ i = M i* (16)
define
Eq. (11) gives φ Ti K φ i = M i* λ i = K i* (17)
(17) ÷ (16) : φ Ti K φ i
λi = (18)
φ Ti M φ i Rayleigh quotient

(If φ i has been computed, λ i can be computed from the Rayleigh quotient.)
Since the eigenvector is arbitrary in length, it is possible to scale it. For example,
(
dividing φ i by M i* ) 1/ 2
as obtained in (16) gives

3-3
φ Ti M φ i = 1 (19)

(17) or (18) Æ φ Ti K φ i = λ i (20)

Consider all modes

Collect all eigenvectors in an n × n matrix:


Φ = [ φ1 φ 2 .... φ n ] (21)
Collect all eigenvalues in an n × n diagonal matrix:
Λ = diag [ λ1 λ 2 .... λ n ] (22)
Hence, if all eigenvectors are normalized according to Eq. (19), the two orthogonality
conditions are
ΦT M Φ = I and ΦT K Φ = Λ (23, 24)
For Eq. (23), the eigenvectors can be said to be M-orthonormal (i.e. orthogonal for
i ≠ j and normalized to unity for i = j ).
Eigenvectors φ1 , φ 2 , …, φ n are linearly independent and together they form a “basis” of
the solution space. Any vector x in the solution space can be expressed as a linear
combination of these eigenvectors. Hence
n
x = ∑ φ i qi = Φ q (25)
i =1

Characteristic Polynomial
To obtain non-trivial solutions for [K − λ M ] φ = 0 means
det [K − λ M ] = 0 (26)
(If det ≠ 0, there is a unique solution. But a trivial solution is a solution and thus the
only one.)
In principle, solving Eq. (26) is equivalent to finding roots of an n-th degree polynomial
Pn (λ) = 0 . (27)
This is called the characteristic polynomial of the eigen-problem. Nevertheless, when n
is large, root-finding of high-degree polynomial is not easy.
Pn ( λ ) = det [K − λ M ]

(The real curve may not look as nice as this.)


λ1

λ2 λ3 λ4 λ5
λ
0
3-4
1. Inverse Iteration Method
Suitable for finding the lowest mode (with smallest | λ | )
Aim: To solve Kφ=λMφ (28)
Idea: Try an iteration vector x k for φ and substitute this into the RHS. Get a new
solution for φ from the LHS, and call it x k +1 .

K x k +1 = λ M x k (29)
But λ is unknown. Since we want only the shape of φ , λ is absorbed in the
new iteration vector called x k +1 . That is,

K x k +1 = M x k (30)
Iterate until the shape converges. When convergence is reached (hopefully), the
eigenvalue is given by the magnitude ratio of x k +1 and x k .

For convenience, define y k = M x k . Thus,

K x k +1 = y k (31)

Questions: Will this method converge? If yes, converge to what?

Convergence Proof
Express x k as a linear combination of all eigenvectors:
n
x k = ∑ φ i (q i )k = Φ qk (31a)
i =1

Similarly,
n
x k +1 = ∑ φ i ( q i ) k +1 = Φ q k +1 (31b)
i =1

Substitute into in (30):


K Φ q k +1 = M Φ q k (32)

Pre-multiply the above by Φ T and apply orthogonality conditions:


Λ q k +1 = q k (33)

⎡ λ1 zeroes⎤ ⎡ q1 ⎤ ⎡ q1 ⎤
⎢ λ2 ⎥ ⎢ ⎥ ⎢ ⎥
i.e. ⎢ ⎥ ⎢q 2 ⎥ = ⎢q 2 ⎥
⎢ O ⎥ ⎢M⎥ ⎢M⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣zeroes λ n ⎦ ⎣q n ⎦ k +1 ⎣q n ⎦ k

3-5
Let’s assume the first mode has the smallest eigenvalue in magnitude, i.e.
| λ1 | < | λ 2 | ≤ K ≤ | λ n | .

Æ (qi )k +1 = (qi )k / λ i = (qi )k −1 / λ2i = . ..... = (qi )1 / λki

(qi )k +1 (qi )1 ⎛ λ1 ⎞ k
Æ = ⎜ ⎟ (Let’s compare to the lowest mode)
(q1 )k +1 (q1 )1 ⎜⎝ λ i ⎟⎠
Note that higher modes diminish at faster rates.
n
⎡ (q ) (q ) (q ) ⎤
x k +1 = ∑ φi (qi )k +1 = (q1 )k +1 ⎢φ1 1 k +1 + φ 2 2 k +1 + . .. + φ n n k +1 ⎥
i =1 ⎣ (q1 )k +1 (q1 )k +1 (q1 )k +1 ⎦
1 ⎡ ⎛ λ1 ⎞ ⎤
k k
⎛ λ1 ⎞
x k +1 = k ⎢φ1 (q1 )1 + φ2 (q2 )1 ⎜⎜ ⎟⎟ + . .. + φn (qn )1 ⎜⎜ ⎟⎟ ⎥ (34)
λ1 ⎢ ⎝ λ2 ⎠ ⎝ λ n ⎠ ⎥⎦

1
As k becomes large, x k +1 → ( q 1 )1 φ 1 , i.e. the iteration vector shape approaches the
λ k1
1st mode shape.
1
Similarly, as k is large, xk → (q1 )1 φ1
λk1−1

φ Ti K φ i
Recall: Rayleigh quotient is λ i = (exact)
φ Ti M φ i
In a similar way, define the following Rayleigh quotient for approximation:
x Tk+1 K x k +1 x Tk+1 y k
ρ k +1 = = (35)
x Tk+1 M x k +1 x Tk+1 y k +1
When x k +1 approaches φ 1 in shape, ρ k +1 → λ 1
During the process, the iteration vector can be re-scaled (and normalized). Re-scaling
will not change the result for ρ k +1 since its effects in the numerator and denominator of
the Rayleigh quotient will cancel out.

Notes:
• In (34), the convergence depends on the decay of ratios λ 1 / λ i (i ≠ 1). Obviously
the largest ratio is the slowest to diminish. Thus the convergence rate depends on
λ 1 / λ 2 since λ 2 is the nearest eigenvalue to λ 1 .

• The proof assumes | λ 1 | < | λ 2 | . If the first two eigenvalues are equal and of the
same sign, the proof becomes more complicated but the idea is still applicable. If

3-6
they are equal but of different signs, shifting is needed to separate them (to discuss
later).
• The proof also assumes (q1 )1 ≠ 0 , i.e. the starting iteration vector x1 contains φ1 .
Else, the solution will, in theory, not converge to the lowest mode but to the next
lowest mode if the starting iteration vector contains its mode.

Algorithm:
Assume a starting iteration vector for φ , say x1 (≠ 0) , e.g. ( 1, 1, ..., 1, ) T
Compute y 1 = M x1 (36)
For each iteration k = 1, 2, …
(A) Solve K x k +1 = y k

(B) Compute y k +1 = M x k +1

x Tk+1 y k
(C) Compute ρ k +1 =
x Tk+1 y k +1
y k +1
(D) M-normalized y k +1 =
( x Tk +1 y k +1 ) 1/2

λ(1k +1) − λ(1k )


Convergence check by computing relative change in λ1 : ≤ tol (37)
λ(1k +1)

When the iteration has converged, we have the numerical eigen solutions:
x Tk+1
λ1 ≈ ρ k +1 and φ1 ≈ (M-normalized)
( x Tk +1 y k +1 ) 1/2

Example 3.1 ⎡0 ⎤
⎡ 2 −1 0 0 ⎤
Compute λ1 and φ1 , using tol = 10 . -6 ⎢ −1 2 −1 0 ⎥ ⎢ 2 ⎥
K=⎢ ⎥ M= ⎢ ⎥
⎢ 0 − 1 2 − 1⎥ ⎢ 0 ⎥
⎢ ⎥ ⎢ ⎥
⎣ 0 0 −1 1 ⎦ ⎣ 1⎦
Solution:
⎡1⎤ ⎡0 ⎤ ⎡3⎤ ⎡0⎤
⎢1⎥ ⎢ ⎥ ⎢6⎥ ⎢12 ⎥
Start iteration with x1 = ⎢ ⎥ . For k = 1: y 1 = ⎢2⎥ ; x2 = ⎢ ⎥; y2 = ⎢ ⎥
⎢1⎥ ⎢0 ⎥ ⎢7⎥ ⎢0⎥
⎢⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣1⎦ ⎣1 ⎦ ⎣8⎦ ⎣8⎦

3-7
⎡ 0.0 ⎤
x y1T ⎢1.02899 ⎥
ρ2 = = 0.1470588 ; y2 = ⎢ ⎥
2
… next iteration
x T2 y 2 ⎢ 0.0 ⎥
⎢ ⎥
⎣0.68599⎦

x k +1 y k +1 ρ k +1 Convergence
k yk
Check
1 3 0 0.1470588 - 0
6 12 1.02899
7 0 0
8 8 0.68599
2 1.71499 0 0.1464646 0.0040567 0
3.42997 6.85994 1.00504
4.11597 0 0
4.80196 4.80196 0.70353
3 1.70856 0 0.1464471 0.0001195 0
3.41713 6.83426 1.00087
4.12066 0 0
4.82429 4.82418 0.70649
4 1.70736 0 0.1464466 0.0000035 0
3.41472 6.82944 1.00015
4.12121 0 0
4.82771 4.82771 0.70700
5 1.70715 0 0.1464466 0.0000001 < tol 0
3.41430 6.82860 1.00003
4.12130 0 0
4.82830 4.82830 0.70709
⎡ 0.25001 ⎤
⎢ 0.50001 ⎥
After 5 iterations, we have λ 1 ≈ ρ 6 = 0.1464466 and normalized φ 1 = ⎢ ⎥
⎢ 0.60355 ⎥
⎢ ⎥
⎣ 0.70709 ⎦
| λ exact −ρ6 |
Exact λ 1 = 12 − 4
2
= 0.1464466094 Relative error = 1
= 3 . 14 * 10 − 9
λ exact
1

3-8
2. Forward Iteration Method
Suitable for finding the highest mode (with largest | λ | )
Aim: To solve K φ = λ M φ
Idea: Try x k for φ and substitute this into the LHS. Get a new iteration vector for φ
from the RHS, and call it x k +1 . Absorb λ in the new iteration vector called
x k +1 (= λ x k +1 ) . Thus,

M x k +1 = K x k (38)
The algorithm is similar to the inverse iteration method. Just swap M and K in the
equations of Steps (A) and (B).
A similar proof will show that, as k increases, x k +1 approaches φ n in shape and Rayleigh
quotient ρ k +1 → λ n .

Question: How do we get eigen solutions other than the first mode and last mode?

3. Inverse Iteration with Shifting


Consider a “shifted” eigen-problem: K s φˆ = η M φˆ (39)
where a shifted matrix is defined as K s = K −μ M
shift

The eigen value is called η . This looks like a different eigen-problem from what we
want to solve, i.e.
Kφ=λMφ (40)
But they are closely related because (39) can be re-arranged as
K φˆ = (η + μ ) M φˆ (41)
Comparing (40) and (41), it can be seen that the eigenvalues are simply related by the
shift introduced:
η = λ−μ (42)
and the eigenvectors are the same, i.e. φˆ = φ . We shall write it as φ .
If we solve (39) by inverse iteration, the convergence will be towards the smallest
eigenvalue of the shifted eigen-problem. That is, Say, j-th mode

Rayleigh quotient converges to smallest | η | = min | λ i − μ | = λ j nearest μ .


i = all

Solution vector x k +1 converges to the corresponding eigenvector in shape.

3-9
Pn ( λ ) = det [K − λ M ] Inverse iteration with shift will converge
to λ 4 which is nearest μ , provided that
the starting vector contains the 4-th mode.

λ1 λ 2 λ3 λ4 λ5
λ
0

Shift μ

If the solution converges to the j-th mode, the convergence rate depends on the ratio of
λ j − μ to λ k − μ where λ k is the next nearest eigenvalue to μ .

Example 3.2 Use inverse iteration (a) without shift and (b) with shift of 10. Tol = 10-6.
⎡ 5 −4 1 0 ⎤ ⎡2 ⎤ ⎡1⎤
⎢− 4 6 − 4 1 ⎥ ⎢ 2 ⎥ ⎢1⎥
K=⎢ ⎥; M= ⎢ ⎥; x1 = ⎢ ⎥
⎢ 1 − 4 6 − 4⎥ ⎢ 1 ⎥ ⎢1⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ 0 1 −4 5 ⎦ ⎣ 1⎦ ⎣1⎦
Solution:
(a) Use inverse iteration without shift on K φ = λ M φ with, after 3 iterations:
⎡0.3126 ⎤
⎢ 0.4955 ⎥
λ 1 ≈ 0.09654 ; φ1 ≈ ⎢ ⎥
⎢ 0.4791 ⎥
⎢ ⎥
⎣ 0.2898 ⎦
⎡ − 15 − 4 1 0 ⎤
⎢ − 4 − 14 − 4 1 ⎥
(b) Imposing a shift of μ = 10 , we have K − μM = ⎢ ⎥
⎢ 1 − 4 − 4 − 4⎥
⎢ ⎥
⎣ 0 1 − 4 − 5⎦

Using inverse iteration on [K − μM ] φ = η M φ , we obtain after 6 iterations:


Rayleigh quotient = 0.6385 which approximates smallest η .
⎡ − 0.1076 ⎤
⎢ 0.2556 ⎥
λ j ≈ 10.6385 ; φj ≈ ⎢ ⎥
⎢ − 0.7283 ⎥
⎢ ⎥
⎣ 0.5620 ⎦

3-10
The above solution is an approximation to an eigenvalue nearest the shift and the
corresponding eigenvector. But how do we know which mode this is?

K s ( = K − μM ) can be decomposed into LU by Guass elimination method. Since we


consider symmetric K and M, LU factorization can also become LDLT factorization.
It can be proven that
# of negative elements in D = # of eigenvalues smaller than μ .
This can help us determine the mode of the eigenvalue computed, or to estimate the shift
required to determine a specific eigen mode.

4. Gram-Schmidt Orthogonalization -- Another way of finding “the others”.

Idea: As mentioned before in the inverse iteration method, if the iteration vector is
“deficient” in (i.e. does not contain) the first eigenvector, the solution will not converge
to the first mode in theory (similarly for inverse iteration with shift and forward
iteration).
Question: Can we do something to prevent convergence to the “unwanted” mode(s)?

For example, we have already obtained a specific eigen-pair for the p-th mode,
i.e. (λ p , φ p ) . We now want to look for another eigen-pair.

Recall that the starting iteration vector (any vector, for that matter) can be expressed as a
linear combination of all eigenvectors.
n
x1 = ∑ α i φ i (43)
i =1

Pre-multiplying both sides by φ Tp M gives


n
φ Tp M x1 = ∑ φ Tp M α i φ i (44)
i =1

By M-orthogonality, all terms except i = p in the RHS vanish. Thus,


φ Tp M x1
αp = (45)
φ Tp M φ p

We can remove this particular mode (p) from the iteration vector by defining a new
iteration vector as follows
~
x1 = x1 − α p φ p (46)

Similarly, if we have already obtained several modes, say from mode 1 to mode m, we
can eliminate all these modes from the iteration vector by using

3-11
m
~
x1 = x1 − ∑ α p φ p (47)
p =1

where α p is computed based on (45) for p = 1, 2 , ..., m . We make the iteration vector
M-orthogonal to the unwanted modes – this procedure is known as Gram-Schmidt
orthogonalization (GSO).
Now if we start with iteration vector ~ x1 (with modes 1 to p removed as in Eq. 47), the
inverse iteration method will converge to the next available mode, i.e. mode p+1. This is
provided, of course, that the iteration vector is not accidentally deficient in mode p+1.

Mathematically, it is sufficient to do GSO just once for the starting iteration vector (k=1
only). But numerically it may be necessary to do GSO for every iteration or at regular
intervals to “purify” the iteration vector, i.e. to eliminate any unwanted mode that may
return due to round off errors (albeit at a higher computational cost).

Example 3.3
Consider
⎡ 5 −4 1 0 ⎤ ⎡2 ⎤ ⎡1⎤
⎢− 4 6 − 4 1 ⎥ ⎢ 2 ⎥ ⎢1⎥
K=⎢ ⎥ M=⎢ ⎥ x1 = ⎢ ⎥
⎢ 1 − 4 6 − 4⎥ ⎢ 1 ⎥ ⎢1⎥
⎢ ⎥ ⎢ ⎥ ⎢⎥
⎣ 0 1 −4 5 ⎦ ⎣ 1⎦ ⎣1⎦
The eigen-pairs for the first and last modes have been obtained:
⎛ ⎡ 0.3126 ⎤ ⎞ ⎛ ⎡ − 0.1076 ⎤ ⎞
⎜ ⎢ 0.4955 ⎥ ⎟ ⎜ ⎟
⎜ ⎟ ⎢ 0.2556 ⎥
⎜ ⎟
( λ 1 , φ 1 ) = ⎜ 0.09654 , ⎢ ⎥
⎟ and ( λ 4 , φ 4 ) = ⎜ 10.6385 , ⎢ ⎥

⎢ 0.4791 ⎥ ⎢ − 0.7283 ⎥
⎜ ⎢ ⎥ ⎟ ⎜ ⎢ ⎥ ⎟
⎜ ⎟ ⎜ ⎟
⎝ ⎣ 0.2898 ⎦ ⎠ ⎝ ⎣ 0.5620 ⎦ ⎠
Using Gram-Schmidt Orthogonalization, compute an appropriate starting iteration vector
to be deficient in the first and last modes.
Solution:
⎡1⎤
⎢1⎥
Let ~
x1 = ⎢ ⎥ − α 1φ 1 − α 4 φ 4
⎢1⎥
⎢ ⎥
⎣1⎦
(45) gives α 1 = 2.385; α 4 = 0.1299 .

3-12
⎡ 0.2683 ⎤
⎢ − 0.2149 ⎥
Thus, ~
x1 = ⎢ ⎥ -- this can be used in the inverse (or forward) iteration.
⎢− 0.04812⎥
⎢ ⎥
⎣ 0.2358 ⎦
Plot of characteristic polynomial: Pn ( λ ) = det [K − λ M ] versus λ

1000 60
750
40
500
250 20
0 0
-250 0 2 4 6 8 10 12 -20 0 1 2 3 4 5
-500
-750 -40
-1000 -60

(Zoom in for λ = 0 to 5)

5. Subspace Iteration -- to get many eigen-pairs simultaneously

Idea: Is it possible to use multiple starting iteration vectors in the inverse iteration?
E.g. Use three starting iteration vectors: X1 = [ u1 v1 w 1 ] (48)
Substitute into the RHS and solve
K X k +1 = M X k (49)
If we follow the algorithm of inverse iteration, the outcome is that all the three iteration
vectors will converge to the first mode (unless some of the starting iteration vectors are
already deficient in φ 1 ).
Hence, it is necessary to enforce GSO such that the iteration vectors are orthogonal to one
another and will not converge to the same modes. Better still, they should be M-
normalized (to help control the magnitudes). That is, new iteration vectors should satisfy
X Tk +1 M X k +1 = I (50)

We have to somehow convert the solution to (49), i.e. X k +1 = [ u k +1 v k +1 w k +1 ] , to


another solution X k +1 = [ u k +1 v k +1 w k +1 ] which would satisfy (50).

[
The first vector is easy – just normalize it: u k +1 = β 1 u k +1 where β 1 = u kT+1 M u k +1 ] −1 / 2

3-13
The second vector has to be made orthogonal to the first vector:

~ u kT+1 M v Tk +1
v k +1 = v k +1 − α 12 u k +1 where α 12 =
u kT+1 M u k +1
This is similar to (45) except that the solution vector is used in place of the eigenvector
(which is not available yet but hopefully the solution vector will converge to it).

Normalize: v k +1 = β 2 ~
v k +1 where β 2 = ~
v Tk +1 M ~ [
v k +1 ] −1 / 2

The third vector has to be made orthogonal to the first and second vectors:
~
w = w −α u −α v where α and α are obtained similarly by GSO.
k +1 k +1 13 k +1 23 k +1 13 23

~
Normalize: w k +1 = β 3 w ~T ~ [
k +1 where β 3 = w k +1 M w k +1 ] −1 / 2

Combined:
⎡β1 − β 2 α 12 − β 3 α 13 ⎤
X k +1 = X k +1 R k +1 where R k +1 = ⎢⎢ 0 β2 − β 3 α 23 ⎥⎥
⎢⎣ 0 0 β 3 ⎥⎦

Then proceed back to (50) for next iteration. When converged, the iteration vectors will
converge to the first three modes (unless the starting iteration vectors are deficient in the
corresponding modes). The respective eigenvalues are obtained by the Rayleigh
quotients (see Eq. 35).

Other eigen solution methods:


Transformation methods – Jacobi Method, Hourseholder-QR Method
Lanczos Iteration Method
(Ref. K-J Bathe, “Finite Element Procedures” 1996)

3-14

You might also like