Class documentation of Concepts

Loading...
Searching...
No Matches
eigensolver::EasyArPackppGen< F, G, H > Class Template Reference

Tool to easily solve general eigenvalue problems. More...

#include <easyArpackpp.hh>

Inheritance diagram for eigensolver::EasyArPackppGen< F, G, H >:
eigensolver::EasyArPackpp< concepts::Cmplx >

Public Member Functions

 EasyArPackppGen (concepts::SparseMatrix< F > &A, concepts::SparseMatrix< concepts::Real > &B, int kmax, G shift)
 
 EasyArPackppGen (concepts::SparseMatrix< F > &A, concepts::SparseMatrix< concepts::Real > &B, int kmax=1, char *which=(char *) "LM")
 
virtual ~EasyArPackppGen ()
 Destructor that deletes the solver and the operator.
 
virtual ArPackppGen< H, F, concepts::Real > * getSolver ()
 

Protected Attributes

int dim_
 Dimension of the space.
 

Detailed Description

template<class F, class G = concepts::Real, class H = typename eigensolver::OperatorType<F, G>::type>
class eigensolver::EasyArPackppGen< F, G, H >

Tool to easily solve general eigenvalue problems.

Examples
arpackppTutorial.cc, and hpFEM3d-EV.cc.

Definition at line 151 of file easyArpackpp.hh.

Constructor & Destructor Documentation

◆ EasyArPackppGen() [1/2]

template<class F , class G = concepts::Real, class H = typename eigensolver::OperatorType<F, G>::type>
eigensolver::EasyArPackppGen< F, G, H >::EasyArPackppGen ( concepts::SparseMatrix< F > &  A,
concepts::SparseMatrix< concepts::Real > &  B,
int  kmax,
shift 
)
inline

Shift and invert mode constructor. Builds an eigenvalue solver that solves the given eigenvalue problem using arpack++ with the shift and invert method.

Parameters
Amatrix of the left hand side
Bmatrix of the right hand side
kmaxnumber of eigenvalues that should be calculated
shiftcomplex or real number for which the kmax closest eigenvalues will be calculated
Warning
B has to be real, symmetric and positive definite
A - shift B has to be invertible
kmax has to be larger than or equal to 1 (otherwise it is set to this lower bound).
kmax has to be smaller than or equal to the dimension of the matrix -2 (otherwise it is set to this upper bound).

Definition at line 166 of file easyArpackpp.hh.

◆ EasyArPackppGen() [2/2]

template<class F , class G = concepts::Real, class H = typename eigensolver::OperatorType<F, G>::type>
eigensolver::EasyArPackppGen< F, G, H >::EasyArPackppGen ( concepts::SparseMatrix< F > &  A,
concepts::SparseMatrix< concepts::Real > &  B,
int  kmax = 1,
char *  which = (char*) "LM" 
)
inline

Regular mode constructor. Builds an eigenvalue solver that solves the given eigenvalue problem using arpack++ with the regular method.

Parameters
Amatrix of the left hand side
Bmatrix of the right hand side
kmaxnumber of eigenvalues that should be calculated (default 1)
whichdefines which eigenvalue should be calculated (default "LM")
Warning
B has to be real, symmetric and positive definite
kmax has to be larger than or equal to 1 (otherwise it is set to this lower bound).
kmax has to be smaller than or equal to the dimension of the matrix -2 (otherwise it is set to this upper bound).

Definition at line 203 of file easyArpackpp.hh.

◆ ~EasyArPackppGen()

template<class F , class G = concepts::Real, class H = typename eigensolver::OperatorType<F, G>::type>
virtual eigensolver::EasyArPackppGen< F, G, H >::~EasyArPackppGen ( )
inlinevirtual

Destructor that deletes the solver and the operator.

Definition at line 244 of file easyArpackpp.hh.

Member Function Documentation

◆ getSolver()

template<class F , class G = concepts::Real, class H = typename eigensolver::OperatorType<F, G>::type>
virtual ArPackppGen< H, F, concepts::Real > * eigensolver::EasyArPackppGen< F, G, H >::getSolver ( )
inlinevirtual

Getter for the generated solver. Returns an eigensolver of the type ArPackGen that calculates the desired eigenvalues and eigenfunctions respectively.

Implements eigensolver::EasyArPackpp< concepts::Cmplx >.

Examples
arpackppTutorial.cc.

Definition at line 257 of file easyArpackpp.hh.

Member Data Documentation

◆ dim_

int eigensolver::EasyArPackpp< concepts::Cmplx >::dim_
protectedinherited

Dimension of the space.

Definition at line 47 of file easyArpackpp.hh.


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