Tool to easily solve general eigenvalue problems for symmetric matrices. More...
#include <easyArpackpp.hh>
Public Member Functions | |
| EasyArPackppSymGen (concepts::SparseMatrix< concepts::Real > &A, concepts::SparseMatrix< concepts::Real > &B, int kmax, concepts::Real shift) | |
| EasyArPackppSymGen (char invertType, concepts::SparseMatrix< concepts::Real > &A, concepts::SparseMatrix< concepts::Real > &B, int kmax, concepts::Real shift) | |
| virtual | ~EasyArPackppSymGen () |
| Destructor that deletes the solver and the operator. | |
| virtual ArPackppSymGen * | getSolver () |
| Getter for the generated solver. | |
Protected Attributes | |
| int | dim_ |
| Dimension of the space. | |
Tool to easily solve general eigenvalue problems for symmetric matrices.
Definition at line 270 of file easyArpackpp.hh.
| 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.
| 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 |
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. | 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.
| 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 |
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).
|
virtual |
Getter for the generated solver.
Implements eigensolver::EasyArPackpp< concepts::Real >.
|
protectedinherited |
Dimension of the space.
Definition at line 47 of file easyArpackpp.hh.