CH_Matrix_Classes::Lanczos Class Reference
[Lanczos Interface and Classes]

Abstract interface to Lanzcos methods for computing a few extremal eigenvalues given via a Lanczosmatrix. More...

#include <lanczos.hxx>

Inheritance diagram for CH_Matrix_Classes::Lanczos:

CH_Matrix_Classes::Lanczpol

List of all members.

Public Member Functions

virtual int compute (const Lanczosmatrix *bigmat, Matrix &eigval, Matrix &eigvec, Integer nreig, Integer in_blocksz=0, Integer maxcol=0)=0
 compute the nreig maximum eigenvalues of the matrix specified by bigmat
Set and Get Parameters
There should be no need to set any parameters, default values should be available and reasonable.

virtual void set_mineig (Real ie)=0
 set a guess on the value of the smallest
virtual void set_maxmult (Integer mop)=0
 set an upper bound on the number of matrix vector multiplications
virtual void set_maxiter (Integer mi)=0
 set an upper bpound on the number of restarts
virtual void set_relprec (Real relprec)=0
 set relative precision requirement for termination
virtual void set_nblockmult (Integer nb)=0
 set maximum number of block multiplications within one restart
virtual void set_nchebit (Integer nc)=0
 set the degree of the Chebycheff polynomial for the spectral transformation
virtual void enable_stop_above (Real ub)=0
 allow the algorithm to stop as soon as the maximum Ritz value exceeds the value ub
virtual void disable_stop_above ()=0
 do not allow premature termination as in enable_stop_above()
virtual void set_retlanvecs (Integer nl)=0
 set an upper bound on the number of vectors returned in get_lanczosvecs()
virtual int get_lanczosvecs (Matrix &val, Matrix &vecs) const =0
 returns the first neigfound+blocksz Lanczos vectors and their Ritz values of the last call
virtual Real get_relprec (void)=0
 returns current relative precision requirement
virtual int get_err () const =0
 returns the error code of the last call
virtual Integer get_iter () const =0
 returns the number of restarts of the last call
virtual Integer get_nmult () const =0
 returns the number of matrix-vector multiplications of the last call
Input/Output
virtual void set_out (std::ostream *out=0, int print_level=1)=0
 set output stream and level of detail of log output (for debugging)
virtual std::ostream & save (std::ostream &out) const =0
 save all data in out so that the current state can be recovered completely by restore()
virtual std::istream & restore (std::istream &in)=0
 restore the data from in where it was stored by save()


Detailed Description

Abstract interface to Lanzcos methods for computing a few extremal eigenvalues given via a Lanczosmatrix.


Member Function Documentation

virtual int CH_Matrix_Classes::Lanczos::compute ( const Lanczosmatrix bigmat,
Matrix eigval,
Matrix eigvec,
Integer  nreig,
Integer  in_blocksz = 0,
Integer  maxcol = 0 
) [pure virtual]

compute the nreig maximum eigenvalues of the matrix specified by bigmat

Parameters:
bigmat  the symmetric matrix
eigval  on output: converged eigenvalues
eigvec  on output: eigenvectors to eigval, on input (optional): starting vectors
nreig  number of maximal eigenvalues to be computed
in_blocksz  size of a block, if block Lanczos is used
maxcol  maximum number of columns that may be used

Implemented in CH_Matrix_Classes::Lanczpol.


The documentation for this class was generated from the following file:

Generated on Tue May 3 16:52:54 2011 for ConicBundle by  doxygen 1.5.6