Class TridiagonalDecompositionHouseholder_DDRB

java.lang.Object
org.ejml.dense.block.decomposition.hessenberg.TridiagonalDecompositionHouseholder_DDRB
All Implemented Interfaces:
org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRBlock>, org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition<org.ejml.data.DMatrixRBlock>, org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F64<org.ejml.data.DMatrixRBlock>

public class TridiagonalDecompositionHouseholder_DDRB
extends java.lang.Object
implements org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F64<org.ejml.data.DMatrixRBlock>

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.DMatrixRBlock A  
    protected double[] gammas  
    protected org.ejml.data.DMatrixRBlock tmp  
    protected org.ejml.data.DMatrixRBlock V  
    protected org.ejml.data.DMatrixRMaj zerosM  
  • Constructor Summary

    Constructors 
    Constructor Description
    TridiagonalDecompositionHouseholder_DDRB()  
  • Method Summary

    Modifier and Type Method Description
    boolean decompose​(org.ejml.data.DMatrixRBlock orig)  
    void getDiagonal​(double[] diag, double[] off)  
    org.ejml.data.DMatrixRBlock getQ​(@Nullable org.ejml.data.DMatrixRBlock Q, boolean transposed)  
    org.ejml.data.DMatrixRBlock getT​(@Nullable org.ejml.data.DMatrixRBlock T)  
    boolean inputModified()  
    static void multPlusTransA​(int blockLength, org.ejml.data.DSubmatrixD1 A, org.ejml.data.DSubmatrixD1 B, org.ejml.data.DSubmatrixD1 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 Details

    • A

      protected org.ejml.data.DMatrixRBlock A
    • V

      protected org.ejml.data.DMatrixRBlock V
    • tmp

      protected org.ejml.data.DMatrixRBlock tmp
    • gammas

      protected double[] gammas
    • zerosM

      protected org.ejml.data.DMatrixRMaj zerosM
  • Constructor Details

  • Method Details

    • getT

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

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

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

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

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

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