eigensolver::EasyArPackppSymGen Class Reference
Tool to easily solve general eigenvalue problems for symmetric matrices. More...
#include <easyArpackpp.hh>
Public Member Functions | |
EasyArPackppSymGen (char invertType, concepts::SparseMatrix< concepts::Real > &A, concepts::SparseMatrix< concepts::Real > &B, int kmax, concepts::Real shift) | |
Buckling mode constructor. More... | |
EasyArPackppSymGen (concepts::SparseMatrix< concepts::Real > &A, concepts::SparseMatrix< concepts::Real > &B, int kmax, concepts::Real shift) | |
Cayley mode constructor. More... | |
virtual ArPackppSymGen * | getSolver () |
Getter for the generated solver. More... | |
virtual | ~EasyArPackppSymGen () |
Destructor that deletes the solver and the operator. More... | |
Protected Attributes | |
int | dim_ |
Dimension of the space. More... | |
Private Attributes | |
concepts::Operator< concepts::Real > * | OP_ |
stores the operator inv(A-shift*B) in shift and invert mode inv(B) otherwise More... | |
ArPackppSymGen * | solver_ |
pointer to the builded solver More... | |
Detailed Description
Tool to easily solve general eigenvalue problems for symmetric matrices.
- Examples
- arpackppTutorial.cc.
Definition at line 270 of file easyArpackpp.hh.
Constructor & Destructor Documentation
◆ EasyArPackppSymGen() [1/2]
eigensolver::EasyArPackppSymGen::EasyArPackppSymGen | ( | concepts::SparseMatrix< concepts::Real > & | A, |
concepts::SparseMatrix< concepts::Real > & | B, | ||
int | kmax, | ||
concepts::Real | shift | ||
) |
Cayley mode constructor.
Builds an eigenvalue solver that solves the given eigenvalue problem using arpack++ with the shift and invert method.
- Parameters
-
A matrix of the left hand side; it has to be symmetric B matrix of the right hand side; it has to be real, symmetric and positive semi-definite kmax number of eigenvalues that should be calculated shift real number for which the kmax
closest eigenvalues will be calculated
- 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). -
shift
is not allowed to be 0.
◆ EasyArPackppSymGen() [2/2]
eigensolver::EasyArPackppSymGen::EasyArPackppSymGen | ( | char | invertType, |
concepts::SparseMatrix< concepts::Real > & | A, | ||
concepts::SparseMatrix< concepts::Real > & | B, | ||
int | kmax, | ||
concepts::Real | shift | ||
) |
Buckling mode constructor.
Builds an eigenvalue solver that solves the given eigenvalue problem using arpack++ with the shift and invert method.
- Parameters
-
invertType - Character ('B' or 'S') defining the mode A symmetric matrix of the left hand side; if (invert Type = 'B') it must be positive semi-definite B symmetric matrix of the right hand side; if (invert Type = 'S') it must be positive semi-definite kmax number of eigenvalues that should be calculated shift real number for which the kmax
closest eigenvalues will be calculated
- Warning
- In buckling mode (invertType = 'B')
shift
is not allowed to be 0. -
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).
◆ ~EasyArPackppSymGen()
|
virtual |
Destructor that deletes the solver and the operator.
Member Function Documentation
◆ getSolver()
|
virtual |
Getter for the generated solver.
Implements eigensolver::EasyArPackpp< concepts::Real >.
- Examples
- arpackppTutorial.cc.
Member Data Documentation
◆ dim_
|
protectedinherited |
Dimension of the space.
Definition at line 47 of file easyArpackpp.hh.
◆ OP_
|
private |
stores the operator inv(A-shift*B) in shift and invert mode inv(B) otherwise
Definition at line 325 of file easyArpackpp.hh.
◆ solver_
|
private |
pointer to the builded solver
Definition at line 327 of file easyArpackpp.hh.
The documentation for this class was generated from the following file:
- eigensolver/easyArpackpp.hh