## 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:

- a `getVt` method has been added,
- two `getRealEigenvalue` and `getImagEigenvalue` methods to pick up a single eigenvalue have been added,
- a `getEigenvector` method to pick up a single eigenvector has been added,
- a `getDeterminant` method has been added.
- a `getSolver` method has been added.

Since:
  2.0
Version:
  $Revision: 826627 $ $Date: 2009-10-19 06:27:47 -0400 (Mon, 19 Oct 2009) $
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.

  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.

  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 (c) 2003-2011 Apache Software Foundation