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

    Modifier and Type
    Method
    Description
    Returns the block diagonal matrix D of the decomposition.
    double
    Return the determinant of the matrix
    Returns a copy of the ith eigenvector of the original matrix.
    double
    Returns the imaginary part of the ith eigenvalue of the original matrix.
    double[]
    Returns a copy of the imaginary parts of the eigenvalues of the original matrix.
    double
    Returns the real part of the ith eigenvalue of the original matrix.
    double[]
    Returns a copy of the real parts of the eigenvalues of the original matrix.
    Get a solver for finding the A × X = B solution in exact linear sense.
    Returns the matrix V of the decomposition.
    Returns the transpose of the matrix V of the decomposition.
  • Method Details

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