Class JacobiDiagonalizer

  extended by
      extended by

public class JacobiDiagonalizer
extends Diagonalizer

Jacobi diagonalization attempts to diagonalize a matrix such that after O(N3) operations, the off-diagonal elements are made zero. So, the diagonal elements now represent the eigen values.
Jacobi diagonalization becomes inefficient for higher order matrices because of use of matrix multiplications for diagonalizing the matrix. Also, the diagonal elements made zero may become non-zero in successive sweeps.
Taken from Numerical Recipes, section 11.1.

Field Summary
Fields inherited from class
eigenSort, eigenValues, eigenVectors, maximumIteration, rmsTolerance, zeroTolerance
Constructor Summary
          Creates a new instance of JacobiDiagonalizer
Method Summary
 void diagonalize(Matrix matrix)
          the diagonalization method, for the matrix A
Methods inherited from class
getEigenValues, getEigenVectors, getMaximumIteration, getRmsTolerance, getZeroTolerance, isEigenSort, setEigenSort, setMaximumIteration, setRmsTolerance, setZeroTolerance
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public JacobiDiagonalizer()
Creates a new instance of JacobiDiagonalizer

Method Detail


public void diagonalize(Matrix matrix)
the diagonalization method, for the matrix A

Specified by:
diagonalize in class Diagonalizer
matrix - - the matrix that is to be diagonalized