Class TridiagonalDecompositionHouseholder_FDRB

  • All Implemented Interfaces:
    org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRBlock>, org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition<org.ejml.data.FMatrixRBlock>, org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.FMatrixRBlock>

    public class TridiagonalDecompositionHouseholder_FDRB
    extends java.lang.Object
    implements org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.FMatrixRBlock>

    Tridiagonal similar decomposition for block matrices. Orthogonal matrices are computed using householder vectors.

    Based off algorithm in section 2 of J. J. Dongarra, D. C. Sorensen, S. J. Hammarling, "Block Reduction of Matrices to Condensed Forms for Eigenvalue Computations" Journal of Computations and Applied Mathematics 27 (1989) 215-227

    Computations of Householder reflectors has been modified from what is presented in that paper to how it is performed in "Fundamentals of Matrix Computations" 2nd ed. by David S. Watkins.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.ejml.data.FMatrixRBlock A  
      protected float[] gammas  
      protected org.ejml.data.FMatrixRBlock tmp  
      protected org.ejml.data.FMatrixRBlock V  
      protected org.ejml.data.FMatrixRMaj zerosM  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean decompose​(org.ejml.data.FMatrixRBlock orig)  
      void getDiagonal​(float[] diag, float[] off)  
      org.ejml.data.FMatrixRBlock getQ​(org.ejml.data.FMatrixRBlock Q, boolean transposed)  
      org.ejml.data.FMatrixRBlock getT​(org.ejml.data.FMatrixRBlock T)  
      boolean inputModified()  
      static void multPlusTransA​(int blockLength, org.ejml.data.FSubmatrixD1 A, org.ejml.data.FSubmatrixD1 B, org.ejml.data.FSubmatrixD1 C)
      C = C + A^T*B
      • Methods inherited from class java.lang.Object

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

      • A

        protected org.ejml.data.FMatrixRBlock A
      • V

        protected org.ejml.data.FMatrixRBlock V
      • tmp

        protected org.ejml.data.FMatrixRBlock tmp
      • gammas

        protected float[] gammas
      • zerosM

        protected org.ejml.data.FMatrixRMaj zerosM
    • Constructor Detail

      • TridiagonalDecompositionHouseholder_FDRB

        public TridiagonalDecompositionHouseholder_FDRB()
    • Method Detail

      • getT

        public org.ejml.data.FMatrixRBlock getT​(org.ejml.data.FMatrixRBlock T)
        Specified by:
        getT in interface org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition<org.ejml.data.FMatrixRBlock>
      • getQ

        public org.ejml.data.FMatrixRBlock getQ​(org.ejml.data.FMatrixRBlock Q,
                                                boolean transposed)
        Specified by:
        getQ in interface org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition<org.ejml.data.FMatrixRBlock>
      • getDiagonal

        public void getDiagonal​(float[] diag,
                                float[] off)
        Specified by:
        getDiagonal in interface org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.FMatrixRBlock>
      • decompose

        public boolean decompose​(org.ejml.data.FMatrixRBlock orig)
        Specified by:
        decompose in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRBlock>
      • multPlusTransA

        public static void multPlusTransA​(int blockLength,
                                          org.ejml.data.FSubmatrixD1 A,
                                          org.ejml.data.FSubmatrixD1 B,
                                          org.ejml.data.FSubmatrixD1 C)
        C = C + A^T*B
        Parameters:
        blockLength -
        A - row block vector
        B - row block vector
        C -
      • inputModified

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