@Deprecated public abstract class EigenvalueDecomposition<N extends java.lang.Number> extends java.lang.Object implements Eigenvalue<N>
SolverTask.Factory<N extends java.lang.Number>DeterminantTask.Factory<N extends java.lang.Number>BIG, COMPLEX, PRIMITIVEBIG, COMPLEX, PRIMITIVE| Modifier and Type | Method and Description |
|---|---|
N |
calculateDeterminant(Access2D<N> matrix)
Deprecated.
|
boolean |
checkAndCompute(Access2D<?> matrix)
Deprecated.
Will check if then the input matrix is hermitian and if it is then compute the decomposition.
|
boolean |
compute(Access2D<?> matrix)
Deprecated.
|
boolean |
equals(java.lang.Object someObj) |
MatrixStore<N> |
getD()
Deprecated.
The only requirements on [D] are that it should contain the eigenvalues and that [A][V] = [V][D].
|
Array1D<ComplexNumber> |
getEigenvalues()
Deprecated.
Even for real matrices the eigenvalues are potentially complex numbers.
|
MatrixStore<N> |
getV()
Deprecated.
The columns of [V] represent the eigenvectors of [A] in the sense that [A][V] = [V][D].
|
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() |
static <N extends java.lang.Number> |
make(Access2D<N> template)
Deprecated.
v38 Use
Eigenvalue.makePrimitive(boolean) instead |
static Eigenvalue<java.math.BigDecimal> |
makeBig()
Deprecated.
v38 Use
Eigenvalue.makeBig() instead |
static Eigenvalue<java.math.BigDecimal> |
makeBig(boolean symmetric)
Deprecated.
v38 Use
Eigenvalue.makeBig(boolean) instead |
static Eigenvalue<ComplexNumber> |
makeComplex()
Deprecated.
v38 Use
Eigenvalue.makeComplex() instead |
static Eigenvalue<ComplexNumber> |
makeComplex(boolean hermitian)
Deprecated.
v38 Use
Eigenvalue.makeComplex(boolean) instead |
static Eigenvalue<java.lang.Double> |
makeJama()
Deprecated.
v38 Use
Eigenvalue.makePrimitive() instead |
static Eigenvalue<java.lang.Double> |
makeJama(boolean symmetric)
Deprecated.
v38 Use
Eigenvalue.makePrimitive(boolean) instead |
static Eigenvalue<java.lang.Double> |
makePrimitive()
Deprecated.
v38 Use
Eigenvalue.makePrimitive() instead |
static Eigenvalue<java.lang.Double> |
makePrimitive(boolean symmetric)
Deprecated.
v38 Use
Eigenvalue.makePrimitive(boolean) 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, waitcompute, getDeterminant, getTrace, isHermitian, isOrdered, reconstructequals, equals, getInverse, getInverse, isComputed, isFullSize, isSolvableinvert, invert, preallocatepreallocate, solve, solve@Deprecated public static final <N extends java.lang.Number> Eigenvalue<N> make(Access2D<N> template)
Eigenvalue.makePrimitive(boolean) insteadmake in interface Eigenvalue<N extends java.lang.Number>@Deprecated public static final Eigenvalue<java.math.BigDecimal> makeBig()
Eigenvalue.makeBig() insteadmakeBig in interface Eigenvalue<N extends java.lang.Number>@Deprecated public static final Eigenvalue<java.math.BigDecimal> makeBig(boolean symmetric)
Eigenvalue.makeBig(boolean) insteadmakeBig in interface Eigenvalue<N extends java.lang.Number>@Deprecated public static final Eigenvalue<ComplexNumber> makeComplex()
Eigenvalue.makeComplex() insteadmakeComplex in interface Eigenvalue<N extends java.lang.Number>@Deprecated public static final Eigenvalue<ComplexNumber> makeComplex(boolean hermitian)
Eigenvalue.makeComplex(boolean) insteadmakeComplex in interface Eigenvalue<N extends java.lang.Number>@Deprecated public static final Eigenvalue<java.lang.Double> makeJama()
Eigenvalue.makePrimitive() instead@Deprecated public static final Eigenvalue<java.lang.Double> makeJama(boolean symmetric)
Eigenvalue.makePrimitive(boolean) instead@Deprecated public static final Eigenvalue<java.lang.Double> makePrimitive()
Eigenvalue.makePrimitive() insteadmakePrimitive in interface Eigenvalue<N extends java.lang.Number>@Deprecated public static final Eigenvalue<java.lang.Double> makePrimitive(boolean symmetric)
Eigenvalue.makePrimitive(boolean) insteadmakePrimitive in interface Eigenvalue<N extends java.lang.Number>public final N calculateDeterminant(Access2D<N> matrix)
calculateDeterminant in interface DeterminantTask<N extends java.lang.Number>public final boolean compute(Access2D<?> matrix)
compute in interface MatrixDecomposition<N extends java.lang.Number>matrix - A matrix to decomposepublic final MatrixStore<N> getD()
EigenvaluegetD in interface Eigenvalue<N extends java.lang.Number>public final Array1D<ComplexNumber> getEigenvalues()
EigenvalueEven for real matrices the eigenvalues are potentially complex numbers. Typically they need to be expressed as complex numbers when [A] is not symmetric.
The eigenvalues in this array should be ordered in descending order - largest (modulus) first.
getEigenvalues in interface Eigenvalue<N extends java.lang.Number>public final MatrixStore<N> getV()
EigenvaluegetV in interface Eigenvalue<N extends java.lang.Number>public final boolean checkAndCompute(Access2D<?> matrix)
HermitianDecompositioncheckAndCompute in interface HermitianDecomposition<N extends java.lang.Number>matrix - A matrix to decomposepublic void reset()
MatrixDecompositionreset in interface MatrixDecomposition<N extends java.lang.Number>public final MatrixStore<N> solve(Access2D<N> rhs)
MatrixDecompositionsolve in interface MatrixDecomposition<N extends java.lang.Number>public final 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>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()