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
Version:
$Revision: 997726 $ $Date: 2010-09-16 14:39:51 +0200 (jeu. 16 sept. 2010) $
See Also:
MathWorld, Wikipedia

Method Summary
 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
See Also:
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
See Also:
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
See Also:
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
See Also:
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
See Also:
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
See Also:
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


Copyright © 2003-2011 The Apache Software Foundation. All Rights Reserved.