Class documentation of Concepts

Loading...
Searching...
No Matches
eigensolver::ArPackppSymGen Class Reference

#include <arpackpp.hh>

Inheritance diagram for eigensolver::ArPackppSymGen:
eigensolver::EigenSolver< Real > concepts::OutputOperator

Public Member Functions

 ArPackppSymGen (concepts::Operator< Real > &OP, concepts::Operator< Real > &A, concepts::Operator< Real > &B, int kmax=1, Real sigma=0.1, Real tol=0.0, int maxiter=300)
 
 ArPackppSymGen (char invertType, concepts::Operator< Real > &OP, concepts::Operator< Real > &A, int kmax=1, Real sigma=0.1, Real tol=0.0, int maxiter=300)
 
virtual ~ArPackppSymGen ()
 Deconstructor.
 
virtual const concepts::Array< Real > & getEV ()
 
virtual concepts::Array< concepts::Vector< Real > * > & getEF ()
 
virtual uint iterations () const
 Returns the actual number of Arnoldi iterations.
 
virtual uint converged () const
 Returns the number of converged eigenpairs.
 
concepts::Array< Real > getRESID ()
 Returns the RESID vector.
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
 

Detailed Description

EigenSolver for symmetric, real-valued, general eigenproblems. Solves problems of the form $ A x = \lambda B x $ with symmetric, real-valued matrices A and B using Arpack's Cayley or buckling mode.

Definition at line 349 of file arpackpp.hh.

Constructor & Destructor Documentation

◆ ArPackppSymGen() [1/2]

eigensolver::ArPackppSymGen::ArPackppSymGen ( concepts::Operator< Real > &  OP,
concepts::Operator< Real > &  A,
concepts::Operator< Real > &  B,
int  kmax = 1,
Real  sigma = 0.1,
Real  tol = 0.0,
int  maxiter = 300 
)

Shift and invert mode constructor, Cayley mode.

Parameters
OPmultiplication operator, OP * x = inv(A-sigma*B) * x
Amatrix of the left hand side
Bmatrix of the right hand side
kmaxnumber of eigenpairs to be computed, default 1
sigmareal-valued shift for the shift-invert mode, default 0.1
tolconvergence tolerance for the eigenpairs, default 0.0 (is replaced by LAPACK's DLAMCH('EPS'))
maxitermaximum number of Arnoldi iterations, default 300
Warning
A has to be real and symmetric.
B has to be real, symmetric and positive definite.
kmax has to be larger than or equal to 1 and smaller than than dimension of the matrix
In Cayley mode sigma must not be 0. Therefore the default value is set to 0.1.

◆ ArPackppSymGen() [2/2]

eigensolver::ArPackppSymGen::ArPackppSymGen ( char  invertType,
concepts::Operator< Real > &  OP,
concepts::Operator< Real > &  A,
int  kmax = 1,
Real  sigma = 0.1,
Real  tol = 0.0,
int  maxiter = 300 
)

Shift and invert mode constructor, buckling and standard mode.

Parameters
invertTypemode identifier, either "B" for buckling mode, or "S" for standard mode
OPmultiplication operator, OP * x = inv(A-sigma*B) * x
Adepending on the invertType, A is either the matrix A of the left hand side (buckling mode "B") or the matrix B of the right hand side (standard mode "S")
kmaxnumber of eigenpairs to be computed, default 1
sigmareal-valued shift for the shift-invert mode, default 0.1
tolconvergence tolerance for the eigenpairs, default 0.0 (is replaced by LAPACK's DLAMCH('EPS'))
maxitermaximum number of Arnoldi iterations, default 300
Warning
The matrix A of the left hand side has to be real and symmetric.
The matrix B of the right hand side has to be real, symmetric and positive definite.
kmax has to be larger than or equal to 1 and smaller than or equal to the dimension of the matrix minus 2.
In both modes, buckling and standard mode, sigma must not be 0. Therefore the default value is set to 0.1.

◆ ~ArPackppSymGen()

virtual eigensolver::ArPackppSymGen::~ArPackppSymGen ( )
inlinevirtual

Deconstructor.

Definition at line 433 of file arpackpp.hh.

Member Function Documentation

◆ converged()

virtual uint eigensolver::ArPackppSymGen::converged ( ) const
inlinevirtual

Returns the number of converged eigenpairs.

Implements eigensolver::EigenSolver< Real >.

Definition at line 464 of file arpackpp.hh.

◆ getEF()

virtual concepts::Array< concepts::Vector< Real > * > & eigensolver::ArPackppSymGen::getEF ( )
inlinevirtual

Getter for the computed eigenvectors. Computes eigenvalues and eigenvectors if they have not yet been computed.

Implements eigensolver::EigenSolver< Real >.

Definition at line 452 of file arpackpp.hh.

◆ getEV()

virtual const concepts::Array< Real > & eigensolver::ArPackppSymGen::getEV ( )
inlinevirtual

Getter for the computed eigenvalues. Computes eigenvalues and eigenvectors if they have not yet been computed.

Implements eigensolver::EigenSolver< Real >.

Examples
arpackppTutorial.cc.

Definition at line 442 of file arpackpp.hh.

◆ getRESID()

concepts::Array< Real > eigensolver::ArPackppSymGen::getRESID ( )
inline

Returns the RESID vector.

Definition at line 469 of file arpackpp.hh.

◆ info()

virtual std::ostream & eigensolver::ArPackppSymGen::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from eigensolver::EigenSolver< Real >.

Definition at line 476 of file arpackpp.hh.

◆ iterations()

virtual uint eigensolver::ArPackppSymGen::iterations ( ) const
inlinevirtual

Returns the actual number of Arnoldi iterations.

Implements eigensolver::EigenSolver< Real >.

Definition at line 459 of file arpackpp.hh.


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