public ComplexEigendecomposition Eigendecomposition()
Public Function Eigendecomposition As ComplexEigendecomposition
public: ComplexEigendecomposition^ Eigendecomposition()
member Eigendecomposition : unit -> ComplexEigendecomposition
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 proportionality constant λ called the eigenvalue.
For v to be an eigenvector of M with eigenvalue λ, (M - λI)z = 0. But for a matrix to annihilate any non-zero vector, that matrix's determinant must vanish, 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 corresponding 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 delicate 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.