eigensolver::EasyArPackppStd< F, G, H > Class Template Reference

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

#include <easyArpackpp.hh>

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

Public Member Functions

 EasyArPackppStd (concepts::SparseMatrix< F > &A, int kmax, G shift)
 Shift and invert mode constructor. More...
 
 EasyArPackppStd (concepts::SparseMatrix< F > &A, int kmax=1, char *which=(char *) "LM")
 Regular mode constructor. More...
 
virtual ArPackppStd< H > * getSolver ()
 Getter for the generated solver. More...
 
virtual ~EasyArPackppStd ()
 Destructor that deletes the solver and the operator. More...
 

Protected Attributes

int dim_
 Dimension of the space. More...
 

Private Attributes

concepts::Operator< H > * OP_
 stores the empty operator More...
 
ArPackppStd< H > * solver_
 pointer to the builded solver More...
 

Detailed Description

template<class F = Cmplx, class G = Real, class H = typename eigensolver::OperatorType<F, G>::type>
class eigensolver::EasyArPackppStd< F, G, H >

Tool to easily solve standard eigenvalue problems.

Examples
arpackppTutorial.cc.

Definition at line 53 of file easyArpackpp.hh.

Constructor & Destructor Documentation

◆ EasyArPackppStd() [1/2]

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

Shift and invert mode constructor.

Builds a solver that solves the given eigenvalue problem using arpack++ with the shift and invert method.

Parameters
Amatrix whose eigenvalues should be calculated
kmaxnumber of eigenvalues that should be calculated
shiftcomplex or real number for which the kmax closest eigenvalues will be calculated
Warning
A - shift I has to be invertible, i.e. shift should not be an eigenvalue of A
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 66 of file easyArpackpp.hh.

◆ EasyArPackppStd() [2/2]

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

Regular mode constructor.

Builds a solver that solves the given eigenvalue problem using arpack++ with the regular method.

Parameters
Amatrix whose eigenvalues should be calculated
kmaxnumber of eigenvalues that should be calculated (default 1)
whichdefines which eigenvalues should be calculated (default "LM")
Warning
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 104 of file easyArpackpp.hh.

◆ ~EasyArPackppStd()

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

Destructor that deletes the solver and the operator.

Definition at line 124 of file easyArpackpp.hh.

Member Function Documentation

◆ getSolver()

template<class F = Cmplx, class G = Real, class H = typename eigensolver::OperatorType<F, G>::type>
virtual ArPackppStd<H>* eigensolver::EasyArPackppStd< F, G, H >::getSolver ( )
inlinevirtual

Getter for the generated solver.

Returns an eigensolver of the type ArPackStd that calculates the desired eigenvalues and eigenfunctions respectively.

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

Definition at line 136 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.

◆ OP_

template<class F = Cmplx, class G = Real, class H = typename eigensolver::OperatorType<F, G>::type>
concepts::Operator<H>* eigensolver::EasyArPackppStd< F, G, H >::OP_
private

stores the empty operator

Definition at line 143 of file easyArpackpp.hh.

◆ solver_

template<class F = Cmplx, class G = Real, class H = typename eigensolver::OperatorType<F, G>::type>
ArPackppStd<H>* eigensolver::EasyArPackppStd< F, G, H >::solver_
private

pointer to the builded solver

Definition at line 145 of file easyArpackpp.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich