Documentation of 'mikera.matrixx.decompose.impl.hessenberg.TridiagonalDecompositionHouseholder' Java class
TridiagonalDecompositionHouseholder
mikera.matrixx.decompose.impl.hessenberg

Class TridiagonalDecompositionHouseholder



  • public class TridiagonalDecompositionHouseholder
    extends java.lang.Object

    Performs a TridiagonalSimilarDecomposition similar tridiagonal decomposition on a square symmetric input matrix. Householder vectors perform the similar operation and the symmetry is taken advantage of for good performance.

    Finds the decomposition of a matrix in the form of:

    A = O*T*OT

    where A is a symmetric m by m matrix, O is an orthogonal matrix, and T is a tridiagonal matrix.

    This implementation is based off of the algorithm described in:

    David S. Watkins, "Fundamentals of Matrix Computations," Second Edition. Page 349-355

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      boolean decompose(AMatrix A)
      Decomposes the provided symmetric matrix.
      void getDiagonal(double[] diag, double[] off) 
      AMatrix getQ(boolean transposed)
      An orthogonal matrix that has the following property: T = QTAQ
      AMatrix getQT()
      Returns the internal matrix where the decomposed results are stored.
      AMatrix getT()
      Extracts the tridiagonal matrix found in the decomposition.
      void householderSymmetric(int row, double gamma)
      Performs the householder operations on left and right and side of the matrix.
      void init(AMatrix A)
      If needed declares and sets up internal data structures.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TridiagonalDecompositionHouseholder

        public TridiagonalDecompositionHouseholder()
    • Method Detail

      • getQT

        public AMatrix getQT()
        Returns the internal matrix where the decomposed results are stored.
        Returns:
      • getDiagonal

        public void getDiagonal(double[] diag,
                                double[] off)
      • getT

        public AMatrix getT()
        Extracts the tridiagonal matrix found in the decomposition.
        Returns:
        The extracted T matrix.
      • getQ

        public AMatrix getQ(boolean transposed)
        An orthogonal matrix that has the following property: T = QTAQ
        Returns:
        The extracted Q matrix.
      • decompose

        public boolean decompose(AMatrix 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(AMatrix A)
        If needed declares and sets up internal data structures.
        Parameters:
        A - Matrix being decomposed.

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.