HOME ›  AREAS OF EXPERTISE ›   Multiple Eigenvalue  ›  ~ Eigenvalue Power

 "Eigenvalue Solutions" Power Method
 λ = 13.9349
 x = (0.559452150445008, 0.350340746879144, 0.751182169941898)

 Matrix A = { { , , }, { , , }, { , , } } [ Initial Values: {4,3,6},{3,7,1},{6,1,9} ]

IMPLEMENTATION
Power Method

The power iteration is an eigenvalue algorithm. For any given real symmetric matrix A, the algorithm will generate an eigenvalue λ and a non zero eigenvector x, such that,

 Ax = λ

The power iteration is probably the simplest method for finding the eigenvalue and eigenvector of a real symmetric matrix. However, it will find only a single eigenvalue (the one with the largest absolute value) and it may converge slowly.

Algorithm Creation

Suppose A is an [n x n] real symmetric matrix and v0 is any vector of length n.

We perform the following operations: (v-vector, A-matrix)

• Multiply v0 by A.

• Normalize the new vector Av0 to unit length.

• Repeat the above process.

The above operations generate a series of vectors, v0, v1, v2,... . It turns out that these vectors converge to the eigenvector that corresponds to the eigenvalue with the largest absolute. The proof to confirm this theory is not shown.

The Power method is a method for finding the largest eigenvalue (in absolute value) and the corresponding eigenvector.

Running this set up produces the results shown above.

We believe the best way to show how our Power algorithm works is by running real-time and showing results ready to compare. The reader can try variations above by entering new values.

Testing the Eigenvalue Power Method

In order to test the Power method as defined above, a new TestPower() static method has been added and executed. Supporting code and methods are not shown.

 ► static void TestPower();               {                  ListBox1.Items.Clear();                  ListBox2.Items.Clear();                  double[] x;                  MatrixR A = new MatrixR(new double[,] { { t1, t2, t3 }, { t4, t5, t6 },                   { t7, t8, t9 } });                  VectorR x;                  double lambda;                  Eigenvalue.Power(A, 1e-5, out x, out lambda);                  ListBox1.Items.Add(" " + lambda);                  ListBox2.Items.Add(" " + x);               }

 Other Implementations...

 Object-Oriented Implementation Graphics and Animation Sample Applications Ore Extraction Optimization Vectors and Matrices Complex Numbers and Functions Ordinary Differential Equations - Euler Method Ordinary Differential Equations 2nd-Order Runge-Kutta Ordinary Differential Equations 4th-Order Runge-Kutta Higher Order Differential Equations Nonlinear Systems Numerical Integration Numerical Differentiation Function Evaluation

Math, Analysis,
expertise..."

EIGENVALUE
SOLUTIONS...

> Rayleigh-Quotient Method

> Cubic Spline Method

 Applied Mathematical Algorithms
 ComplexFunctions NonLinear Differentiation Integration
 About Us KMP Software Engineering is an independent multidisciplinary engineering consulting company specializing in mathematical algorithms. Areas of Expertise SpecialFunctions VectorsMatrices OptimizationMethods ComplexNumbers Interpolation CurveFitting NonLinearSystems LinearEquations DistributionFunctions NumericalDifferentiation NumericalIntegration DifferentialEquations Smalltalk FiniteBoundary Eigenvalue Graphics UnderstandingMining MiningMastery MineralNews MineralCommodities MineralForum Crystallography Services NumericalModeling WebServices MainframeServices OutsourceServices LINKED IN KMP ARTICLES Brand Login Contact