 Login  |   Contact  |   About Us       Tuesday, May 17, 2022  ~ Eigenvalue Jacobi ~ Eigenvalue Power ~ Eigenvalue Inverse ~ Eigenvalue Rayleigh

 "Eigenvalue Solutions" Inverse Iteration Method
 λ = 6.59801
 x = (0.0256531270161096, 0.898531835554612, -0.438158028077947)

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

IMPLEMENTATION
Inverse Iteration Method

The inverse iteration is an iteration algorithm based on the Power Method, please refer to "Eigenvalue Power Method".

Algorithm

By definition, if λ is an eigenvalue of matrix A, then 1/λ is an eigenvalue of A-1. This concept gave us the idea to create a method to compute the smallest eigenvalue of A.

Arrange eigenvalues of A-1 such that

 |λn-1| > |λn-1-1| >= |λ1-1|

Then apply the power method to A-1. It is possible to explicitly compute the inverse matrix of A, which is efficient because it has to be done only once. Alternatively, it is possible to solve,

 Axk+1 = x x

for xk+1 by using an efficient algebra solver such as LU factorization, since it only has to be done once.

The power and the new inverse iteration methods only compute the eigenvalue with the largest or smallest absolute value, and its corresponding eigenvector. By employing the power and inverse method, it is actually possible to calculate the value closest to any number N.

Running this real-time set up produces the results shown above.

The reader can try variations by entering new values to Matrix A as well as setting new eigenvalue closest parameter values. Testing the Inverse Iteration Method

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

 ► static void TestInverse();               {                  ListBox1.Items.Clear();                  ListBox2.Items.Clear();                  MatrixR A = new MatrixR(new double[,] { { t1, t2, t3 }, { t4, t5, t6 },                   { t7, t8, t9 } });                  VectorR x;                  double lambda;                  Eigenvalue.Inverse(A, t10, 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