Interface BidiagonalDecomposition<T extends Matrix>

All Superinterfaces:
DecompositionInterface<T>
All Known Subinterfaces:
BidiagonalDecomposition_F32<T>, BidiagonalDecomposition_F64<T>
All Known Implementing Classes:
BidiagonalDecompositionRow_DDRM, BidiagonalDecompositionRow_FDRM, BidiagonalDecompositionRow_MT_DDRM, BidiagonalDecompositionRow_MT_FDRM, BidiagonalDecompositionTall_DDRM, BidiagonalDecompositionTall_FDRM, BidiagonalDecompositionTall_MT_DDRM, BidiagonalDecompositionTall_MT_FDRM

public interface BidiagonalDecomposition<T extends Matrix> extends DecompositionInterface<T>

Computes a matrix decomposition such that:

A = U*B*VT

where A is m by n, U is orthogonal and m by m, B is an m by n bidiagonal matrix, V is orthogonal and n by n. This is used as a first step in computing the SVD of a matrix for the QR algorithm approach.

A bidiagonal matrix has zeros in every element except for the two diagonals.

b_ij = 0 if i > j or i < j-1

  • Method Summary

    Modifier and Type
    Method
    Description
    getB(T B, boolean compact)
    Returns the bidiagonal matrix.
    getU(T U, boolean transpose, boolean compact)
    Returns the orthogonal U matrix.
    getV(T V, boolean transpose, boolean compact)
    Returns the orthogonal V matrix.

    Methods inherited from interface org.ejml.interfaces.decomposition.DecompositionInterface

    decompose, inputModified
  • Method Details

    • getB

      T getB(@Nullable T B, boolean compact)
      Returns the bidiagonal matrix.
      Parameters:
      B - If not null the results are stored here, if null a new matrix is created.
      Returns:
      The bidiagonal matrix.
    • getU

      T getU(@Nullable T U, boolean transpose, boolean compact)
      Returns the orthogonal U matrix.
      Parameters:
      U - If not null then the results will be stored here. Otherwise a new matrix will be created.
      Returns:
      The extracted Q matrix.
    • getV

      T getV(@Nullable T V, boolean transpose, boolean compact)
      Returns the orthogonal V matrix.
      Parameters:
      V - If not null then the results will be stored here. Otherwise a new matrix will be created.
      Returns:
      The extracted Q matrix.