However, a poorly designed algorithm may produce significantly worse results.
Some algorithms produce every eigenvalue, others will produce a few, or only one.
However, even the latter algorithms can be used to find all eigenvalues.
However, the problem of finding the roots of a polynomial can be very ill-conditioned.
Thus eigenvalue algorithms that work by finding the roots of the characteristic polynomial can be ill-conditioned even when the problem is not. For general matrices, the operator norm is often difficult to calculate.
While there is no simple algorithm to directly calculate eigenvalues for general matrices, there are numerous special classes of matrices where eigenvalues can be directly calculated.
These include: Since the determinant of a triangular matrix is the product of its diagonal entries, if T is triangular, then , respectively. So the algebraic multiplicity is the multiplicity of the eigenvalue as a zero of the characteristic polynomial.Since any eigenvector is also a generalized eigenvector, the geometric multiplicity is less than or equal to the algebraic multiplicity.When eigenvalues are not isolated, the best that can be hoped for is to identify the span of all eigenvectors of nearby eigenvalues.Any monic polynomial is the characteristic polynomial of its companion matrix.The algebraic multiplicities sum up to It is possible for a real or complex matrix to have all real eigenvalues without being hermitian.For example, a real triangular matrix has its eigenvalues along its diagonal, but in general is not symmetric.Therefore, a general algorithm for finding eigenvalues could also be used to find the roots of polynomials.The Abel–Ruffini theorem shows that any such algorithm for dimensions greater than 4 must either be infinite, or involve functions of greater complexity than elementary arithmetic operations and fractional powers.Hessenberg and tridiagonal matrices are the starting points for many eigenvalue algorithms because the zero entries reduce the complexity of the problem.Several methods are commonly used to convert a general matrix into a Hessenberg matrix with the same eigenvalues.