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

lec19_Eigenproblem

The document discusses the power method for finding the largest eigenvalue and corresponding eigenvector of a matrix, which is crucial in numerical mathematics and applications such as quantum mechanics. It outlines the iterative process of the power method, including the formulation of the algorithm and an example demonstrating its application. Additionally, it suggests an exercise to modify the provided code for a 4x4 matrix using specific Fortran 90 functions.

Uploaded by

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

lec19_Eigenproblem

The document discusses the power method for finding the largest eigenvalue and corresponding eigenvector of a matrix, which is crucial in numerical mathematics and applications such as quantum mechanics. It outlines the iterative process of the power method, including the formulation of the algorithm and an example demonstrating its application. Additionally, it suggests an exercise to modify the provided code for a 4x4 matrix using specific Fortran 90 functions.

Uploaded by

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

Power Method for Eigenvalues

Dr. Vincent Mathew

Central University of Kerala

1
Introduction

• Finding eigenvalues and eigenvectors of matrices is one of the


most important tasks in numerical mathematics.
• In physics, the whole of computations in quantum mechanics
depends on the procedure of finding eigenvalues and
eigenvectors.
• There are a large body of methods and algorithms devoted for
this aspect, and packages like Matlab are heavily oriented to this
direction.
• We consider one important method, the power method, which
determines the largest eigenvalue and corresponding eigenvector
of a matrix.
• This is useful in many cases, especially if we are interested in the
ground state energy and wavefunctions.

2
The Problem

Consider the system


Ax = λx

Let λ 1, λ 2 . . . , λ n be the eigenvalues of the matrix and

| λ 1 |>| λ 2 |≥ · · · ≥| λ n |

and v1, v2, . . . , vn be the corresponding eigenvectors.

(Here, λ 1 is the largest or ‘dominant’ eigenvalue, to be determined.)

3
Eigenvector space

Let v be any eigenvector. Since the set of eigenvectors vi is complete,


any vector xcan be represented as a linear combination of the elements
of this set {vi }. Thus,
x = c1 v1 + c2 v2 + · · · + cn vn (c1 , 1)

Since there is nothing against absorbing the coefficients into the basis
vectors this can be written as
x = v1 + v2 + · · · + vn → x(0)

Starting an iteration,
x(1) = Ax(0)
x(2) = Ax(1) = A2 x(0)
..
.
x(k) = Ak x(0) 4
.
Substituting the expression for x(0) , gives
x(k) = Ak x(0)

= λ 1k v1 + λ 2k v2 + · · · + λ kn vn
  k  k 
= λ 1k v1 + λλ21 v2 + · · · + cn λλn1 vn

Since λ 1 is the dominant, (λ j /λ 1 ) k → 0 as k → ∞ for any j > 1.


This may be written as
f g
x(k) = λ 1k v1 +  (k) ,  (k) → 0 as k → ∞

If φ is a linear functional,
  f  g
φ x(k) = λ 1k φ (v1 ) + φ  (k)

(The functional can be an element of the vector such as x 2 )


5
Now form ratios such as,

φ (x (k+1) ) φ(v1 )+φ ( (k+1) )


 
rk = φ (x (k ) )
= λ1 φ(v1 )+φ ( (k ) )

r k → λ 1 and x(k) → v1 as k → ∞

This procedure gives a method for calculating the dominant


eigenvalue and corresponding eigenvector in an iterative manner,
starting from some x(0) .
Further, the procedure can be improved by normalizing the vector x in
each iteration, by dividing the elements by the value of element with
largest modulus.

6
Algorithm: Power Method

integer :: k, kmax, n
real :: r
real array :: An×n , x 1×n , y1×n
external function :: φ
output :: 0, x
for k = 1 to kmax do
y← Ax
r← φ(y)/φ(x)
x← y/||y||∞
output k, x, r
end do

7
Example

Consider the example with matrix: A= 1,1, -1; 2, 3, 5; 3, 2, 3, with


initial vector x(0) = (1, 0, 1)T
Let us take the functional as φ(x) → x 2
Output: Dominant eigenvalue = 6.3790021
Eigenvector = (0.0650968, 1.0000000, 0.6497049)
Exercise
• Study accompanying code ’power1.f90’. Run the code for a case
of 4 × 4 matrix.
• Modify this code, by using the Fortran 90 specific library
functions ’MATMUL’, ’MAXVAL’ and ’ABS’.

You might also like