org.jscience.chemistry.quantum.math.la
Class Diagonalizer

java.lang.Object
  extended by org.jscience.chemistry.quantum.math.la.Diagonalizer
Direct Known Subclasses:
JacobiDiagonalizer

public abstract class Diagonalizer
extends java.lang.Object

Abstract class defining how a matrix diagonalizers public interfaces should be.
Caution! Diagonalizers only work with real square matrices ;)


Field Summary
protected  boolean eigenSort
          Holds value of property eigenSort.
protected  double[] eigenValues
          the eigen values
protected  Matrix eigenVectors
          Eigen vectors one per row
protected  int maximumIteration
          Holds value of property maximumIteration.
protected  double rmsTolerance
          Holds value of property rmsTolerance.
protected  double zeroTolerance
          Holds value of property zeroTolerance.
 
Constructor Summary
Diagonalizer()
          Creates a new instance of Diagonalizer
 
Method Summary
abstract  void diagonalize(Matrix matrix)
          the diagonalization method, for the matrix A
 double[] getEigenValues()
          get the eigen values
 Matrix getEigenVectors()
          get the eigen vectors
 int getMaximumIteration()
          Getter for property maximumIteration.
 double getRmsTolerance()
          Getter for property rmsTolerance.
 double getZeroTolerance()
          Getter for property zeroTolerance.
 boolean isEigenSort()
          Getter for property eigenSort.
 void setEigenSort(boolean eigenSort)
          Setter for property eigenSort.
 void setMaximumIteration(int maximumIteration)
          Setter for property maximumIteration.
 void setRmsTolerance(double rmsTolerance)
          Setter for property rmsTolerance.
 void setZeroTolerance(double zeroTolerance)
          Setter for property zeroTolerance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eigenVectors

protected Matrix eigenVectors
Eigen vectors one per row


eigenValues

protected double[] eigenValues
the eigen values


maximumIteration

protected int maximumIteration
Holds value of property maximumIteration.


zeroTolerance

protected double zeroTolerance
Holds value of property zeroTolerance.


rmsTolerance

protected double rmsTolerance
Holds value of property rmsTolerance.


eigenSort

protected boolean eigenSort
Holds value of property eigenSort.

Constructor Detail

Diagonalizer

public Diagonalizer()
Creates a new instance of Diagonalizer

Method Detail

diagonalize

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

Parameters:
matrix - - the matrix that is to be diagonalized

getEigenVectors

public Matrix getEigenVectors()
get the eigen vectors

Returns:
the eigen vectors in a Matrix object

getEigenValues

public double[] getEigenValues()
get the eigen values

Returns:
the eigen values as an array of doubles

getMaximumIteration

public int getMaximumIteration()
Getter for property maximumIteration.

Returns:
Value of property maximumIteration.

setMaximumIteration

public void setMaximumIteration(int maximumIteration)
Setter for property maximumIteration.

Parameters:
maximumIteration - New value of property maximumIteration.

getZeroTolerance

public double getZeroTolerance()
Getter for property zeroTolerance.

Returns:
Value of property zeroTolerance.

setZeroTolerance

public void setZeroTolerance(double zeroTolerance)
Setter for property zeroTolerance.

Parameters:
zeroTolerance - New value of property zeroTolerance.

getRmsTolerance

public double getRmsTolerance()
Getter for property rmsTolerance.

Returns:
Value of property rmsTolerance.

setRmsTolerance

public void setRmsTolerance(double rmsTolerance)
Setter for property rmsTolerance.

Parameters:
rmsTolerance - New value of property rmsTolerance.

isEigenSort

public boolean isEigenSort()
Getter for property eigenSort.

Returns:
Value of property eigenSort.

setEigenSort

public void setEigenSort(boolean eigenSort)
Setter for property eigenSort.

Parameters:
eigenSort - New value of property eigenSort.