﻿SquareMatrix.Eigensystem Method

Computes the eigenvalues and eigenvectors of the matrix.

Namespace:  Meta.Numerics.Matrices
Assembly:  Meta.Numerics (in Meta.Numerics.dll) Version: 4.0.5.0 (4.0.5.0)
Syntax
public ComplexEigensystem Eigensystem()

#### Return Value

Type: ComplexEigensystem
A representation of the eigenvalues and eigenvectors of the matrix.
Remarks

For a generic vector v and matrix M, Mv = u will point in some direction with no particular relationship to v. The eigenvectors of a matrix M are vectors z that satisfy Mz = λz, i.e. multiplying an eigenvector by a matrix reproduces the same vector, up to a prortionality constant λ called the eigenvalue.

For v to be an eigenvector of M with eigenvalue λ, (M - λI)z = 0. But for a matrix to anihilate any non-zero vector, that matrix must have determinant, so det(M - λI)=0. For a matrix of order N, this is an equation for the roots of a polynomial of order N. Since an order-N polynomial always has exactly N roots, an order-N matrix always has exactly N eigenvalues.

Since a polynomial with real coefficients can still have complex roots, a real square matrix can nonetheless have complex eigenvalues (and correspondly complex eigenvectors). However, again like the complex roots of a real polynomial, such eigenvalues will always occurs in complex-conjugate pairs.

Although the eigenvalue polynomial ensures that an order-N matrix has N eigenvalues, it can occur that there are not N corresponding independent eigenvectors. A matrix with fewer eigenvectors than eigenvalues is called defective. Like singularity, defectiveness represents a delecate balance between the elements of a matrix that can typically be disturbed by just an infinitesimal perturbation of elements. Because of round-off-error, then, floating-point algorithms cannot reliably identify defective matrices. Instead, this method will return a full set of eigenvectors, but some eigenvectors, corresponding to very nearly equal eigenvalues, will be very nearly parallel.

While a generic square matrix can be defective, many subspecies of square matrices are guaranteed not to be. This includes Markov matrices, orthogonal matrices, and symmetric matrices.

Determining the eigenvalues and eigenvectors of a matrix is an O(N3) operation. If you need only the eigenvalues of a matrix, the Eigenvalues method is more efficient.