|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectorg.ojalgo.matrix.decomposition.SingularValueDecomposition<N>
public abstract class SingularValueDecomposition<N extends Number & Comparable<N>>
You create instances of (some subclass of) this class by calling one of the static factory methods: makeBig(), makeComplex(), makePrimitive(), makeAlternative() or makeJama().
| Method Summary | ||
|---|---|---|
boolean |
compute(Access2D<?> aMtrx)
|
|
boolean |
compute(Access2D<?> aMtrx,
boolean singularValuesOnly)
|
|
boolean |
equals(MatrixDecomposition<N> aDecomp,
NumberContext aCntxt)
|
|
boolean |
equals(Object someObj)
|
|
double |
getCondition()
The condition number. |
|
MatrixStore<N> |
getD()
|
|
double |
getFrobeniusNorm()
Sometimes also called the Schatten 2-norm or Hilbert-Schmidt norm. |
|
MatrixStore<N> |
getInverse()
The output must be a "right inverse" and a "generalised inverse". |
|
MatrixStore<N> |
getInverse(DecompositionStore<N> preallocated)
Implementiong this method is optional. |
|
double |
getKyFanNorm(int k)
Ky Fan k-norm. |
|
double |
getOperatorNorm()
|
|
MatrixStore<N> |
getQ1()
|
|
MatrixStore<N> |
getQ2()
|
|
int |
getRank()
Effective numerical matrix rank. |
|
Array1D<Double> |
getSingularValues()
|
|
double |
getTraceNorm()
|
|
boolean |
isAspectRatioNormal()
|
|
boolean |
isComputed()
|
|
static
|
make(Access2D<N> aTypical)
|
|
static SingularValue<Double> |
makeAlternative()
|
|
static SingularValue<BigDecimal> |
makeBig()
|
|
static SingularValue<ComplexNumber> |
makeComplex()
|
|
static SingularValue<Double> |
makeJama()
|
|
static SingularValue<Double> |
makePrimitive()
|
|
MatrixStore<N> |
reconstruct()
|
|
void |
reset()
Delete computed results, and resets attributes to default values |
|
MatrixStore<N> |
solve(MatrixStore<N> aRHS)
[A][X]=[B] or [this][return]=[aRHS] |
|
MatrixStore<N> |
solve(MatrixStore<N> aRHS,
DecompositionStore<N> preallocated)
Implementiong this method is optional. |
|
| Methods inherited from class java.lang.Object |
|---|
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.ojalgo.matrix.decomposition.SingularValue |
|---|
isOrdered |
| Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition |
|---|
equals, equals, isComputed, isFullSize, isSolvable |
| Method Detail |
|---|
public static final <N extends Number> SingularValue<N> make(Access2D<N> aTypical)
public static final SingularValue<Double> makeAlternative()
public static final SingularValue<BigDecimal> makeBig()
public static final SingularValue<ComplexNumber> makeComplex()
public static final SingularValue<Double> makeJama()
public static final SingularValue<Double> makePrimitive()
public final boolean compute(Access2D<?> aMtrx)
compute in interface MatrixDecomposition<N extends Number & Comparable<N>>aMtrx - A matrix to decompose
public boolean compute(Access2D<?> aMtrx,
boolean singularValuesOnly)
compute in interface SingularValue<N extends Number & Comparable<N>>aMtrx - A matrix to decomposesingularValuesOnly - No need to calculate eigenvectors
public final double getCondition()
SingularValue
getCondition in interface SingularValue<N extends Number & Comparable<N>>public final MatrixStore<N> getD()
getD in interface SingularValue<N extends Number & Comparable<N>>public final double getFrobeniusNorm()
SingularValue
getFrobeniusNorm in interface SingularValue<N extends Number & Comparable<N>>public final MatrixStore<N> getInverse()
MatrixDecomposition
getInverse in interface MatrixDecomposition<N extends Number & Comparable<N>>BasicMatrix.invert()public final MatrixStore<N> getInverse(DecompositionStore<N> preallocated)
MatrixDecompositionImplementiong this method is optional.
Exactly how a specific implementation makes use of preallocated
is not specified by this interface. It must be documented for each
implementation.
Should produce the same results as calling MatrixDecomposition.getInverse().
getInverse in interface MatrixDecomposition<N extends Number & Comparable<N>>preallocated - Preallocated memory for the results, possibly some
intermediate results. You must assume this is modified, but you
cannot assume it will contain the full/final/correct solution.
public final double getKyFanNorm(int k)
SingularValueKy 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).
getKyFanNorm in interface SingularValue<N extends Number & Comparable<N>>k - The number of singular values to add up.
public final double getOperatorNorm()
getOperatorNorm in interface SingularValue<N extends Number & Comparable<N>>public final MatrixStore<N> getQ1()
getQ1 in interface SingularValue<N extends Number & Comparable<N>>public final MatrixStore<N> getQ2()
getQ2 in interface SingularValue<N extends Number & Comparable<N>>public final int getRank()
SingularValue
getRank in interface SingularValue<N extends Number & Comparable<N>>public final Array1D<Double> getSingularValues()
getSingularValues in interface SingularValue<N extends Number & Comparable<N>>public final double getTraceNorm()
getTraceNorm in interface SingularValue<N extends Number & Comparable<N>>public final boolean isAspectRatioNormal()
public MatrixStore<N> reconstruct()
reconstruct in interface MatrixDecomposition<N extends Number & Comparable<N>>public void reset()
MatrixDecomposition
reset in interface MatrixDecomposition<N extends Number & Comparable<N>>public MatrixStore<N> solve(MatrixStore<N> aRHS)
MatrixDecomposition
solve in interface MatrixDecomposition<N extends Number & Comparable<N>>
public MatrixStore<N> solve(MatrixStore<N> aRHS,
DecompositionStore<N> preallocated)
MatrixDecompositionImplementiong this method is optional.
Exactly how a specific implementation makes use of preallocated
is not specified by this interface. It must be documented for each
implementation.
Should produce the same results as calling MatrixDecomposition.solve(MatrixStore).
solve in interface MatrixDecomposition<N extends Number & Comparable<N>>aRHS - The Right Hand Side, wont be modfiedpreallocated - Preallocated memory for the results, possibly some
intermediate results. You must assume this is modified, but you
cannot assume it will contain the full/final/correct solution.
public final boolean equals(MatrixDecomposition<N> aDecomp,
NumberContext aCntxt)
equals in interface MatrixDecomposition<N extends Number>public boolean equals(Object someObj)
equals in class Objectpublic final boolean isComputed()
isComputed in interface MatrixDecomposition<N extends Number>MatrixDecomposition.compute(Access2D),
MatrixDecomposition.isSolvable()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||