Colt 1.2.0

## cern.colt.matrix.linalg
Class EigenvalueDecomposition

    java.lang.Object
      cern.colt.matrix.linalg.EigenvalueDecomposition

All Implemented Interfaces:
  Serializable

    public class EigenvalueDecomposition

extends Object
implements Serializable

Eigenvalues and eigenvectors of a real matrix `A`.

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.mult(D.mult(transpose(V)))` and `V.mult(transpose(V))` 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.mult(V) equals V.mult(D)`. The matrix `V` may be badly conditioned, or even singular, so the validity of the equation `A = V*D*inverse(V)` depends upon `Algebra.cond(V)`.

See Also:
  Serialized Form

Constructor Summary
`EigenvalueDecomposition(DoubleMatrix2D A)` Constructs and returns a new eigenvalue decomposition object; The decomposed matrices can be retrieved via instance methods of the returned decomposition object.

Method Summary
`DoubleMatrix2D` `getD()` Returns the block diagonal eigenvalue matrix, `D`.
`DoubleMatrix1D` `getImagEigenvalues()` Returns the imaginary parts of the eigenvalues.
`DoubleMatrix1D` `getRealEigenvalues()` Returns the real parts of the eigenvalues.
`DoubleMatrix2D` `getV()` Returns the eigenvector matrix, `V`
`String` `toString()` Returns a String with (propertyName, propertyValue) pairs.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### EigenvalueDecomposition

    public EigenvalueDecomposition(DoubleMatrix2D A)

  Constructs and returns a new eigenvalue decomposition object; The decomposed matrices can be retrieved via instance methods of the returned decomposition object. Checks for symmetry, then constructs the eigenvalue decomposition.

  Parameters:
    `A` - A square matrix.
  Throws:
    `IllegalArgumentException` - if `A` is not square.

Method Detail

### getD

    public DoubleMatrix2D getD()

  Returns the block diagonal eigenvalue matrix, `D`.

  Returns:
    `D`

### getImagEigenvalues

    public DoubleMatrix1D getImagEigenvalues()

  Returns the imaginary parts of the eigenvalues.

  Returns:
    imag(diag(D))

### getRealEigenvalues

    public DoubleMatrix1D getRealEigenvalues()

  Returns the real parts of the eigenvalues.

  Returns:
    real(diag(D))

### getV

    public DoubleMatrix2D getV()

  Returns the eigenvector matrix, `V`

  Returns:
    `V`

### toString

    public String toString()

  Returns a String with (propertyName, propertyValue) pairs. Useful for debugging or to quickly get the rough picture. For example,

      rank          : 3
      trace         : 0

  Overrides:
    `toString` in class `Object`

Colt 1.2.0

Jump to the Colt Homepage