These quantities can have a geometric meaning and are also useful in matrix algebra, the geometric meaning is discussed on this page, it tells us something about the symmetry of a transform.
An eigenvector is a vector whose direction is not changed by the transform, it may be streached, but it still points in the same direction.
Each eigenvector has a corresponding eigenvalue which gives the scaling factor by which the transform scales the eigenvector. So the eigenvector is a vector and the eigenvalue is a scaler.
A given transform may have more than one eigenvector and eigenvalue pair depending on how many dimensions we are working in. For instance:
- If we are working in 2 dimensions there are upto 2 eigenvector and eigenvalue pairs.
- If we are working in 3 dimensions there are upto 3 eigenvector and eigenvalue pairs.
and so on.
As an example, if we have a rotation transform in 3 dimensions, then the eigenvector would be the axis of rotation since this is not altered by the transform and the corresponding eigenvalue would be +1 since the axis is not scaled by the rotation. If we have a rotation in 2 dimensions then the eigenvectors would be ±i where i is √-1 since all vectors in the plane change direction.
Eigenvalues
The eigenvalues of a matrix [M] are the values of λ such that:
[M] v = λ v
where:
- v = eigenvector
- λ = lambda = eigenvalue
this gives:
|M - λ I| = 0
where I = identity matrix
this gives:
|
= 0 |
so
(m00- λ) (m11- λ) (m22- λ) + m01 m12 m20 + m02 m10 m21 - (m00- λ) m12 m21 - m01 m10 (m22- λ) - m02 (m11- λ) m20 = 0
the values of λ are the eigenvalues of the matrix
Eigenvectors
Associated with each eigenvalue λi is an eigenvector {ui} such that:
[M] {ui} = λi {ui}
where:
- [M] is a matrix
- λi is its eigenvalues (i=1,2,3)
- {ui}is its eigenvectors
Program
There are a number of open source programs that can calculate eigenvalues and eigenvectors. I have used Axiom, how to install Axiom here.
To get a numeric solution for a given matrix, we can use eigenvalues(m) and eigenvectors(m) as shown here:
I have put user input in red:
(1) -> m := matrix[[1,4,7],[2,5,8],[3,6,9]]
+1 4 7+
| |
(1) |2 5 8|
| |
+3 6 9+
Type: Matrix Integer
(2) -> ev := eigenvalues(m)
2 (2) [0,%A | %A - 15%A - 18] Type: List Union(Fraction Polynomial Integer,SuchThat(Symbol, Polynomial Integer)) (3) -> eigenvectors(m)
(3)
+ 1 +
| |
[[eigval= 0,eigmult= 1,eigvec= [|- 2|]],
| |
+ 1 +
+%G - 12+
|-------|
| 6 |
2 | |
[eigval= (%G | %G - 15%G - 18),eigmult= 1,eigvec= [|%G - 6 |]]]
|------ |
| 12 |
| |
+ 1 +
Type: List Record(eigval: Union(Fraction Polynomial
Integer,SuchThat(Symbol,Polynomial Integer)),eigmult:
NonNegativeInteger,eigvec: List Matrix Fraction Polynomial Integer)
|
Or we can find a general formula for a given matrix as shown here:
(1) -> msymb := matrix[[a,b,c],[d,e,f],[g,h,i]] +a b c+
| |
(1) |d e f|
| |
+g h i+
Type: Matrix Polynomial Integer
(2) -> evsymb := eigenvalues(msymb) (2)
[
%B
|
2
((a - %B)e - b d - %B a + %B )i + ((- a + %B)f + c d)h
+
2 2 3
(b f - c e + %B c)g + (- %B a + %B )e + %B b d + %B a - %B
]
Type: List Union(Fraction Polynomial Integer,
SuchThat(Symbol,Polynomial Integer))
(3) -> eigenvectors(msymb) (3)
[
[
eigval =
%H
|
2
((a - %H)e - b d - %H a + %H )i + ((- a + %H)f + c d)h
+
2 2 3
(b f - c e + %H c)g + (- %H a + %H )e + %H b d + %H a - %H
,
eigmult= 1,
+ 2 2 +
| ((e - %H)h + b g)i - f h + (- c g - %H e + %H )h - %H b g |
| ---------------------------------------------------------- |
| 2 2 |
| d h + (- e + a)g h - b g |
| |
eigvec= [| 2 2 |]]
|(- d h + (- a + %H)g)i + (f g + %H d)h + c g + (%H a - %H )g|
|-------------------------------------------------------------|
| 2 2 |
| d h + (- e + a)g h - b g |
| |
+ 1 +
]
Type: List Record(eigval: Union(Fraction Polynomial Integer,
SuchThat(Symbol,Polynomial Integer))
,eigmult: NonNegativeInteger,eigvec:
List Matrix Fraction Polynomial Integer)
|

