org.apache.commons.math.linear

Interface EigenDecomposition

• All Known Implementing Classes:
EigenDecompositionImpl

public interface EigenDecomposition
An interface to classes that implement an algorithm to calculate the eigen decomposition of a real matrix.

The eigen decomposition of matrix A is a set of two matrices: V and D such that A = V × D × VT. A, V and D are all m × m matrices.

This interface is similar in spirit to the EigenvalueDecomposition class from the JAMA library, with the following changes:

Since:
2.0
MathWorld, Wikipedia
• Method Summary

All Methods
Modifier and Type Method and Description
RealMatrix getD()
Returns the block diagonal matrix D of the decomposition.
double getDeterminant()
Return the determinant of the matrix
RealVector getEigenvector(int i)
Returns a copy of the ith eigenvector of the original matrix.
double getImagEigenvalue(int i)
Returns the imaginary part of the ith eigenvalue of the original matrix.
double[] getImagEigenvalues()
Returns a copy of the imaginary parts of the eigenvalues of the original matrix.
double getRealEigenvalue(int i)
Returns the real part of the ith eigenvalue of the original matrix.
double[] getRealEigenvalues()
Returns a copy of the real parts of the eigenvalues of the original matrix.
DecompositionSolver getSolver()
Get a solver for finding the A × X = B solution in exact linear sense.
RealMatrix getV()
Returns the matrix V of the decomposition.
RealMatrix getVT()
Returns the transpose of the matrix V of the decomposition.
• Method Detail

• getV

RealMatrix getV()
Returns the matrix V of the decomposition.

V is an orthogonal matrix, i.e. its transpose is also its inverse.

The columns of V are the eigenvectors of the original matrix.

No assumption is made about the orientation of the system axes formed by the columns of V (e.g. in a 3-dimension space, V can form a left- or right-handed system).

Returns:
the V matrix
• getD

RealMatrix getD()
Returns the block diagonal matrix D of the decomposition.

D is a block diagonal matrix.

Real eigenvalues are on the diagonal while complex values are on 2x2 blocks { {real +imaginary}, {-imaginary, real} }.

Returns:
the D matrix
getRealEigenvalues(), getImagEigenvalues()
• getVT

RealMatrix getVT()
Returns the transpose of the matrix V of the decomposition.

V is an orthogonal matrix, i.e. its transpose is also its inverse.

The columns of V are the eigenvectors of the original matrix.

No assumption is made about the orientation of the system axes formed by the columns of V (e.g. in a 3-dimension space, V can form a left- or right-handed system).

Returns:
the transpose of the V matrix
• getRealEigenvalues

double[] getRealEigenvalues()
Returns a copy of the real parts of the eigenvalues of the original matrix.
Returns:
a copy of the real parts of the eigenvalues of the original matrix
getD(), getRealEigenvalue(int), getImagEigenvalues()
• getRealEigenvalue

double getRealEigenvalue(int i)
Returns the real part of the ith eigenvalue of the original matrix.
Parameters:
i - index of the eigenvalue (counting from 0)
Returns:
real part of the ith eigenvalue of the original matrix
getD(), getRealEigenvalues(), getImagEigenvalue(int)
• getImagEigenvalues

double[] getImagEigenvalues()
Returns a copy of the imaginary parts of the eigenvalues of the original matrix.
Returns:
a copy of the imaginary parts of the eigenvalues of the original matrix
getD(), getImagEigenvalue(int), getRealEigenvalues()
• getImagEigenvalue

double getImagEigenvalue(int i)
Returns the imaginary part of the ith eigenvalue of the original matrix.
Parameters:
i - index of the eigenvalue (counting from 0)
Returns:
imaginary part of the ith eigenvalue of the original matrix
getD(), getImagEigenvalues(), getRealEigenvalue(int)
• getEigenvector

RealVector getEigenvector(int i)
Returns a copy of the ith eigenvector of the original matrix.
Parameters:
i - index of the eigenvector (counting from 0)
Returns:
copy of the ith eigenvector of the original matrix
getD()
• getDeterminant

double getDeterminant()
Return the determinant of the matrix
Returns:
determinant of the matrix
• getSolver

DecompositionSolver getSolver()
Get a solver for finding the A × X = B solution in exact linear sense.
Returns:
a solver