Interface MatrixDecomposition<N extends Comparable<N>>

All Superinterfaces:
Structure1D, Structure2D
All Known Subinterfaces:
Bidiagonal<N>, Cholesky<N>, Eigenvalue<N>, Eigenvalue.Generalised<N>, Hessenberg<N>, LDL<N>, LDU<N>, LU<N>, MatrixDecomposition.Determinant<N>, MatrixDecomposition.EconomySize<N>, MatrixDecomposition.Hermitian<N>, MatrixDecomposition.Ordered<N>, MatrixDecomposition.Pivoting<N>, MatrixDecomposition.RankRevealing<N>, MatrixDecomposition.Solver<N>, MatrixDecomposition.Values<N>, QR<N>, SingularValue<N>, Tridiagonal<N>
All Known Implementing Classes:
AbstractDecomposition, BidiagonalDecomposition, BidiagonalDecomposition.C128, BidiagonalDecomposition.H256, BidiagonalDecomposition.Q128, BidiagonalDecomposition.R064, BidiagonalDecomposition.R128, CholeskyDecomposition, CholeskyDecomposition.C128, CholeskyDecomposition.H256, CholeskyDecomposition.Q128, CholeskyDecomposition.R064, CholeskyDecomposition.R128, DeferredTridiagonal, DeferredTridiagonal.C128, DeferredTridiagonal.H256, DeferredTridiagonal.Q128, DeferredTridiagonal.R064, DeferredTridiagonal.R128, DynamicEvD, DynamicEvD.R064, EigenvalueDecomposition, GeneralEvD, GeneralEvD.R064, GeneralisedEvD, GenericDecomposition, HermitianEvD, HermitianEvD.C128, HermitianEvD.H256, HermitianEvD.Q128, HermitianEvD.R064, HermitianEvD.R128, HessenbergDecomposition, HessenbergDecomposition.C128, HessenbergDecomposition.H256, HessenbergDecomposition.Q128, HessenbergDecomposition.R064, HessenbergDecomposition.R128, InPlaceDecomposition, LDLDecomposition, LDLDecomposition.C128, LDLDecomposition.H256, LDLDecomposition.Q128, LDLDecomposition.R064, LDLDecomposition.R128, LUDecomposition, LUDecomposition.C128, LUDecomposition.H256, LUDecomposition.Q128, LUDecomposition.R064, LUDecomposition.R128, QRDecomposition, QRDecomposition.C128, QRDecomposition.H256, QRDecomposition.Q128, QRDecomposition.R064, QRDecomposition.R128, RawCholesky, RawDecomposition, RawEigenvalue, RawEigenvalue.Dynamic, RawEigenvalue.General, RawEigenvalue.Symmetric, RawLU, RawQR, RawSingularValue, SimultaneousTridiagonal, SingularValueDecomposition, SingularValueDecomposition.C128, SingularValueDecomposition.H256, SingularValueDecomposition.Q128, SingularValueDecomposition.R064, SingularValueDecomposition.R128, TridiagonalDecomposition

public interface MatrixDecomposition<N extends Comparable<N>> extends Structure2D
Notation used to describe the various matrix decompositions:
  • [A] could be any matrix. (The original 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]. Alternatively [U] is also used to denominate the left, orthonormal, singular vectors.
  • [V] is an eigenvector matrix and/or an orthogonal matrix – the columns are the eigenvectors or the right, orthonormal, singular vectors.
  • Field Details

  • Method Details

    • decompose

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

      boolean isComputed()
      Returns:
      true if decomposition has been attemped and was successful; false if not.
      See Also:
    • reconstruct

      MatrixStore<N> reconstruct()
    • reset

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