Class DynamicEvD<N extends Comparable<N>>
java.lang.Object
org.ojalgo.matrix.decomposition.AbstractDecomposition<N, DecompositionStore<N>>
org.ojalgo.matrix.decomposition.DenseEigenvalue<N>
org.ojalgo.matrix.decomposition.DynamicEvD<N>
- All Implemented Interfaces:
Eigenvalue<N>, MatrixDecomposition<N>, MatrixDecomposition.Determinant<N>, MatrixDecomposition.Hermitian<N>, MatrixDecomposition.Ordered<N>, MatrixDecomposition.Values<N>, Provider2D, Provider2D.Determinant<N>, Provider2D.Eigenpairs, DeterminantTask<N>, MatrixTask<N>, Structure1D, Structure2D
- Direct Known Subclasses:
DynamicEvD.R064
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface Eigenvalue
Eigenvalue.Eigenpair, Eigenvalue.Factory<N>, Eigenvalue.Generalisation, Eigenvalue.Generalised<N>, Eigenvalue.Spectral<N>Nested classes/interfaces inherited from interface MatrixDecomposition
MatrixDecomposition.Determinant<N>, MatrixDecomposition.EconomySize<N>, MatrixDecomposition.Factory<D>, MatrixDecomposition.Hermitian<N>, MatrixDecomposition.Ordered<N>, MatrixDecomposition.Pivoting<N>, MatrixDecomposition.RankRevealing<N>, MatrixDecomposition.Solver<N>, MatrixDecomposition.Updatable<N>, MatrixDecomposition.Values<N>Nested classes/interfaces inherited from interface Provider2D
Provider2D.Condition, Provider2D.Determinant<N>, Provider2D.Eigenpairs, Provider2D.Hermitian, Provider2D.Inverse<M>, Provider2D.Rank, Provider2D.Solution<M>, Provider2D.Symmetric, Provider2D.Trace<N>Nested classes/interfaces inherited from interface Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.LongIndex, Structure1D.LoopCallbackNested classes/interfaces inherited from interface Structure2D
Structure2D.IntRowColumn, Structure2D.Logical<S,B>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R>, Structure2D.Reshapable, Structure2D.RowColumnKey<R, C>, Structure2D.RowColumnMapper<R, C> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final DenseEigenvalue<N> private booleanprivate final DenseEigenvalue<N> Fields inherited from interface Eigenvalue
C128, DESCENDING_NORM, H256, Q128, R064, R128Fields inherited from interface MatrixDecomposition
TYPICAL -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateDynamicEvD(PhysicalStore.Factory<N, ? extends DecompositionStore<N>> factory) protectedDynamicEvD(PhysicalStore.Factory<N, ? extends DecompositionStore<N>> factory, DenseEigenvalue<N> hermitianDelegate, DenseEigenvalue<N> generalDelegate) -
Method Summary
Modifier and TypeMethodDescriptionbooleancheckAndDecompose(MatrixStore<N> matrix) Absolutely must check if the matrix is hermitian or not.protected booleandoDecompose(Access2D.Collectable<N, ? super TransformableRegion<N>> matrix, boolean valuesOnly) A matrix' determinant is the product of its eigenvalues.getTrace()A matrix' trace is the sum of the diagonal elements.booleanIf [A] is hermitian then [V][D][V]-1 becomes [Q][D][Q]H...booleanThe eigenvalues in D (and the eigenvectors in V) are not necessarily ordered.protected MatrixStore<N> makeD()protected Array1D<ComplexNumber> protected MatrixStore<N> makeV()voidreset()Delete computed results, and resets attributes to default valuesMethods inherited from class DenseEigenvalue
calculateDeterminant, computeValuesOnly, decompose, getColDim, getD, getEigenvalues, getMaxDim, getMinDim, getRowDim, getV, isValuesOnly, setD, setEigenvalues, setVMethods inherited from class AbstractDecomposition
aggregator, applyPivotOrder, applyReverseOrder, checkSolvability, collect, computed, copyColumn, copyRow, function, getDimensionalEpsilon, isAspectRatioNormal, isComputed, isSolvable, makeArray, makeDiagonal, makeEye, makeHouseholder, makeIdentity, makeRotation, makeRotation, makeZero, makeZero, scalar, wrapMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Eigenvalue
getEigenpair, getEigenpairs, getEigenvalues, getEigenvectors, reconstructMethods inherited from interface MatrixDecomposition
isComputedMethods inherited from interface MatrixDecomposition.Determinant
toDeterminantProviderMethods inherited from interface Structure2D
count, countColumns, countRows, firstInColumn, firstInRow, isEmpty, isFat, isScalar, isSquare, isTall, isVector, limitOfColumn, limitOfRow, size
-
Field Details
-
myGeneralDelegate
-
myHermitian
private boolean myHermitian -
myHermitianDelegate
-
-
Constructor Details
-
DynamicEvD
-
DynamicEvD
protected DynamicEvD(PhysicalStore.Factory<N, ? extends DecompositionStore<N>> factory, DenseEigenvalue<N> hermitianDelegate, DenseEigenvalue<N> generalDelegate)
-
-
Method Details
-
checkAndDecompose
Description copied from interface:MatrixDecomposition.HermitianAbsolutely must check if the matrix is hermitian or not. Then, depending on the result different paths can be chosen - compute or not / choose different algorithms...- Parameters:
matrix- A matrix to check and then (maybe) decompose- Returns:
- true if the hermitian check passed and decomposition succeeded; false if not
-
getDeterminant
Description copied from interface:MatrixDecomposition.DeterminantA matrix' determinant is the product of its eigenvalues.
- Returns:
- The matrix' determinant
-
getTrace
Description copied from interface:EigenvalueA matrix' trace is the sum of the diagonal elements. It is also the sum of the eigenvalues. This method should return the sum of the eigenvalues.- Returns:
- The matrix' trace
-
isHermitian
public boolean isHermitian()Description copied from interface:EigenvalueIf [A] is hermitian then [V][D][V]-1 becomes [Q][D][Q]H... -
isOrdered
public boolean isOrdered()Description copied from interface:EigenvalueThe eigenvalues in D (and the eigenvectors in V) are not necessarily ordered. This is a property of the algorithm/implementation, not the data.- Returns:
- true if they are ordered
-
reset
public void reset()Description copied from interface:MatrixDecompositionDelete computed results, and resets attributes to default values- Specified by:
resetin interfaceMatrixDecomposition<N extends Comparable<N>>- Overrides:
resetin classDenseEigenvalue<N extends Comparable<N>>
-
doDecompose
protected boolean doDecompose(Access2D.Collectable<N, ? super TransformableRegion<N>> matrix, boolean valuesOnly) - Specified by:
doDecomposein classDenseEigenvalue<N extends Comparable<N>>
-
makeD
- Specified by:
makeDin classDenseEigenvalue<N extends Comparable<N>>
-
makeEigenvalues
- Specified by:
makeEigenvaluesin classDenseEigenvalue<N extends Comparable<N>>
-
makeV
- Specified by:
makeVin classDenseEigenvalue<N extends Comparable<N>>
-