@Deprecated public abstract class SingularValueDecomposition<N extends java.lang.Number & java.lang.Comparable<N>> extends java.lang.Object implements SingularValue<N>
InverterTask.Factory<N extends java.lang.Number>SolverTask.Factory<N extends java.lang.Number>BIG, COMPLEX, PRIMITIVEBIG, COMPLEX, PRIMITIVE| Modifier and Type | Method and Description |
|---|---|
boolean |
compute(Access2D<?> matrix)
Deprecated.
|
boolean |
compute(Access2D<?> matrix,
boolean singularValuesOnly,
boolean fullSize)
Deprecated.
|
boolean |
equals(java.lang.Object someObj) |
double |
getCondition()
Deprecated.
The condition number.
|
MatrixStore<N> |
getD()
Deprecated.
|
double |
getFrobeniusNorm()
Deprecated.
Sometimes also called the Schatten 2-norm or Hilbert-Schmidt norm.
|
MatrixStore<N> |
getInverse()
Deprecated.
The output must be a "right inverse" and a "generalised inverse".
|
MatrixStore<N> |
getInverse(DecompositionStore<N> preallocated)
Deprecated.
Implementiong this method is optional.
|
double |
getKyFanNorm(int k)
Deprecated.
Ky Fan k-norm.
|
double |
getOperatorNorm()
Deprecated.
|
MatrixStore<N> |
getQ1()
Deprecated.
If [A] is m-by-n and its rank is r, then:
The first r columns of [Q1] span the column space, range or image of [A].
The last m-r columns of [Q1] span the left nullspace or cokernel of [A].
Calculating the QR decomposition of [A] is a faster alternative.
|
MatrixStore<N> |
getQ2()
Deprecated.
If [A] is m-by-n and its rank is r, then:
The first r columns of [Q2] span the row space or coimage of [A].
The last n-r columns of [Q2] span the nullspace or kernel of [A].
Calculating the QR decomposition of [A]T is a faster alternative.
|
int |
getRank()
Deprecated.
Effective numerical matrix rank.
|
Array1D<java.lang.Double> |
getSingularValues()
Deprecated.
|
double |
getTraceNorm()
Deprecated.
|
MatrixStore<N> |
invert(MatrixStore<N> original)
The output must be a "right inverse" and a "generalised inverse".
|
MatrixStore<N> |
invert(MatrixStore<N> original,
DecompositionStore<N> preallocated)
Implementiong this method is optional.
|
boolean |
isComputed() |
boolean |
isFullSize()
Deprecated.
|
static <N extends java.lang.Number> |
make(Access2D<N> aTypical)
Deprecated.
v38 Use
SingularValue.make(Access2D) instead |
static SingularValue<java.lang.Double> |
makeAlternative()
Deprecated.
v38 Use
SingularValue.make(Access2D) instead |
static SingularValue<java.math.BigDecimal> |
makeBig()
Deprecated.
v38 Use
SingularValue.makeBig() instead |
static SingularValue<ComplexNumber> |
makeComplex()
Deprecated.
v38 Use
SingularValue.makeComplex() instead |
static SingularValue<java.lang.Double> |
makeJama()
Deprecated.
v38 Use
SingularValue.makePrimitive() instead |
static SingularValue<java.lang.Double> |
makePrimitive()
Deprecated.
v38 Use
SingularValue.makePrimitive() instead |
DecompositionStore<N> |
preallocate(Access2D<N> template)
Implementiong this method is optional.
|
DecompositionStore<N> |
preallocate(Access2D<N> templateBody,
Access2D<N> templateRHS)
Implementiong this method is optional.
|
void |
reset()
Deprecated.
Delete computed results, and resets attributes to default values
|
MatrixStore<N> |
solve(Access2D<N> rhs)
Deprecated.
[A][X]=[B] or [this][return]=[rhs]
|
MatrixStore<N> |
solve(Access2D<N> body,
Access2D<N> rhs)
[A][X]=[B] or [body][return]=[rhs]
|
MatrixStore<N> |
solve(Access2D<N> body,
Access2D<N> rhs,
DecompositionStore<N> preallocated)
Implementiong this method is optional.
|
MatrixStore<N> |
solve(Access2D<N> rhs,
DecompositionStore<N> preallocated)
Deprecated.
Implementiong this method is optional.
|
getClass, hashCode, notify, notifyAll, toString, wait, wait, waitisOrdered, reconstructequals, equals, isComputed, isSolvableinvert, invert, preallocatepreallocate, solve, solve@Deprecated public static final <N extends java.lang.Number> SingularValue<N> make(Access2D<N> aTypical)
SingularValue.make(Access2D) insteadmake in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>@Deprecated public static final SingularValue<java.lang.Double> makeAlternative()
SingularValue.make(Access2D) instead@Deprecated public static final SingularValue<java.math.BigDecimal> makeBig()
SingularValue.makeBig() insteadmakeBig in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>@Deprecated public static final SingularValue<ComplexNumber> makeComplex()
SingularValue.makeComplex() insteadmakeComplex in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>@Deprecated public static final SingularValue<java.lang.Double> makeJama()
SingularValue.makePrimitive() instead@Deprecated public static final SingularValue<java.lang.Double> makePrimitive()
SingularValue.makePrimitive() insteadmakePrimitive in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>public final boolean compute(Access2D<?> matrix)
compute in interface MatrixDecomposition<N extends java.lang.Number & java.lang.Comparable<N>>matrix - A matrix to decomposepublic boolean compute(Access2D<?> matrix, boolean singularValuesOnly, boolean fullSize)
compute in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>matrix - A matrix to decomposesingularValuesOnly - No need to calculate eigenvectorsfullSize - TODOpublic final double getCondition()
SingularValuegetCondition in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>public final MatrixStore<N> getD()
getD in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>public final double getFrobeniusNorm()
SingularValuegetFrobeniusNorm in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>public final MatrixStore<N> getInverse()
MatrixDecompositiongetInverse in interface MatrixDecomposition<N extends java.lang.Number & java.lang.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 java.lang.Number & java.lang.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 java.lang.Number & java.lang.Comparable<N>>k - The number of singular values to add up.public final double getOperatorNorm()
getOperatorNorm in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>public final MatrixStore<N> getQ1()
SingularValuegetQ1 in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>public final MatrixStore<N> getQ2()
SingularValuegetQ2 in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>public final int getRank()
SingularValuegetRank in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>public final Array1D<java.lang.Double> getSingularValues()
getSingularValues in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>public final double getTraceNorm()
getTraceNorm in interface SingularValue<N extends java.lang.Number & java.lang.Comparable<N>>public final boolean isFullSize()
isFullSize in interface MatrixDecomposition<N extends java.lang.Number & java.lang.Comparable<N>>public void reset()
MatrixDecompositionreset in interface MatrixDecomposition<N extends java.lang.Number & java.lang.Comparable<N>>public MatrixStore<N> solve(Access2D<N> rhs)
MatrixDecompositionsolve in interface MatrixDecomposition<N extends java.lang.Number & java.lang.Comparable<N>>public MatrixStore<N> solve(Access2D<N> rhs, 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(Access2D).
solve in interface MatrixDecomposition<N extends java.lang.Number & java.lang.Comparable<N>>rhs - 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 boolean equals(java.lang.Object someObj)
equals in class java.lang.Objectpublic final MatrixStore<N> invert(MatrixStore<N> original)
InverterTaskBasicMatrix.invert()public final MatrixStore<N> invert(MatrixStore<N> original, DecompositionStore<N> preallocated)
InverterTaskImplementiong 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 InverterTask.invert(MatrixStore).
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 MatrixStore<N> solve(Access2D<N> body, Access2D<N> rhs)
SolverTaskpublic final MatrixStore<N> solve(Access2D<N> body, Access2D<N> rhs, DecompositionStore<N> preallocated)
SolverTaskImplementiong 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 SolverTask.solve(Access2D, Access2D).
rhs - 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 DecompositionStore<N> preallocate(Access2D<N> template)
InverterTaskImplementiong this method is optional.
Will create a DecompositionStore instance suitable for use withInverterTask.invert(MatrixStore, DecompositionStore). When solving an equation system [A][X]=[B]
([mxn][nxb]=[mxb]) the preallocated memory/matrix will typically be either mxb or nxb (if A is square
then there is no doubt).preallocate in interface InverterTask<N extends java.lang.Number>public final DecompositionStore<N> preallocate(Access2D<N> templateBody, Access2D<N> templateRHS)
SolverTaskImplementiong this method is optional.
Will create a DecompositionStore instance suitable for use withSolverTask.solve(Access2D, Access2D, DecompositionStore). When solving an equation system [A][X]=[B]
([mxn][nxb]=[mxb]) the preallocated memory/matrix will typically be either mxb or nxb (if A is square
then there is no doubt).preallocate in interface SolverTask<N extends java.lang.Number>public final boolean isComputed()
isComputed in interface MatrixDecomposition<N extends java.lang.Number>MatrixDecomposition.compute(Access2D),
MatrixDecomposition.isSolvable()