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

    Constructors
    Constructor
    Description
     
  • 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
     
    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

    • TridiagonalDecompositionHouseholder_DDRB

      public TridiagonalDecompositionHouseholder_DDRB()
  • 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>