Class EigenvalueDecomposition

java.lang.Object
cz.fidentis.analyst.math.EigenvalueDecomposition
All Implemented Interfaces:
Serializable

public class EigenvalueDecomposition extends Object implements Serializable
Eigenvalues and eigenvectors of a real matrix. Taken from https://math.nist.gov/javanumerics/jama/doc/Jama/EigenvalueDecomposition.html and adapted for Matrix4d.

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().

See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    EigenvalueDecomposition(javax.vecmath.Matrix4d arg)
    Check for symmetry, then construct the eigenvalue decomposition Structure to access D and V.
  • Method Summary

    Modifier and Type
    Method
    Description
    javax.vecmath.Matrix4d
    Return the block diagonal eigenvalue matrix
    javax.vecmath.Matrix4d
    Return the eigenvector matrix

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • EigenvalueDecomposition

      public EigenvalueDecomposition(javax.vecmath.Matrix4d arg)
      Check for symmetry, then construct the eigenvalue decomposition Structure to access D and V.
      Parameters:
      arg - Square matrix
  • Method Details

    • getV

      public javax.vecmath.Matrix4d getV()
      Return the eigenvector matrix
      Returns:
      V
    • getD

      public javax.vecmath.Matrix4d getD()
      Return the block diagonal eigenvalue matrix
      Returns:
      D