Package weka.core.matrix

# Class EigenvalueDecomposition

java.lang.Object
weka.core.matrix.EigenvalueDecomposition

All Implemented Interfaces:
  `Serializable`, `RevisionHandler`

public class EigenvalueDecomposition extends Object implements Serializable, RevisionHandler
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().

Adapted from the JAMA package.

Version:
  $Revision: 5953 $
Author:
  The Mathworks and NIST, Fracpete (fracpete at waikato dot ac dot nz)
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `EigenvalueDecomposition(Matrix Arg)`
  Check for symmetry, then construct the eigenvalue decomposition

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Matrix`
  `getD()`
  Return the block diagonal eigenvalue matrix
  `double[]`
  `getImagEigenvalues()`
  Return the imaginary parts of the eigenvalues
  `double[]`
  `getRealEigenvalues()`
  Return the real parts of the eigenvalues
  `String`
  `getRevision()`
  Returns the revision string.
  `Matrix`
  `getV()`
  Return the eigenvector matrix

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### EigenvalueDecomposition

    public EigenvalueDecomposition(Matrix Arg)
    Check for symmetry, then construct the eigenvalue decomposition
    Parameters:
      `Arg` - Square matrix

- ## Method Details

  - ### getV

    public Matrix getV()
    Return the eigenvector matrix
    Returns:
      V

  - ### getRealEigenvalues

    public double[] getRealEigenvalues()
    Return the real parts of the eigenvalues
    Returns:
      real(diag(D))

  - ### getImagEigenvalues

    public double[] getImagEigenvalues()
    Return the imaginary parts of the eigenvalues
    Returns:
      imag(diag(D))

  - ### getD

    public Matrix getD()
    Return the block diagonal eigenvalue matrix
    Returns:
      D

  - ### getRevision

    public String getRevision()
    Returns the revision string.
    Specified by:
      `getRevision` in interface `RevisionHandler`
    Returns:
      the revision