public static interface MatrixDecomposition.RankRevealing<N extends Number> extends MatrixDecomposition.Ordered<N>
The defintion that [X] and [Y] should be well conditioned is subject to interpretation. A specific
decomposition algorithm can be more or less good at revealing the rank. Typically the
SingularValue
decomposition is the best.
The requirement to have the diagonal elements of [D] ordered can be very practical, but is not always
strictly necessary in order to just reveal the rank. The method MatrixDecomposition.Ordered.isOrdered()
indicates if the
elements (rows and columns) of the returned matrix factors actually are ordered or not for this
particular implementation.
MatrixDecomposition.Determinant<N extends Number>, MatrixDecomposition.EconomySize<N extends Number>, MatrixDecomposition.Factory<D extends MatrixDecomposition<?>>, MatrixDecomposition.Hermitian<N extends Number>, MatrixDecomposition.Ordered<N extends Number>, MatrixDecomposition.Pivoting<N extends Number>, MatrixDecomposition.RankRevealing<N extends Number>, MatrixDecomposition.Solver<N extends Number>, MatrixDecomposition.Values<N extends Number>
Structure2D.IntRowColumn, Structure2D.Logical<S extends Structure2D,B extends Structure2D.Logical<S,?>>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R extends Structure1D>, Structure2D.RowColumnCallback, Structure2D.RowColumnKey<R,C>, Structure2D.RowColumnMapper<R,C>
Structure1D.BasicMapper<T>, Structure1D.IndexCallback, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.LongIndex, Structure1D.LoopCallback
TYPICAL
Modifier and Type | Method and Description |
---|---|
int |
countSignificant(double threshold) |
default int |
getRank()
The best (and most expensive) way to get the effective numerical rank is by calculating a
SingularValue decomposition and then find the number of nonnegligible singular values. |
double |
getRankThreshold() |
default boolean |
isFullRank() |
isOrdered
decompose, isComputed, reconstruct, reset
column, column, column, column, column, count, count, countColumns, countRows, index, index, isEmpty, isFat, isScalar, isSquare, isTall, isVector, loopAll, loopColumn, loopColumn, loopDiagonal, loopMatching, loopRow, loopRow, mapperOf, row, row, row, row, row
index, loopAll, loopMatching, loopRange, mapper, size
int countSignificant(double threshold)
threshold
- Significance limitdefault int getRank()
SingularValue
decomposition and then find the number of nonnegligible singular values.double getRankThreshold()
default boolean isFullRank()
Copyright © 2019 Optimatika. All rights reserved.