Home Login  |   Contact  |   About Us       Thursday, November 28, 2024   

j0110924 - Back to Home
   Skip Navigation LinksHOME ›  AREAS OF EXPERTISE  #3 ›   Multiple Eigenvalue  ›  ~ Eigenvalue Rayleigh



Skip Navigation Links.



"Eigenvalue Solutions"
Rayleigh-Quotient Method
Results for an initial vector filled with random numbers:
λ =
x =
Results for an initial vector generated from the Rayleigh-Quotient method:
λ =
x =

Matrix A = { { , , }, { , , }, { , , } }



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

IMPLEMENTATION
Rayleigh-Quotient Method

The Rayleigh-Quotient method is a variant of the Inverse Iteration Method, (please refer to "Eigenvalue Inverse Iteration Method") for computing one of the eigenvalues and the corresponding eigenvector. This method changes the shift in each iteration, so it does not necessarily find the dominant eigenvalue.

Algorithm

For a given symmetric matrix A and nonzero vector v, the Rayleigh quotient is defined as:

R(A,v) = vTAv / vTv

where vT is the transpose of v. Also, R(A,cv) = R(A,v) for any scalar constant c.

The Rayleigh quotient reaches its smallest eigenvalue of A,λmin when v is the xmin (the corresponding eigenvector). Similarly,

R(A,v) <= λmax    and    R(A,xmax) = λmax

In order to use the Rayleigh-Quotient method to compute the eigenvalue and the corresponding eigenvector, we followed the process below:

  • For a given n x n symmetric A and an initial vector x0 normalize x0.

  • Calculate the quantity λ = x0T Ax0.

  • Solve the equation (A - λI)x = x0 for x.

  • Set x0 = x.

  • Repeat the above steps until the relative change in λ is less than the tolerance.

In addition to the matrix A and the tolerance, this method also takes as input an integer flag parameter. This flag parameter takes two values, 1 and 2, corresponding to the case that the initial vector is filled with random numbers and the case that initial vector and eigenvalue are approximate solutions.

Running this set up produces the results shown above.

The reader can try variations by entering new values to Matrix A.

Testing the Rayleigh-Quotient Method

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

           static void Rayleigh-Quotient();
              {
                 ListBox1.Items.Clear();
                 ListBox2.Items.Clear();
                 Label5.Text = "";
                 MatrixR A = new MatrixR(new double[,] { { t1, t2, t3 }, { t4, t5, t6 },
                  { t7, t8, t9 } });
                 VectorR x;
                 double lambda;
                 Eigenvalue.RayleighQuotient(A, 1e-8, 1, out x, out lambda);
                 ListBox1.Items.Add(" " + lambda);
                 ListBox1.Items.Add(" " + x);
                 x = new VectorR(3);
                 lambda = 0.0;
                 Eigenvalue.RayleighQuotient(A, 1e-8, 2, out x, out lambda);
                 ListBox2.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

   Quotes

Consulting Services - Back to Home


Home

Home Math, Analysis,
  expertise..."

EIGENVALUE
SOLUTIONS...


> Rayleigh-Quotient Method

> Cubic Spline Method

 

Applied Mathematical Algorithms

Home

ComplexFunctions

Home

NonLinear
Home

Differentiation
Home

Integration
About Us


KMP Software Engineering is an independent multidisciplinary engineering consulting company specializing in mathematical algorithms.

      (About Us) →
Areas of
Expertise


SpecialFunctions
VectorsMatrices
OptimizationMethods
ComplexNumbers
Interpolation
CurveFitting
NonLinearSystems
LinearEquations
DistributionFunctions
NumericalDifferentiation
NumericalIntegration
DifferentialEquations
Smalltalk
FiniteBoundary
Eigenvalue
Graphics
Understanding
Mining


MiningMastery
MineralNews
MineralCommodities
MineralForum
Crystallography
Services


NumericalModeling
WebServices
MainframeServices
OutsourceServices

LINKED IN
MINE REVIEW(by G.Pacheco)
Brand





Home

Login

Contact
Since 2006 All Rights Reserved  © KMP Software Engineering LINKS | PRIVACY POLICY | LEGAL NOTICE