Class TridiagonalDecompositionHouseholderOrig_DDRM

java.lang.Object
org.ejml.dense.row.decomposition.hessenberg.TridiagonalDecompositionHouseholderOrig_DDRM

public class TridiagonalDecompositionHouseholderOrig_DDRM extends Object

A straight forward implementation from "Fundamentals of Matrix Computations," Second Edition.

This is only saved to provide a point of reference in benchmarks.

  • Constructor Details

    • TridiagonalDecompositionHouseholderOrig_DDRM

      public TridiagonalDecompositionHouseholderOrig_DDRM()
  • Method Details

    • getQT

      public DMatrixRMaj getQT()
      Returns the interal matrix where the decomposed results are stored.
    • getT

      public DMatrixRMaj getT(@Nullable @Nullable DMatrixRMaj T)
      Extracts the tridiagonal matrix found in the decomposition.
      Parameters:
      T - If not null then the results will be stored here. Otherwise a new matrix will be created.
      Returns:
      The extracted T matrix.
    • getQ

      public DMatrixRMaj getQ(@Nullable @Nullable DMatrixRMaj Q)
      An orthogonal matrix that has the following property: T = QTAQ
      Parameters:
      Q - If not null then the results will be stored here. Otherwise a new matrix will be created.
      Returns:
      The extracted Q matrix.
    • decompose

      public void decompose(DMatrixRMaj A)
      Decomposes the provided symmetric matrix.
      Parameters:
      A - Symmetric matrix that is going to be decomposed. Not modified.
    • householderSymmetric

      public void householderSymmetric(int row, double gamma)
      Performs the householder operations on left and right and side of the matrix. QTAQ
      Parameters:
      row - Specifies the submatrix.
      gamma - The gamma for the householder operation
    • init

      public void init(DMatrixRMaj A)
      If needed declares and sets up internal data structures.
      Parameters:
      A - Matrix being decomposed.
    • getGamma

      public double getGamma(int index)