An n-dimensional vector x is called an eigenvector of a square n x n
matrix A if and only if it satisfies the linear equation
Here λ is a scalar, and is refered to as eigenvalue corresponding to x.
The above equation is usually called the eigenvalue equation or the eigenvalue problem.
A typical vector x changes direction when acted on by a matrix A,
so that Ax is not a multiple of x
Eigenvalues problems that originate in engineering often end up with a symmetric or Hermitian matrix.
Notes on Jacobi Algorithm
This algorithm uses orthogonal transformations to reduce the matrix to a diagonal form. It is used to compute all eigenvalues
and eigenvectors of a real symmetric matrix. This method is usually used for smaller matrices because its computational intensity
increases very rapidly with the size of the matrix. For matrices of order up to 10 x 10, the Jacobi method is competitive
with more sophisticated methods.
The advantage of this method is its robustness; when the Jacobi method is used, the solution is usually guaranteed for all
real symmetric matrices.
Running this set up produces the results shown above.
The best way to show how our Jacobi 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 Jacobi Method
In order to test the Jacobi method as defined above, a new TestJacobi()
static method has been added and executed. Supporting code and methods are not shown.
►
|
static void TestJacobi();
{
ListBox1.Items.Clear();
ListBox2.Items.Clear();
double[] x;
MatrixR A = new MatrixR(new double[,] { { t1, t2, t3 }, { t4, t5, t6 },
{ t7, t8, t9 } });
VectorR lambda;
Eigenvalue.Jacobi(A, 1e-5, out x, out lambda);
ListBox1.Items.Add(" " + lambda);
ListBox2.Items.Add(" " + x);
}
|
|