@Deprecated public abstract class RawEigenvalue extends java.lang.Object implements Eigenvalue<java.lang.Double>
Modifier and Type | Class and Description |
---|---|
static class |
RawEigenvalue.General
Deprecated.
|
static class |
RawEigenvalue.Nonsymmetric
Deprecated.
|
static class |
RawEigenvalue.Symmetric
Deprecated.
|
SolverTask.Factory<N extends java.lang.Number>
DeterminantTask.Factory<N extends java.lang.Number>
BIG, COMPLEX, PRIMITIVE
BIG, COMPLEX, PRIMITIVE
Modifier and Type | Method and Description |
---|---|
java.lang.Double |
calculateDeterminant(Access2D<java.lang.Double> matrix)
Deprecated.
|
boolean |
compute(Access2D<?> matrix)
Deprecated.
|
boolean |
compute(Access2D<?> matrix,
boolean eigenvaluesOnly)
Deprecated.
|
boolean |
equals(MatrixStore<java.lang.Double> aStore,
NumberContext context)
Deprecated.
|
RawStore |
getD()
Deprecated.
The only requirements on [D] are that it should contain the eigenvalues and that [A][V] = [V][D].
|
java.lang.Double |
getDeterminant()
Deprecated.
A matrix' determinant is the product of its eigenvalues.
|
Array1D<ComplexNumber> |
getEigenvalues()
Deprecated.
Even for real matrices the eigenvalues are potentially complex numbers.
|
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. |
ComplexNumber |
getTrace()
Deprecated.
A matrix' trace is the sum of the diagonal elements.
|
RawStore |
getV()
Deprecated.
The columns of [V] represent the eigenvectors of [A] in the sense that [A][V] = [V][D].
|
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 |
isHermitian()
Deprecated.
If [A] is hermitian then [V][D][V]-1 becomes [Q][D][Q]H...
|
boolean |
isOrdered()
Deprecated.
The eigenvalues in D (and the eigenvectors in V) are not necessarily ordered.
|
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.
|
MatrixStore<java.lang.Double> |
reconstruct()
Deprecated.
|
void |
reset()
Deprecated.
Delete computed results, and resets attributes to default values
|
RawStore |
solve(Access2D<java.lang.Double> rhs)
Deprecated.
[A][X]=[B] or [this][return]=[rhs]
|
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, wait
make, makeBig, makeBig, makeComplex, makeComplex, makePrimitive, makePrimitive
checkAndCompute
equals, isComputed, solve
invert, invert, preallocate
preallocate, solve, solve
public java.lang.Double calculateDeterminant(Access2D<java.lang.Double> matrix)
calculateDeterminant
in interface DeterminantTask<java.lang.Double>
public boolean compute(Access2D<?> matrix, boolean eigenvaluesOnly)
compute
in interface Eigenvalue<java.lang.Double>
matrix
- A matrix to decomposeeigenvaluesOnly
- No need to calculate eigenvectorspublic boolean equals(MatrixStore<java.lang.Double> aStore, NumberContext context)
equals
in interface MatrixDecomposition<java.lang.Double>
public RawStore getD()
Eigenvalue
getD
in interface Eigenvalue<java.lang.Double>
public java.lang.Double getDeterminant()
Eigenvalue
A matrix' determinant is the product of its eigenvalues.
getDeterminant
in interface Eigenvalue<java.lang.Double>
public Array1D<ComplexNumber> getEigenvalues()
Eigenvalue
Even 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<java.lang.Double>
public RawStore getInverse()
MatrixDecomposition
getInverse
in interface MatrixDecomposition<java.lang.Double>
BasicMatrix.invert()
public ComplexNumber getTrace()
Eigenvalue
getTrace
in interface Eigenvalue<java.lang.Double>
public RawStore getV()
Eigenvalue
getV
in interface Eigenvalue<java.lang.Double>
public boolean isFullSize()
isFullSize
in interface MatrixDecomposition<java.lang.Double>
public boolean isHermitian()
Eigenvalue
isHermitian
in interface Eigenvalue<java.lang.Double>
public boolean isOrdered()
Eigenvalue
isOrdered
in interface Eigenvalue<java.lang.Double>
public boolean isSolvable()
isSolvable
in interface MatrixDecomposition<java.lang.Double>
MatrixDecomposition.solve(Access2D)
,
MatrixDecomposition.isComputed()
public MatrixStore<java.lang.Double> reconstruct()
reconstruct
in interface Eigenvalue<java.lang.Double>
reconstruct
in interface MatrixDecomposition<java.lang.Double>
public void reset()
MatrixDecomposition
reset
in interface MatrixDecomposition<java.lang.Double>
public RawStore solve(Access2D<java.lang.Double> rhs)
MatrixDecomposition
solve
in interface MatrixDecomposition<java.lang.Double>
public java.lang.String toString()
toString
in class java.lang.Object
public 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)
InverterTask
BasicMatrix.invert()
public final MatrixStore<java.lang.Double> invert(MatrixStore<java.lang.Double> original, DecompositionStore<java.lang.Double> preallocated)
InverterTask
Implementiong 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)
SolverTask
public final MatrixStore<java.lang.Double> solve(Access2D<java.lang.Double> body, Access2D<java.lang.Double> rhs, DecompositionStore<java.lang.Double> preallocated)
SolverTask
Implementiong 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)
InverterTask
Implementiong 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)
SolverTask
Implementiong 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()