ConicBundle
Public Member Functions | List of all members
CH_Matrix_Classes::Lanczos Class Referenceabstract

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::LanczMaxEig CH_Matrix_Classes::Lanczpol

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 More...
 
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

◆ compute()

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
bigmatthe symmetric matrix
eigvalon output: converged eigenvalues
eigvecon output: eigenvectors to eigval, on input (optional): starting vectors
nreignumber of maximal eigenvalues to be computed
in_blockszsize of a block, if block Lanczos is used
maxcolmaximum number of columns that may be used

Implemented in CH_Matrix_Classes::LanczMaxEig, and CH_Matrix_Classes::Lanczpol.


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