Package xal.tools.math.r3
Class R3x3EigenDecomposition
java.lang.Object
xal.tools.math.r3.R3x3EigenDecomposition
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.
- Author:
- Christopher K. Allen
-
Constructor Summary
ConstructorsConstructorDescriptionR3x3EigenDecomposition
(R3x3 matTarget) Package constructor forR3x3JacobiDecomposition
objects. -
Method Summary
Modifier and TypeMethodDescriptionReturn the matrix D of eigenvalues in the decomposition.Get the matrix V of eigenvectors (columns) for the decomposition.double[]
Deprecated.These will always be 0, as we only use this class for symmetric matrices.double[]
Get the real part of the eigenvalues.
-
Constructor Details
-
R3x3EigenDecomposition
Package constructor forR3x3JacobiDecomposition
objects. The provided matrix must be symmetric.- Parameters:
matTarget
- target matrix to factorize- Throws:
IllegalArgumentException
- matrix is not symmetric or zero eigenvalue
-
-
Method Details
-
getRealEigenvalues
public double[] getRealEigenvalues()Get the real part of the eigenvalues. -
getImagEigenvalues
Deprecated.These will always be 0, as we only use this class for symmetric matrices.Get the imaginary parts of the eigenvalues. -
getEigenvectorMatrix
Get the matrix V of eigenvectors (columns) for the decomposition. Note that this matrix is the diagonalizing (in the Jacaobi sense) matrix for the target matrix A. If the target matrix A is symmetric then the returned matrix V will be in the special orthogonal group SO(3). Note that, in general, this matrix may be ill conditioned.- Returns:
- diagonalizing matrix of A
-
getEigenvalueMatrix
Return the matrix D of eigenvalues in the decomposition. Note that if target matrix A is symmetric then this matrix will be diagonal.- Returns:
- block diagonal matrix D of eigenvalues of A
-