Class TriDiagonalization


  • public class TriDiagonalization
    extends Object
    A tri-diagonal matrix A is a matrix such that it has non-zero elements only in the main diagonal, the first diagonal below, and the first diagonal above. Successive Householder reflections on columns and then rows gradually transform a symmetric matrix A to the tri-diagonal form. The procedure is essentially the same as in Hessenberg decomposition, c.f., HessenbergDecomposition, except that here we apply the procedure only to symmetric matrix. The trailing elements in rows are also zeroed out, due to symmetry.
    See Also:
    • Constructor Detail

      • TriDiagonalization

        public TriDiagonalization​(Matrix A)
        Runs the tri-diagonalization process for a symmetric matrix.
        Parameters:
        A - a symmetric matrix
        Throws:
        IllegalArgumentException - if A is not symmetric
    • Method Detail

      • T

        public TridiagonalMatrix T()
        Gets T, such that T = Q * A * Q. T is triangular. Q is orthogonal.
        Returns:
        the T matrix
      • Q

        public Matrix Q()
        Gets Q, such that Q * A * Q = T. Q is orthogonal. T is triangular.
        Returns:
        the Q matrix