org.apache.mahout.math.solver
Class EigenDecomposition

java.lang.Object
  extended by org.apache.mahout.math.solver.EigenDecomposition

public class EigenDecomposition
extends Object

Eigenvalues and eigenvectors of a real matrix.

If A is symmetric, then A = V*D*V' where the eigenvalue matrix D is diagonal and the eigenvector matrix V is orthogonal. I.e. A = V.times(D.times(V.transpose())) and V.times(V.transpose()) equals the identity matrix.

If A is not symmetric, then the eigenvalue matrix D is block diagonal with the real eigenvalues in 1-by-1 blocks and any complex eigenvalues, lambda + i*mu, in 2-by-2 blocks, [lambda, mu; -mu, lambda]. The columns of V represent the eigenvectors in the sense that A*V = V*D, i.e. A.times(V) equals V.times(D). The matrix V may be badly conditioned, or even singular, so the validity of the equation A = V*D*inverse(V) depends upon V.cond().


Constructor Summary
EigenDecomposition(Matrix x)
           
EigenDecomposition(Matrix x, boolean isSymmetric)
           
 
Method Summary
 Matrix getD()
          Return the block diagonal eigenvalue matrix
 Vector getImagEigenvalues()
          Return the imaginary parts of the eigenvalues
 Vector getRealEigenvalues()
          Return the real parts of the eigenvalues
 Matrix getV()
          Return the eigenvector matrix
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EigenDecomposition

public EigenDecomposition(Matrix x)

EigenDecomposition

public EigenDecomposition(Matrix x,
                          boolean isSymmetric)
Method Detail

getV

public Matrix getV()
Return the eigenvector matrix

Returns:
V

getRealEigenvalues

public Vector getRealEigenvalues()
Return the real parts of the eigenvalues


getImagEigenvalues

public Vector getImagEigenvalues()
Return the imaginary parts of the eigenvalues


getD

public Matrix getD()
Return the block diagonal eigenvalue matrix

Returns:
D


Copyright © 2008–2014 The Apache Software Foundation. All rights reserved.