SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.matrix.doubles.factorization.diagonalization
Class Tridiagonalization

java.lang.Object
  extended by com.numericalmethod.suanshu.matrix.doubles.factorization.diagonalization.Tridiagonalization

public class Tridiagonalization
extends java.lang.Object

A tridiagonal matrix A is a matrix such that it has non-zero elements only in the main diagonal, the first diagonal below this, and the first diagonal above the main diagonal.

Successive Householder reflections on columns and then rows gradually transform a symmetric matrix A to the tridiagonal 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. In this case, the trailing elements in rows are also zeroed out, due to symmetry.

See Also:

Constructor Summary
Tridiagonalization(Matrix A)
          Construct an instance of the Tridiagonalization process.
 
Method Summary
 Matrix Q()
          Get a copy of the Q matrix, such that Q %*% A %*% Q = T Q is orthogonal.
 Matrix T()
          Get a copy of the T matrix, such that T = Q %*% A %*% Q T is triangular.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Tridiagonalization

public Tridiagonalization(Matrix A)
Construct an instance of the Tridiagonalization process.

Parameters:
A - a symmetric matrix
Throws:
java.lang.IllegalArgumentException - if A is not symmetric
Method Detail

T

public Matrix T()
Get a copy of the T matrix, such that
T = Q %*% A %*% Q

T is triangular.

Q is orthogonal.

Returns:
a copy of T matrix

Q

public Matrix Q()
Get a copy of the Q matrix, such that
Q %*% A %*% Q = T

Q is orthogonal.

T is triangular.

Returns:
a copy of Q matrix

SuanShu, a Java numerical and statistical library

Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.