org.ojalgo.matrix.decomposition

## Interface MatrixDecomposition<N extends Number>

• All Known Subinterfaces:
Bidiagonal<N>, Cholesky<N>, Eigenvalue<N>, Hessenberg<N>, LDL<N>, LDU<N>, LU<N>, MatrixDecomposition.Determinant<N>, MatrixDecomposition.EconomySize<N>, MatrixDecomposition.Hermitian<N>, MatrixDecomposition.Solver<N>, MatrixDecomposition.Values<N>, QR<N>, Schur<N>, SingularValue<N>, Tridiagonal<N>
All Known Implementing Classes:
HermitianEvD

`public interface MatrixDecomposition<N extends Number>`
Notation used to describe the various matrix decompositions:
• [A] could be any matrix. (The matrix to decompose.)
• [A]-1 is the inverse of [A].
• [A]T is the transpose of [A].
• [A]H is the conjugate transpose of [A]. [A]H is equilvalent to [A]T if the elements are all real.
• [D] is a diagonal matrix. Possibly bi-, tri- or block-diagonal.
• [H] is an, upper or lower, Hessenberg matrix.
• [I] is an identity matrix - obvioulsly orthogonal/unitary.
• [L] is a lower (left) triangular matrix.
• [P] is a permutation matrix - an identity matrix with interchanged rows or columns - and orthogonal/unitary.
• [Q] is an orthogonal/unitary matrix. [Q]-1 = [Q]H, and with real matrices = [Q] T.
• [R] is a right (upper) tringular matrix. It is equivalent to [U].
• [U] is an upper (right) triangular matrix. It is equivalent to [R].
• [V] is an eigenvector matrix. The columns are the eigenvectors
Author:
apete
• ### Nested Class Summary

Nested Classes
Modifier and Type Interface and Description
`static interface ` `MatrixDecomposition.Determinant<N extends Number>`
`static interface ` `MatrixDecomposition.EconomySize<N extends Number>`
Several matrix decompositions can be expressed "economy sized" - some rows or columns of the decomposed matrix parts are not needed for the most releveant use cases, and can therefore be left out.
`static interface ` `MatrixDecomposition.Factory<D extends MatrixDecomposition<?>>`
`static interface ` `MatrixDecomposition.Hermitian<N extends Number>`
Some matrix decompositions are only available with hermitian (symmetric) matrices or different decomposition algorithms could be used depending on if the matrix is hemitian or not.
`static interface ` `MatrixDecomposition.Solver<N extends Number>`
`static interface ` `MatrixDecomposition.Values<N extends Number>`
Eigenvalue:s and Singular Value:s decompositions can calculate the "values" only, and the resulting matrices and arrays can have their elements sorted or not.
• ### Field Summary

Fields
Modifier and Type Field and Description
`static Structure2D` `TYPICAL`
• ### Method Summary

All Methods
Modifier and Type Method and Description
`boolean` `decompose(Access2D.Collectable<N,? super PhysicalStore<N>> matrix)`
`boolean` `isComputed()`
`MatrixStore<N>` `reconstruct()`
Deprecated.
`void` `reset()`
Delete computed results, and resets attributes to default values
• ### Field Detail

• #### TYPICAL

`static final Structure2D TYPICAL`
• ### Method Detail

• #### decompose

`boolean decompose(Access2D.Collectable<N,? super PhysicalStore<N>> matrix)`
Parameters:
`matrix` - A matrix to decompose
Returns:
true if the computation suceeded; false if not
• #### isComputed

`boolean isComputed()`
Returns:
true if computation has been attemped; false if not.
See Also:
`#decompose(Access2D.Collectable>)`
• #### reconstruct

```@Deprecated
MatrixStore<N> reconstruct()```
Deprecated. v39 Use `MatrixUtils` instead
• #### reset

`void reset()`
Delete computed results, and resets attributes to default values

Copyright © 2017 Optimatika. All rights reserved.