Interface DecompositionInterface<T extends Matrix>

All Known Subinterfaces:
BidiagonalDecomposition<T>, BidiagonalDecomposition_F32<T>, BidiagonalDecomposition_F64<T>, CholeskyDecomposition<MatrixType>, CholeskyDecomposition_F32<MatrixType>, CholeskyDecomposition_F64<MatrixType>, CholeskyLDLDecomposition<MatrixType>, CholeskyLDLDecomposition_F32<MatrixType>, CholeskyLDLDecomposition_F64<MatrixType>, CholeskySparseDecomposition<MatrixType>, CholeskySparseDecomposition_F32<MatrixType>, CholeskySparseDecomposition_F64<MatrixType>, DecompositionSparseInterface<T>, EigenDecomposition<T>, EigenDecomposition_F32<MatrixType>, EigenDecomposition_F64<MatrixType>, LUDecomposition<T>, LUDecomposition_F32<T>, LUDecomposition_F64<T>, LUSparseDecomposition<MatrixType>, LUSparseDecomposition_F32<T>, LUSparseDecomposition_F64<T>, QRDecomposition<T>, QRPDecomposition<T>, QRPDecomposition_F32<T>, QRPDecomposition_F64<T>, QrpSparseDecomposition<T>, QRSparseDecomposition<T>, SingularValueDecomposition<T>, SingularValueDecomposition_F32<T>, SingularValueDecomposition_F64<T>, TridiagonalSimilarDecomposition<MatrixType>, TridiagonalSimilarDecomposition_F32<MatrixType>, TridiagonalSimilarDecomposition_F64<MatrixType>
All Known Implementing Classes:
BaseDecomposition_DDRB_to_DDRM, BaseDecomposition_FDRB_to_FDRM, BidiagonalDecompositionRow_DDRM, BidiagonalDecompositionRow_FDRM, BidiagonalDecompositionRow_MT_DDRM, BidiagonalDecompositionRow_MT_FDRM, BidiagonalDecompositionTall_DDRM, BidiagonalDecompositionTall_FDRM, BidiagonalDecompositionTall_MT_DDRM, BidiagonalDecompositionTall_MT_FDRM, CholeskyDecomposition_DDRB_to_DDRM, CholeskyDecomposition_FDRB_to_FDRM, CholeskyDecompositionBlock_DDRM, CholeskyDecompositionBlock_FDRM, CholeskyDecompositionBlock_MT_DDRM, CholeskyDecompositionBlock_MT_FDRM, CholeskyDecompositionCommon_CDRM, CholeskyDecompositionCommon_DDRM, CholeskyDecompositionCommon_FDRM, CholeskyDecompositionCommon_ZDRM, CholeskyDecompositionInner_CDRM, CholeskyDecompositionInner_DDRM, CholeskyDecompositionInner_FDRM, CholeskyDecompositionInner_ZDRM, CholeskyDecompositionLDL_DDRM, CholeskyDecompositionLDL_FDRM, CholeskyOuterForm_DDRB, CholeskyOuterForm_FDRB, CholeskyOuterForm_MT_DDRB, CholeskyOuterForm_MT_FDRB, CholeskyUpLooking_DSCC, CholeskyUpLooking_FSCC, HessenbergSimilarDecomposition_CDRM, HessenbergSimilarDecomposition_DDRM, HessenbergSimilarDecomposition_FDRM, HessenbergSimilarDecomposition_MT_DDRM, HessenbergSimilarDecomposition_MT_FDRM, HessenbergSimilarDecomposition_ZDRM, LUDecompositionAlt_CDRM, LUDecompositionAlt_DDRM, LUDecompositionAlt_FDRM, LUDecompositionAlt_ZDRM, LUDecompositionBase_CDRM, LUDecompositionBase_DDRM, LUDecompositionBase_FDRM, LUDecompositionBase_ZDRM, LuUpLooking_DSCC, LuUpLooking_FSCC, QRColPivDecompositionHouseholderColumn_DDRM, QRColPivDecompositionHouseholderColumn_FDRM, QRDecomposition_DDRB_to_DDRM, QRDecomposition_FDRB_to_FDRM, QRDecompositionHouseholder_CDRM, QRDecompositionHouseholder_DDRB, QRDecompositionHouseholder_DDRM, QRDecompositionHouseholder_FDRB, QRDecompositionHouseholder_FDRM, QRDecompositionHouseholder_MT_DDRB, QRDecompositionHouseholder_MT_FDRB, QRDecompositionHouseholder_ZDRM, QRDecompositionHouseholderColumn_CDRM, QRDecompositionHouseholderColumn_DDRM, QRDecompositionHouseholderColumn_FDRM, QRDecompositionHouseholderColumn_MT_DDRM, QRDecompositionHouseholderColumn_MT_FDRM, QRDecompositionHouseholderColumn_ZDRM, QRDecompositionHouseholderTran_CDRM, QRDecompositionHouseholderTran_DDRM, QRDecompositionHouseholderTran_FDRM, QRDecompositionHouseholderTran_ZDRM, QrLeftLookingDecomposition_DSCC, QrLeftLookingDecomposition_FSCC, SafeSvd_DDRM, SafeSvd_FDRM, SvdImplicitQrDecompose_DDRM, SvdImplicitQrDecompose_FDRM, SvdImplicitQrDecompose_MT_DDRM, SvdImplicitQrDecompose_MT_FDRM, SwitchingEigenDecomposition_DDRM, SwitchingEigenDecomposition_FDRM, SymmetricQRAlgorithmDecomposition_DDRM, SymmetricQRAlgorithmDecomposition_FDRM, TridiagonalDecomposition_DDRB_to_DDRM, TridiagonalDecomposition_FDRB_to_FDRM, TridiagonalDecompositionHouseholder_CDRM, TridiagonalDecompositionHouseholder_DDRB, TridiagonalDecompositionHouseholder_DDRM, TridiagonalDecompositionHouseholder_FDRB, TridiagonalDecompositionHouseholder_FDRM, TridiagonalDecompositionHouseholder_MT_DDRB, TridiagonalDecompositionHouseholder_MT_DDRM, TridiagonalDecompositionHouseholder_MT_FDRB, TridiagonalDecompositionHouseholder_MT_FDRM, TridiagonalDecompositionHouseholder_ZDRM, WatchedDoubleStepQRDecomposition_DDRM, WatchedDoubleStepQRDecomposition_FDRM

public interface DecompositionInterface<T extends Matrix>

An interface for performing matrix decompositions.

A matrix decomposition is an algorithm which decomposes the input matrix into a set of equivalent matrices that store the same information as the original. Decompositions are useful in that they allow specialized efficient algorithms to be run on generic input matrices.

By default most decompositions will modify the input matrix. This is done to save memory and simply code by reducing the number of cases which need to be tested.

  • Method Summary

    Modifier and Type Method Description
    boolean decompose​(T orig)
    Computes the decomposition of the input matrix.
    boolean inputModified()
    Is the input matrix to decompose(org.ejml.data.Matrix) is modified during the decomposition process.
  • Method Details

    • decompose

      boolean decompose​(T orig)
      Computes the decomposition of the input matrix. Depending on the implementation the input matrix might be stored internally or modified. If it is modified then the function inputModified() will return true and the matrix should not be modified until the decomposition is no longer needed.
      Parameters:
      orig - The matrix which is being decomposed. Modification is implementation dependent.
      Returns:
      Returns if it was able to decompose the matrix.
    • inputModified

      boolean inputModified()
      Is the input matrix to decompose(org.ejml.data.Matrix) is modified during the decomposition process.
      Returns:
      true if the input matrix to decompose() is modified.