jsci.maths.linalg
Class EigenDecomposition
java.lang.Object
jsci.maths.linalg.EigenDecomposition
public class EigenDecomposition
- extends java.lang.Object
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EigenDecomposition
public EigenDecomposition(DoubleMatrix<? extends DoubleArray2D,? extends DoubleArray1D> matrix,
boolean eigenvectors)
throws MaximumIterationsExceededException
- Throws:
MaximumIterationsExceededException
EigenDecomposition
public EigenDecomposition(DoubleMatrix<? extends DoubleArray2D,? extends DoubleArray1D> matrix,
boolean eigenvectors,
int maxIters)
throws MaximumIterationsExceededException
- Throws:
MaximumIterationsExceededException
getEigenvalues
public double[] getEigenvalues()
getEigenvectors
public DoubleVector[] getEigenvectors()
reduceSymmetricToTridiagonal
public static void reduceSymmetricToTridiagonal(DoubleArray2D array,
DoubleArray1D offdiag,
int start,
int end)
throws MaximumIterationsExceededException
- Reduces a symmetric matrix to a tridiagonal matrix in-place.
Resumable/optimised method for finding the eigenvalues of a (large) symmetric matrix.
- Parameters:
array
- a symmetric square array.offdiag
- an array to hold the off-diagonal elements.start
- 0 < start <= n-1end
- 0 <= end < start
- Throws:
MaximumIterationsExceededException
diagonalizeSymmetricTridiagonal
public static void diagonalizeSymmetricTridiagonal(DoubleArray2D array,
DoubleArray1D offdiag,
int start,
int end,
int maxIters)
throws MaximumIterationsExceededException
- Diagonalizes a symmetric tridiagonal matrix in-place.
Resumable/optimised method for finding the eigenvalues of a (large) symmetric matrix.
- Parameters:
array
- an array processed by reduceSymmetricToTridiagonal().offdiag
- an array processed by reduceSymmetricToTridiagonal().start
- 0 <= start < matrix.rows()end
- start < end <= matrix.rows()
- Throws:
MaximumIterationsExceededException