Package org.ojalgo.matrix.decomposition
Interface SingularValue<N extends Comparable<N>>
- All Superinterfaces:
InverterTask<N>
,InvertibleFactor<N>
,MatrixDecomposition<N>
,MatrixDecomposition.EconomySize<N>
,MatrixDecomposition.Ordered<N>
,MatrixDecomposition.RankRevealing<N>
,MatrixDecomposition.Solver<N>
,MatrixDecomposition.Values<N>
,MatrixTask<N>
,Provider2D
,Provider2D.Condition
,Provider2D.Inverse<Optional<MatrixStore<N>>>
,Provider2D.Rank
,Provider2D.Solution<Optional<MatrixStore<N>>>
,SolverTask<N>
,Structure1D
,Structure2D
- All Known Implementing Classes:
RawSingularValue
,SingularValueDecomposition
,SingularValueDecomposition.C128
,SingularValueDecomposition.H256
,SingularValueDecomposition.Q128
,SingularValueDecomposition.R064
,SingularValueDecomposition.R128
public interface SingularValue<N extends Comparable<N>>
extends MatrixDecomposition<N>, MatrixDecomposition.Solver<N>, MatrixDecomposition.EconomySize<N>, MatrixDecomposition.RankRevealing<N>, MatrixDecomposition.Values<N>, Provider2D.Condition
Singular Value: [A] = [U][D][V]T Decomposes [this] into [U], [D] and [V] where:
- [U] is an orthogonal matrix. The columns are the left, orthonormal, singular vectors of [this]. Its columns are the eigenvectors of [A][A]T, and therefore has the same number of rows as [this].
- [D] is a diagonal matrix. The elements on the diagonal are the singular values of [this]. It is either square or has the same dimensions as [this]. The singular values of [this] are the square roots of the nonzero eigenvalues of [A][A]T and [A]T[A] (they are the same)
- [V] is an orthogonal matrix. The columns are the right, orthonormal, singular vectors of [this]. Its columns are the eigenvectors of [A][A]T, and therefore has the same number of rows as [this] has columns.
- [this] = [U][D][V]T
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
SingularValue.Factory<N extends Comparable<N>>
Nested classes/interfaces inherited from interface org.ojalgo.matrix.transformation.InvertibleFactor
InvertibleFactor.IdentityFactor<N extends Comparable<N>>
Nested classes/interfaces inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
MatrixDecomposition.Determinant<N extends Comparable<N>>, MatrixDecomposition.EconomySize<N extends Comparable<N>>, MatrixDecomposition.Hermitian<N extends Comparable<N>>, MatrixDecomposition.Ordered<N extends Comparable<N>>, MatrixDecomposition.Pivoting<N extends Comparable<N>>, MatrixDecomposition.RankRevealing<N extends Comparable<N>>, MatrixDecomposition.Solver<N extends Comparable<N>>, MatrixDecomposition.Values<N extends Comparable<N>>
Nested classes/interfaces inherited from interface org.ojalgo.matrix.Provider2D
Provider2D.Condition, Provider2D.Determinant<N extends Comparable<N>>, Provider2D.Eigenpairs, Provider2D.Hermitian, Provider2D.Inverse<M>, Provider2D.Rank, Provider2D.Solution<M>, Provider2D.Symmetric, Provider2D.Trace<N extends Comparable<N>>
Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.LongIndex, Structure1D.LoopCallback
Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure2D
Structure2D.IntRowColumn, Structure2D.Logical<S extends Structure2D,
B extends Structure2D.Logical<S, B>>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R extends Structure1D>, Structure2D.Reshapable, Structure2D.RowColumnKey<R, C>, Structure2D.RowColumnMapper<R, C> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SingularValue.Factory
<ComplexNumber> static final SingularValue.Factory
<Quaternion> static final SingularValue.Factory
<RationalNumber> static final SingularValue.Factory
<Double> static final SingularValue.Factory
<Quadruple> Fields inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
TYPICAL
-
Method Summary
Modifier and TypeMethodDescriptionstatic <N extends Comparable<N>>
booleanequals
(MatrixStore<N> matrix, SingularValue<N> decomposition, NumberContext context) double
The condition number.getD()
double
Sometimes also called the Schatten 2-norm or Hilbert-Schmidt norm.double
getKyFanNorm
(int k) Ky Fan k-norm.double
default void
getSingularValues
(double[] values) double
getU()
If [A] is m-by-n and its rank is r, then: The first r columns of [U] span the column space, range or image of [A]. The last m-r columns of [U] span the left nullspace or cokernel of [A]. Calculating the QR decomposition of [A] is a faster alternative.getV()
If [A] is m-by-n and its rank is r, then: The first r columns of [V] span the row space or coimage of [A]. The last n-r columns of [V] span the nullspace or kernel of [A]. Calculating the QR decomposition of [A]T is a faster alternative.default MatrixStore
<N> default MatrixStore
<N> reconstruct
(int k) Methods inherited from interface org.ojalgo.matrix.task.InverterTask
invert, invert, preallocate, preallocate
Methods inherited from interface org.ojalgo.matrix.transformation.InvertibleFactor
btran, btran
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
decompose, isComputed, reset
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.EconomySize
isFullSize
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Ordered
isOrdered
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.RankRevealing
countSignificant, getRank, getRankThreshold, isFullRank
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Solver
compute, ftran, ftran, getInverse, getInverse, getSolution, getSolution, invert, isSolvable, solve, toInverseProvider, toSolutionProvider
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Values
computeValuesOnly
Methods inherited from interface org.ojalgo.matrix.task.SolverTask
preallocate, preallocate, solve, solve
Methods inherited from interface org.ojalgo.structure.Structure2D
count, countColumns, countRows, firstInColumn, firstInRow, getColDim, getMaxDim, getMinDim, getRowDim, isEmpty, isFat, isScalar, isSquare, isTall, isVector, limitOfColumn, limitOfRow, size
-
Field Details
-
C128
-
H256
-
R064
-
Q128
-
R128
-
-
Method Details
-
equals
static <N extends Comparable<N>> boolean equals(MatrixStore<N> matrix, SingularValue<N> decomposition, NumberContext context) -
getCondition
double getCondition()The condition number.- Specified by:
getCondition
in interfaceProvider2D.Condition
- Returns:
- The largest singular value divided by the smallest singular value.
-
getCovariance
MatrixStore<N> getCovariance()- Returns:
- [[A]T[A]]-1 Where [A] is the original matrix.
-
getD
MatrixStore<N> getD()- Returns:
- The diagonal matrix of singular values.
-
getFrobeniusNorm
double getFrobeniusNorm()Sometimes also called the Schatten 2-norm or Hilbert-Schmidt norm.- Returns:
- The square root of the sum of squares of the singular values.
-
getKyFanNorm
double getKyFanNorm(int k) Ky Fan k-norm.
The first Ky Fan k-norm is the operator norm (the largest singular value), and the last is called the trace norm (the sum of all singular values).
- Parameters:
k
- The number of singular values to add up.- Returns:
- The sum of the k largest singular values.
-
getOperatorNorm
double getOperatorNorm()- Returns:
- 2-norm
-
getSingularValues
- Returns:
- The singular values ordered in descending order.
-
getSingularValues
default void getSingularValues(double[] values) - Parameters:
values
- An array that will receive the singular values
-
getTraceNorm
double getTraceNorm() -
getU
MatrixStore<N> getU()If [A] is m-by-n and its rank is r, then:- The first r columns of [U] span the column space, range or image of [A].
- The last m-r columns of [U] span the left nullspace or cokernel of [A].
-
getV
MatrixStore<N> getV()If [A] is m-by-n and its rank is r, then:- The first r columns of [V] span the row space or coimage of [A].
- The last n-r columns of [V] span the nullspace or kernel of [A].
-
reconstruct
- Specified by:
reconstruct
in interfaceMatrixDecomposition<N extends Comparable<N>>
-
reconstruct
-