Class BidiagonalDecompositionRow_FDRM

java.lang.Object
org.ejml.dense.row.decomposition.bidiagonal.BidiagonalDecompositionRow_FDRM
All Implemented Interfaces:
org.ejml.interfaces.decomposition.BidiagonalDecomposition<org.ejml.data.FMatrixRMaj>, org.ejml.interfaces.decomposition.BidiagonalDecomposition_F32<org.ejml.data.FMatrixRMaj>, org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>
Direct Known Subclasses:
BidiagonalDecompositionRow_MT_FDRM

@Generated("org.ejml.dense.row.decomposition.bidiagonal.BidiagonalDecompositionRow_DDRM") public class BidiagonalDecompositionRow_FDRM extends Object implements org.ejml.interfaces.decomposition.BidiagonalDecomposition_F32<org.ejml.data.FMatrixRMaj>

Performs a BidiagonalDecomposition_F32 using householder reflectors. This is efficient on wide or square matrices.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected float[]
     
    protected float[]
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    Creates a decompose that defines the specified amount of memory.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    computeU(int k)
     
    protected void
    computeV(int k)
     
    boolean
    decompose(org.ejml.data.FMatrixRMaj A)
    Computes the decomposition of the provided matrix.
    org.ejml.data.FMatrixRMaj
    getB(@Nullable org.ejml.data.FMatrixRMaj B, boolean compact)
    Returns the bidiagonal matrix.
    void
    getDiagonal(float[] diag, float[] off)
     
    float[]
    Returns gammas from the householder operations for the U matrix.
    float[]
    Returns gammas from the householder operations for the V matrix.
    org.ejml.data.FMatrixRMaj
    getU(@Nullable org.ejml.data.FMatrixRMaj U, boolean transpose, boolean compact)
    Returns the orthogonal U matrix.
    org.ejml.data.FMatrixRMaj
    The raw UBV matrix that is stored internally.
    org.ejml.data.FMatrixRMaj
    getV(@Nullable org.ejml.data.FMatrixRMaj V, boolean transpose, boolean compact)
    Returns the orthogonal V matrix.
    static org.ejml.data.FMatrixRMaj
    handleB(@Nullable org.ejml.data.FMatrixRMaj B, boolean compact, int m, int n, int min)
     
    static org.ejml.data.FMatrixRMaj
    handleU(@Nullable org.ejml.data.FMatrixRMaj U, boolean transpose, boolean compact, int m, int n, int min)
     
    static org.ejml.data.FMatrixRMaj
    handleV(@Nullable org.ejml.data.FMatrixRMaj V, boolean transpose, boolean compact, int m, int n, int min)
     
    protected void
    init(org.ejml.data.FMatrixRMaj A)
    Sets up internal data structures and creates a copy of the input matrix.
    boolean
     
    protected void
    rank1UpdateMultL(org.ejml.data.FMatrixRMaj A, float gamma, int colA0, int w0, int w1)
     
    protected void
    rank1UpdateMultR(org.ejml.data.FMatrixRMaj A, float gamma, int colA0, int w0, int w1)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • b

      protected float[] b
    • u

      protected float[] u
  • Constructor Details

    • BidiagonalDecompositionRow_FDRM

      public BidiagonalDecompositionRow_FDRM(int numElements)
      Creates a decompose that defines the specified amount of memory.
      Parameters:
      numElements - number of elements in the matrix.
    • BidiagonalDecompositionRow_FDRM

      public BidiagonalDecompositionRow_FDRM()
  • Method Details

    • decompose

      public boolean decompose(org.ejml.data.FMatrixRMaj A)
      Computes the decomposition of the provided matrix. If no errors are detected then true is returned, false otherwise.
      Specified by:
      decompose in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>
      Parameters:
      A - The matrix that is being decomposed. Not modified.
      Returns:
      If it detects any errors or not.
    • init

      protected void init(org.ejml.data.FMatrixRMaj A)
      Sets up internal data structures and creates a copy of the input matrix.
      Parameters:
      A - The input matrix. Not modified.
    • getUBV

      public org.ejml.data.FMatrixRMaj getUBV()
      The raw UBV matrix that is stored internally.
      Returns:
      UBV matrix.
    • getDiagonal

      public void getDiagonal(float[] diag, float[] off)
      Specified by:
      getDiagonal in interface org.ejml.interfaces.decomposition.BidiagonalDecomposition_F32<org.ejml.data.FMatrixRMaj>
    • getB

      public org.ejml.data.FMatrixRMaj getB(@Nullable @Nullable org.ejml.data.FMatrixRMaj B, boolean compact)
      Returns the bidiagonal matrix.
      Specified by:
      getB in interface org.ejml.interfaces.decomposition.BidiagonalDecomposition<org.ejml.data.FMatrixRMaj>
      Parameters:
      B - If not null the results are stored here, if null a new matrix is created.
      Returns:
      The bidiagonal matrix.
    • handleB

      public static org.ejml.data.FMatrixRMaj handleB(@Nullable @Nullable org.ejml.data.FMatrixRMaj B, boolean compact, int m, int n, int min)
    • getU

      public org.ejml.data.FMatrixRMaj getU(@Nullable @Nullable org.ejml.data.FMatrixRMaj U, boolean transpose, boolean compact)
      Returns the orthogonal U matrix.
      Specified by:
      getU in interface org.ejml.interfaces.decomposition.BidiagonalDecomposition<org.ejml.data.FMatrixRMaj>
      Parameters:
      U - If not null then the results will be stored here. Otherwise a new matrix will be created.
      Returns:
      The extracted Q matrix.
    • handleU

      public static org.ejml.data.FMatrixRMaj handleU(@Nullable @Nullable org.ejml.data.FMatrixRMaj U, boolean transpose, boolean compact, int m, int n, int min)
    • getV

      public org.ejml.data.FMatrixRMaj getV(@Nullable @Nullable org.ejml.data.FMatrixRMaj V, boolean transpose, boolean compact)
      Returns the orthogonal V matrix.
      Specified by:
      getV in interface org.ejml.interfaces.decomposition.BidiagonalDecomposition<org.ejml.data.FMatrixRMaj>
      Parameters:
      V - If not null then the results will be stored here. Otherwise a new matrix will be created.
      Returns:
      The extracted Q matrix.
    • handleV

      public static org.ejml.data.FMatrixRMaj handleV(@Nullable @Nullable org.ejml.data.FMatrixRMaj V, boolean transpose, boolean compact, int m, int n, int min)
    • computeU

      protected void computeU(int k)
    • rank1UpdateMultL

      protected void rank1UpdateMultL(org.ejml.data.FMatrixRMaj A, float gamma, int colA0, int w0, int w1)
    • rank1UpdateMultR

      protected void rank1UpdateMultR(org.ejml.data.FMatrixRMaj A, float gamma, int colA0, int w0, int w1)
    • computeV

      protected void computeV(int k)
    • getGammasU

      public float[] getGammasU()
      Returns gammas from the householder operations for the U matrix.
    • getGammasV

      public float[] getGammasV()
      Returns gammas from the householder operations for the V matrix.
    • inputModified

      public boolean inputModified()
      Specified by:
      inputModified in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>