@Deprecated public abstract class LUDecomposition<N extends java.lang.Number> extends java.lang.Object implements LU<N>
InverterTask.Factory<N extends java.lang.Number>SolverTask.Factory<N extends java.lang.Number>DeterminantTask.Factory<N extends java.lang.Number>BIG, COMPLEX, PRIMITIVEBIG, COMPLEX, PRIMITIVEBIG, COMPLEX, PRIMITIVE| Modifier and Type | Method and Description |
|---|---|
boolean |
compute(Access2D<?> aStore)
Deprecated.
|
boolean |
computeWithoutPivoting(MatrixStore<?> matrix)
Deprecated.
The normal
MatrixDecomposition.compute(Access2D) method must handle cases where pivoting is required. |
boolean |
equals(MatrixStore<N> aStore,
NumberContext context)
Deprecated.
|
boolean |
equals(java.lang.Object someObj) |
N |
getDeterminant()
Deprecated.
|
MatrixStore<N> |
getInverse()
The output must be a "right inverse" and a "generalised inverse".
|
MatrixStore<N> |
getInverse(DecompositionStore<N> preallocated)
Deprecated.
Implementiong this method is optional.
|
MatrixStore<N> |
getL()
Deprecated.
|
int[] |
getPivotOrder()
Deprecated.
This can be used to create a [P] matrix using IdentityStore in combination with
RowsStore or ColumnsStore.
|
int |
getRank()
Deprecated.
|
int[] |
getReducedPivots()
Deprecated.
|
MatrixStore<N> |
getU()
Deprecated.
http://en.wikipedia.org/wiki/Row_echelon_form
This is the same as [D][U]. |
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.
|
boolean |
isSolvable()
Deprecated.
|
boolean |
isSquareAndNotSingular()
Deprecated.
|
static <N extends java.lang.Number> |
make(Access2D<N> aTypical)
Deprecated.
v38 Use
LU.make(Access2D) instead |
static LU<java.math.BigDecimal> |
makeBig()
Deprecated.
v38 Use
LU.makeBig() instead |
static LU<ComplexNumber> |
makeComplex()
Deprecated.
v38 Use
LU.makeComplex() instead |
static LU<java.lang.Double> |
makeJama()
Deprecated.
v38 Use
LU.makePrimitive() instead |
static LU<java.lang.Double> |
makePrimitive()
Deprecated.
v38 Use
LU.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)
[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.
Solves [this][X] = [rhs] by first solving
|
getClass, hashCode, notify, notifyAll, toString, wait, wait, waitreconstructcalculateDeterminantequals, getInverse, isComputed, solveinvert, invert, preallocatepreallocate, solve, solve@Deprecated public static final <N extends java.lang.Number> LU<N> make(Access2D<N> aTypical)
LU.make(Access2D) instead@Deprecated public static final LU<java.math.BigDecimal> makeBig()
LU.makeBig() instead@Deprecated public static final LU<ComplexNumber> makeComplex()
LU.makeComplex() insteadmakeComplex in interface LU<N extends java.lang.Number>@Deprecated public static final LU<java.lang.Double> makeJama()
LU.makePrimitive() instead@Deprecated public static final LU<java.lang.Double> makePrimitive()
LU.makePrimitive() insteadmakePrimitive in interface LU<N extends java.lang.Number>public boolean compute(Access2D<?> aStore)
compute in interface MatrixDecomposition<N extends java.lang.Number>aStore - A matrix to decomposepublic boolean computeWithoutPivoting(MatrixStore<?> matrix)
LUMatrixDecomposition.compute(Access2D) method must handle cases where pivoting is required. If you know
that pivoting is not needed you may call this method instead - it's faster.computeWithoutPivoting in interface LU<N extends java.lang.Number>public boolean equals(MatrixStore<N> aStore, NumberContext context)
equals in interface MatrixDecomposition<N extends java.lang.Number>public N getDeterminant()
getDeterminant in interface LDU<N extends java.lang.Number>public 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>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 MatrixStore<N> getL()
public int[] getPivotOrder()
LUgetPivotOrder in interface LU<N extends java.lang.Number>public int getRank()
public int[] getReducedPivots()
public MatrixStore<N> getU()
LUgetU in interface LU<N extends java.lang.Number>LU.getPivotOrder(),
LU.getL()public final boolean isFullSize()
isFullSize in interface MatrixDecomposition<N extends java.lang.Number>public boolean isSolvable()
isSolvable in interface MatrixDecomposition<N extends java.lang.Number>MatrixDecomposition.solve(Access2D),
MatrixDecomposition.isComputed()public final boolean isSquareAndNotSingular()
isSquareAndNotSingular in interface LU<N extends java.lang.Number>public void reset()
MatrixDecompositionreset in interface MatrixDecomposition<N extends java.lang.Number>public MatrixStore<N> solve(Access2D<N> rhs, DecompositionStore<N> preallocated)
[L][Y] = [rhs]and then
[U][X] = [Y]
solve in interface MatrixDecomposition<N extends java.lang.Number>rhs - The right hand sidepreallocated - 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 MatrixStore<N> getInverse()
MatrixDecompositionBasicMatrix.invert()public final MatrixStore<N> solve(Access2D<N> rhs)
MatrixDecompositionpublic 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()