ConicBundle
|
Abstract interface to Lanzcos methods for computing a few extremal eigenvalues given via a Lanczosmatrix. More...
#include <lanczos.hxx>
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() | |
Abstract interface to Lanzcos methods for computing a few extremal eigenvalues given via a Lanczosmatrix.
|
pure virtual |
compute the nreig maximum eigenvalues of the matrix specified by bigmat
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::LanczMaxEig, and CH_Matrix_Classes::Lanczpol.