public class R3x3EigenDecomposition
extends java.lang.Object
Essentially this class is just a wrapper over the Jama matrix
package class EigenvalueDecomposition
. Thus, XAL can present
a consistent interface in the event that Jama gets removed/replaced in
the future.
If the matrix A is invertible it can be decomposed as
A = VDV-1
where V is an invertible matrix in the special linear group
SL(3) ⊂ R3×3 and D is the
the real matrix with 2×2 blocks consisting of the real and imaginary parts
of the eigenvalues on the diagonal. (Each eigenvalue
of matrix A is the diagonal of the Jacobi block.)
The columns of V are the eigenvectors of A in the sense that AV = VD. Note that the matrix V may be badly conditioned, or even singular, so that the above equation may not be valid.
Constructor and Description |
---|
R3x3EigenDecomposition(R3x3 matTarget)
Package constructor for
R3x3JacobiDecomposition objects. |
Modifier and Type | Method and Description |
---|---|
R3x3 |
getEigenvalueMatrix()
Return the matrix D of eigenvalues in the decomposition.
|
R3x3 |
getEigenvectorMatrix()
Get the matrix V of eigenvectors (columns) for the decomposition.
|
double[] |
getImagEigenvalues()
Get the imaginary parts of the eigenvalues.
|
double[] |
getRealEigenvalues()
Get the real part of the eigenvalues.
|
public R3x3EigenDecomposition(R3x3 matTarget) throws java.lang.IllegalArgumentException
R3x3JacobiDecomposition
objects.matTarget
- target matrix to factorizejava.lang.IllegalArgumentException
- matrix is not symmetric or zero eigenvaluepublic double[] getRealEigenvalues()
public double[] getImagEigenvalues()
public R3x3 getEigenvectorMatrix()
public R3x3 getEigenvalueMatrix()