Eigenvalues
Mathematics (Seminar)
Professor : [Link]
Alireza Mohammad jafari
Student ID:8519415105
Eigenvalue Problems
Engineering Problems involving vibrations,
elasticity, oscillating systems, etc.,
Determine the eigenvalues for n homogenous linear
equations in n unknowns
[ A]{ x } { x }
Non-homogeneous system
[ A] [ I ]{ x} {0}
: eigenvalue;
homogeneous system
x : eigenvector
Mathematical Background
A I x
a11
a
21
a22
a31
a32
an 1
an 2
a12
For nontrivial solutions ==>
a1 n x 1
0
0
a23
a2 n x 2
a33
a3 n x 3 0
0
0
an 3
ann x n
a13
det( A I ) 0
Characteristic polynomial: det( ) = fn( )
( 1 ) N N C N 1 N 1 C N 2 N 2 C 2 2 C 1 C 0 0
The root of fn( ) = 0 are the solutions for the eigenvalues
Mass-Spring System
Equilibrium positions
d 2 x1
kx 1 k ( x 2 x 1 )
m1
2
dt
2
m d x 2 k ( x x ) kx
2
1
2
2 dt 2
Mass-Spring System
2
let x 1 X 1 sin t , x 2 X 2 sin t ;
Tp
d 2 x1
m1 dt 2 k ( 2 x 2 x 1 ) 0
2
m d x2 k( x 2 x ) 0
2
1
2
dt 2
2k
k
2
X 1
X2 0
m1
m1
2k
k
X 1
2 X 2 0
m2
m2
Homogeneous system
2 k / m1 2
k / m2
k / m2
2 k / m2 2
X1
0
0
X2
Find the eigenvalues from det[ ] = 0
Polynomial Method
m1 = m2 = 40 kg, k = 200 N/m
Characteristic equation det[ ] = 0
( 2 k / m1 2 )
k / m2
10 2
2
k / m2
( 2 k / m2 )
5
5
10 2
4 20 2 75 0 ( 2 15 )( 2 5 ) 0
Two eigenvalues = 3.873s1 or 2.236 s 1
Period Tp = 2/ = 1.62 s or 2.81 s
Principal Modes of Vibration
Tp = 1.62 s
X1 = X2
Tp = 2.81 s
X 1 = X2
Buckling of Column
Axially loaded column
Buckling modes
M bending moment
E modulus of elasticity
I moment of inertia
d2y M
2
EI
dx
M Py
d2y
P
2
p
y
2
EI
dx
y ( 0 ) y( L ) 0
Curvature:
d2y
dx 2
Buckling of Axially Loaded Column
d2y
2
p
y ; y( 0 ) y( L ) 0
2
dx
Eigenvalue problem
y A sin px B cos px
Buckling loads
y( 0 ) B 0
pL n , n 1, 2,
y( L) A sin pL 0
n 2 2 EI
P p EI
L2
2
Fundamental mode: n = 1
2 EI
Pcritical
L2
Euler formula
Buckling
Modes
n
L
2 2
n
EI
2
P p EI
L2
p
Polynomial Method
ODE
d2y M
2
p
y ; y( 0 ) y( L ) 0
2
EI
dx
Finite-difference method
yi 1 2 yi yi 1
2
2 2
p
y
(
2
h
p ) yi yi 1 0
i
i 1
2
hi
2 h2 p 2
1
2 h2 p 2
1
0
0
0
1
2 h2 p 2
1
0
1
0
2 h 2 p 2
y1
0
y
0
2
y3 0
0
yn
Which
Scheme?
Order of
Errors?
th-order polynomial
Characteristic
equation:
2 2 (2n)
n
det ( 2 h p ) 0
Polynomial Method
One interior node (h = L/2)
L
2 2 2
( 2 h2 p 2 ) y1 0 p
( a 10 %)
h
L
pexact
Two interior nodes (h = L/3)
2 h2 p 2
2
pexact ,
L L
0
1 y1
2 2 2
(
2
h
p ) 10
2 2
2 h p y2
0
ph 1, 3 p
3 3 3
,
( a 4.5 %, 17.3 %)
L
L
Polynomial Method
Three interior nodes (h = L/4)
2 h2 p 2
1
0
2 3
pexact ,
,
L L L
y1
1
0
0
2 h2 p 2
1 y2 0
0
1
2 h 2 p 2 y3
( 2 h2 p 2 ) 3 2( 2 h2 p 2 ) 0
p
ph 2 , 2 2
4 2 2 4 2 4 2 2
,
,
( a 2.6 %, 10.0 %, 21.6 %)
L
L
L
Power Method
If is the eigenvalue of A, then
Ax x
A x A( Ax ) A( x ) Ax x
2
A 3 x A( A 2 x ) A( 2 x ) 2 Ax 3 x
A 4 x A( A 3 x ) A( 3 x ) 3 Ax 4 x
A m x m x
m : eigenvalue of A m ; x : eigenvector
Power Method
Power method for finding eigenvalues
1. Start with an initial guess for x
2. Calculate w = Ax
3. Largest value (magnitude) in w is the
estimate of eigenvalue
4. Get next x by rescaling w (to avoid the
computation of very large matrix An )
5. Continue until converged
Power method also gives you eigenvectors
Power Method
Start with initial guess z = x0
(k1 ) w k( 1 )
w ( 1 ) Az ( 1 )
z( 2 )
w ( 1 ) Az ( 1 )
(1) (1)
k
k
w ( 2 ) Az ( 2 )
z
(3)
rescaling
(k2 ) w k( 2 )
w ( 2 ) Az ( 2 )
(2) (2)
k
k
k is the
dominant
eigenvalue
If 1 2 3 n , then
Power Method
1. Initial guess z (1) x0 1,1,...,1
normalize z by biggest wk
Calculate Az (2) w(2) z (3) ; normalize z by biggest wk
2. Calculate Az (1) w(1) z (2) ;
3.
M
... Calculate Az ( k ) w( k ) z ( k 1)
For large number of iterations, should
converge to the largest eigenvalue
The normalization make the right hand side
converges to , rather than n
Example: Power Method
Consider
Start with
Az ( 1 )
2 8 10
A 8 3 4
10 4 7
1
(1)
z x 0 1
1
Assume all eigenvalues
are equally important,
since we dont know
which one is dominant
2 8 10 1
20
0.9524
8 3 4 1 15 21 0.7143
21
10 4 7 1
1
.
0
eigenvalue eigenvector
Example
Current estimate for largest eigenvalue is 21
Rescale w by eigenvalue to get new x
20
0.9524
w
1
x
15 0.7143
max(abs( w )) 21
21
1
.
0
Check Convergence (Norm < tol?)
2 8 10
Ax x 8 3 4
10 4 7
0.9524
0.9524
2.3812
0.7143 21 * 0.7143 1.2382
1.0
1.0
1.6188
Norm
Ax x ( 2.3812 ) 2 ( 1.2382 ) 2 ( 1.6188 ) 2 3.1343
Update the estimated eigenvector and repeat
Az ( 2 )
2 8 10 0.9524
17.619
8 3 4 0.7143 13.762
19.381
10 4 7
1.0
New estimate for largest eigenvalue is 19.381
Rescale w by eigenvalue to get new x
w
1
max(abs( w )) 19.381
2 8 10
Ax x 8 3 4
10 4 7
17.619
0.9091
13.762 0.7101
19.381
1
.
0
0.9091
0.9091
0.1203
0.7101 19.381 * 0.7101 0.3594
1.0
1.0
0.4496
Norm
Ax x ( 0.1203 ) 2 ( 0.3594 ) 2 ( 0.4496 ) 2 0.5880
Example
One more iteration
Az ( 3 )
2 8 10 0.9091
17.499
0.9243
8 3 4 0.7101 13.403 18.931 0.7080
18.931
10 4 7
1.0
1
.
0
2 8 10
Ax x 8 3 4
10 4 7
0.9243
0.9243
0.0147
0.7080 18.931 * 0.7080 0.1153
1.0
1.0
0.1440
Norm
Ax x ( 0.0147 ) 2 ( 0.1153 ) 2 ( 0.1440 ) 2 0.1851
Convergence criterion -- Norm (or relative error) < tol
Example: Power Method
Az ( 4 )
Az ( 5 )
Az ( 6 )
Az ( 7 )
2 8 10 0.9243
17.513
8 3 4 0.7080 13.519 19.075
19.075
10 4 7
1.0
2 8 10 0.9181
17.506
8 3 4 0.7087 13.471 19.016
19.016
10 4 7
1.0
2 8 10 0.9206
17.508
8 3 4 0.7084 13.490 19.040
19.040
10 4 7
1.0
2 8 10 0.9196
17.507
8 3 4 0.7085 13.482 19.030
19.030
10 4 7
1.0
0.9181
0.7087
1.0
0.9206
0.7084
1.0
0.9196
0.7085
1.0
0.9200
0.7085
1.0
Script file: Power_eig.m
Norm Ax x
MATLAB
Example:
Power
Method
A=[2 8 10; 8 3 4; 10 4 7]
A =
2
8
10
8
3
4
10
4
7
[z,m] = Power_eig(A,100,0.001);
it
m
z(1)
1.0000
21.0000
2.0000
19.3810
3.0000
18.9312
4.0000
19.0753
5.0000
19.0155
6.0000
19.0396
7.0000
19.0299
8.0000
19.0338
9.0000
19.0322
error =
8.3175e-004
z
z =
0.9199
0.7085
1.0000
m
m =
19.0322
x=eig(A)
x =
-7.7013
0.6686
19.0327
z(2)
z(3)
z(4)
0.9524
0.7143
0.9091
0.7101
0.9243
0.7080
0.9181
0.7087
0.9206
0.7084
0.9196
0.7085
0.9200
0.7085
0.9198
0.7085
0.9199
0.7085
eigenvector
eigenvalue
MATLAB function
z(5)
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
MATLABs Methods
e = eig(A)
gives eigenvalues of A
[V, D] = eig(A)
eigenvectors in V(:,k)
eigenvalues = Dii (diagonal matrix D)
[V, D] = eig(A, B) (more general eigenvalue
problems) (Ax = Bx)
AV = BVD
Inverse Power Method
Power method give the largest eigenvalue
Inverse Power method gives the smallest
*Eigenvalues of B = A-1 are inverse of eigenvalues
of A (i.e., = 1/)
So one could use power method on w = Bx to get
largest eigenvalue of B - smallest of A
Calculating B is wasteful - instead use
1
w Bx A x
x Aw
Inverse Power Method
Basic power method gives the dominant eigenvalue
Inverse power method gives the smallest eigenvalue
Ax x ; B A 1
x A 1 Ax A 1 x A 1 x Bx
1
Bx A x x ;
1
1/
is the dominant eigenvalue for B A 1
dominant
smallest
Script file for Inverse Power Method
Use LU_factor and LU_solve
A=[2 8 10; 8 3 4; 10 4 7]
A =
2
8
10
8
3
4
10
4
7
max_it=100; tol=0.001;
[z,m] = InvPower(A,max_it,tol);
L =
1.0000
0
0
4.0000
1.0000
0
5.0000
1.2414
1.0000
U =
2.0000
8.0000
10.0000
0 -29.0000 -36.0000
0
0
1.6897
B =
2
8
10
8
3
4
10
4
7
[B] = [L][U]
A =
2
8
10
8
3
4
10
4
7
1.0000 12.7826 0.3000 1.0000 -0.5333
it =
1
2.0000 0.7123 0.1205 1.0000 -0.8013
it =
[L]
[U]
3.0000
0.6687
0.1167
1.0000 -0.8152
4.0000
0.6686
0.1163
1.0000 -0.8155
it =
it =
z
z =
0.1163
1.0000
-0.8155
m
=
0.6686
x=eig(A)
=
-7.7013
0.6686
19.0327
eigenvector
eigenvalue
MATLAB
function
Smallest
eigenvalue