org.ojalgo.matrix.decomposition
Interface Eigenvalue<N extends Number>

All Superinterfaces:
MatrixDecomposition<N>
All Known Implementing Classes:
EigenvalueDecomposition, JamaEigenvalue

public interface Eigenvalue<N extends Number>
extends MatrixDecomposition<N>

Calculates eigenvalues and eigenvectors (for square matrices).

For any square matrix [A] there are matrices [D] and [V] so that [A][V] = [V][D] where [D] contains the eigenvalues on the diagonal (possibly in blocks) and [V] has the eigenvectors as columns.

Author:
apete

Method Summary
 MatrixStore<N> getD()
          The only requirements on [D] are that it should contain the eigenvalues and that [A][V] = [V][D].
 ComplexNumber getDeterminant()
           A matrix' determinant is the product of its eigenvalues.
 Array1Dim<ComplexNumber> getEigenvalues()
           Even for real matrices the eigenvalues are potentially complex numbers.
 ComplexNumber getTrace()
          A matrix' trace is the sum of the diagonal elements.
 MatrixStore<N> getV()
          The columns of [V] represent the eigenvectors of [A] in the sense that [A][V] = [V][D].
 
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
compute, equals, equals, getInverse, invert, isComputed, isFullSize, isSolvable, reset, solve, solve
 

Method Detail

getD

MatrixStore<N> getD()
The only requirements on [D] are that it should contain the eigenvalues and that [A][V] = [V][D]. The ordering of the eigenvalues is not specified.

Returns:
The (block) diagonal eigenvalue matrix.

getDeterminant

ComplexNumber getDeterminant()

A matrix' determinant is the product of its eigenvalues.

Returns:
The matrix' determinant

getEigenvalues

Array1Dim<ComplexNumber> getEigenvalues()

Even for real matrices the eigenvalues are potentially complex numbers. Typically they need to be expressed as complex numbers when [A] is not symmetric.

The eigenvalues in this array should be ordered in descending order - largest (modulus) first.

Returns:
The eigenvalues in an ordered array.

getTrace

ComplexNumber getTrace()
A matrix' trace is the sum of the diagonal elements. It is also the sum of the eigenvalues. This method should return the sum of the eigenvalues.

Returns:
The matrix' trace

getV

MatrixStore<N> getV()
The columns of [V] represent the eigenvectors of [A] in the sense that [A][V] = [V][D].

Returns:
The eigenvector matrix.