@Deprecated public final class RawSingularValue extends java.lang.Object implements SingularValue<java.lang.Double>
InverterTask.Factory<N extends java.lang.Number>SolverTask.Factory<N extends java.lang.Number>BIG, COMPLEX, PRIMITIVEBIG, COMPLEX, PRIMITIVE| Constructor and Description |
|---|
RawSingularValue()
Deprecated.
Not recommended to use this constructor directly.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
compute(Access2D<?> matrix)
Deprecated.
|
boolean |
compute(Access2D<?> matrix,
boolean singularValuesOnly,
boolean fullSize)
Deprecated.
|
boolean |
equals(MatrixStore<java.lang.Double> aStore,
NumberContext context)
Deprecated.
|
double |
getCondition()
Deprecated.
The condition number.
|
RawStore |
getD()
Deprecated.
|
double |
getFrobeniusNorm()
Deprecated.
Sometimes also called the Schatten 2-norm or Hilbert-Schmidt norm.
|
RawStore |
getInverse()
Deprecated.
The output must be a "right inverse" and a "generalised inverse".
|
MatrixStore<java.lang.Double> |
getInverse(DecompositionStore<java.lang.Double> preallocated)
Deprecated.
Makes no use of
preallocated at all. |
double |
getKyFanNorm(int k)
Deprecated.
Ky Fan k-norm.
|
double |
getOperatorNorm()
Deprecated.
|
RawStore |
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.
|
RawStore |
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<java.lang.Double> |
invert(MatrixStore<java.lang.Double> original)
The output must be a "right inverse" and a "generalised inverse".
|
MatrixStore<java.lang.Double> |
invert(MatrixStore<java.lang.Double> original,
DecompositionStore<java.lang.Double> preallocated)
Implementiong this method is optional.
|
boolean |
isComputed() |
boolean |
isFullSize()
Deprecated.
|
boolean |
isOrdered()
Deprecated.
|
boolean |
isSolvable()
Deprecated.
|
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
|
RawStore |
solve(Access2D<java.lang.Double> rhs)
Deprecated.
Internally this implementation uses the pseudoinverse that is recreated with every call.
|
MatrixStore<java.lang.Double> |
solve(Access2D<java.lang.Double> body,
Access2D<java.lang.Double> rhs)
[A][X]=[B] or [body][return]=[rhs]
|
MatrixStore<java.lang.Double> |
solve(Access2D<java.lang.Double> body,
Access2D<java.lang.Double> rhs,
DecompositionStore<java.lang.Double> preallocated)
Implementiong this method is optional.
|
MatrixStore<java.lang.Double> |
solve(Access2D<java.lang.Double> rhs,
DecompositionStore<java.lang.Double> preallocated)
Makes no use of
preallocated at all. |
java.lang.String |
toString()
Deprecated.
|
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitmake, makeBig, makeComplex, makePrimitive, reconstructequals, isComputed, solveinvert, invert, preallocatepreallocate, solve, solvepublic RawSingularValue()
public boolean compute(Access2D<?> matrix, boolean singularValuesOnly, boolean fullSize)
compute in interface SingularValue<java.lang.Double>matrix - A matrix to decomposesingularValuesOnly - No need to calculate eigenvectorsfullSize - TODOpublic boolean equals(MatrixStore<java.lang.Double> aStore, NumberContext context)
equals in interface MatrixDecomposition<java.lang.Double>public double getCondition()
SingularValuegetCondition in interface SingularValue<java.lang.Double>public RawStore getD()
getD in interface SingularValue<java.lang.Double>public double getFrobeniusNorm()
SingularValuegetFrobeniusNorm in interface SingularValue<java.lang.Double>public RawStore getInverse()
MatrixDecompositiongetInverse in interface MatrixDecomposition<java.lang.Double>BasicMatrix.invert()public 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<java.lang.Double>k - The number of singular values to add up.public double getOperatorNorm()
getOperatorNorm in interface SingularValue<java.lang.Double>public RawStore getQ1()
SingularValuegetQ1 in interface SingularValue<java.lang.Double>public RawStore getQ2()
SingularValuegetQ2 in interface SingularValue<java.lang.Double>public int getRank()
SingularValuegetRank in interface SingularValue<java.lang.Double>public Array1D<java.lang.Double> getSingularValues()
getSingularValues in interface SingularValue<java.lang.Double>public double getTraceNorm()
getTraceNorm in interface SingularValue<java.lang.Double>public boolean isFullSize()
isFullSize in interface MatrixDecomposition<java.lang.Double>public boolean isOrdered()
isOrdered in interface SingularValue<java.lang.Double>public boolean isSolvable()
isSolvable in interface MatrixDecomposition<java.lang.Double>MatrixDecomposition.solve(Access2D),
MatrixDecomposition.isComputed()public void reset()
MatrixDecompositionreset in interface MatrixDecomposition<java.lang.Double>public RawStore solve(Access2D<java.lang.Double> rhs)
solve in interface MatrixDecomposition<java.lang.Double>public java.lang.String toString()
toString in class java.lang.Objectpublic final boolean compute(Access2D<?> matrix)
compute in interface MatrixDecomposition<java.lang.Double>matrix - A matrix to decomposepublic final MatrixStore<java.lang.Double> getInverse(DecompositionStore<java.lang.Double> preallocated)
preallocated at all. Simply delegates to getInverse().getInverse in interface MatrixDecomposition<java.lang.Double>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.MatrixDecomposition.getInverse(org.ojalgo.matrix.decomposition.DecompositionStore)public final MatrixStore<java.lang.Double> invert(MatrixStore<java.lang.Double> original)
InverterTaskBasicMatrix.invert()public final MatrixStore<java.lang.Double> invert(MatrixStore<java.lang.Double> original, DecompositionStore<java.lang.Double> 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<java.lang.Double> solve(Access2D<java.lang.Double> body, Access2D<java.lang.Double> rhs)
SolverTaskpublic final MatrixStore<java.lang.Double> solve(Access2D<java.lang.Double> body, Access2D<java.lang.Double> rhs, DecompositionStore<java.lang.Double> 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 MatrixStore<java.lang.Double> solve(Access2D<java.lang.Double> rhs, DecompositionStore<java.lang.Double> preallocated)
preallocated at all. Simply delegates to MatrixDecomposition.solve(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.MatrixDecomposition.solve(Access2D,
org.ojalgo.matrix.decomposition.DecompositionStore)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()