Matrix Eigenvalues and Eigenvectors

Calculating Eigenvalues and Eigenvectors

Initialization Steps: Define a 2×2 matrix and compute its eigensystem

mtemp=DiagonalMatrix[{2 Pi,4}];
mtemp//MatrixForm

msim=Transpose[RotationTransform[(π/4)][{{1,0},{0,1}}]].mtemp.RotationTransform[(π/4)][{{1,0},{0,1}}]

mymatrix = {{2+Pi,-2+Pi},{-2+Pi,2+Pi}};
mymatrix//MatrixForm

Solve the characteristic equation for the two eigenvalues:

Solve[Det[mymatrix - λ IdentityMatrix[2]]== 0,λ]

Compute the eigenvectors:

Eigenvectors[mymatrix]

{evec1, evec2} = Eigenvectors[mymatrix]

Eigensystem will solve for eigenvalues and corresponding eigenvectors in one step:

Eigensystem[mymatrix]

Note the output format above: the first item in the list is a list of the two eigenvalues; the second item in the list is a list of the two corresponding eigenvectors.  Thus,  the eigenvector corresponding  2 π is (1,1).

Coordinate Transformations; The Eigenbasis

simtrans= {evec2,evec1}//Transpose;
simtrans//MatrixForm

Inverse[simtrans].mymatrix.simtrans//Simplify//MatrixForm

Shows that the transformation to the diagonal basis is a rotation of π/4

Which makes sense considering in initialization steps that mymatrix was created with a rotation on π/4 of a diagonal matrix

The next command produces an orthonormal basis of the eigenspace (i.e., the eigenvectors are of unit magnitude):

Orthogonalize[Eigenvectors[mymatrix],Method->"GramSchmidt"]//MatrixForm

The command RotationTransform computes a matrix that will rotate vectors ccw about the origin in two dimensions, by a specified angle:

RotationTransform[(π/4)][{{1,0},{0,1}}]//MatrixForm

This last result shows that the transformation to the eigenvector space involves rotation by π/4--and that the matrix corresponding to the eigenvectors produces this same transformation

Here is a demonstration of the general result A (Subscript[(OverVector[x]), i]) = (Subscript[λ, i]) (Subscript[(OverVector[x]), i]), where (OverVector[x]) is an eigenvector and λ its corresponding eigenvalue:

evec1
evec2

mymatrix.evec1

mymatrix.evec2

MatrixPower multiplies a matrix by itself n times…

MatrixPower[mymatrix,12].evec2//Simplify