Base class to solve a general eigenvalue problem (linear or not) More...
#include <VirtualEigenvalueSolver.hxx>
Public Types | |
| enum | { SMALL_EIGENVALUES, LARGE_EIGENVALUES, CENTERED_EIGENVALUES } |
| parts of the spectrum (near from 0, at infinity or around a given value) More... | |
| enum | { SORTED_REAL, SORTED_IMAG, SORTED_MODULUS, SORTED_USER } |
| different sorting strategies | |
Public Member Functions | |
| GeneralEigenProblem_Base () | |
| default constructor | |
| virtual | ~GeneralEigenProblem_Base () |
| destructor | |
| int | GetRankCommunicator () const |
| returns rank for the solver communicator | |
| int | GetGlobalRankCommunicator () const |
| returns rank for the global communicator | |
| int | GetNbAskedEigenvalues () const |
| returns the number of eigenvalues asked by the user | |
| void | SetNbAskedEigenvalues (int n) |
| sets the number of eigenvalues to compute | |
| int | GetTypeSpectrum () const |
| returns the spectrum desired (large, small eigenvalues, etc) | |
| int | GetTypeSorting () const |
| returns how eigenvalues are sorted (real, imaginary part or modulus) | |
| void | SetStoppingCriterion (double eps) |
| modifies the stopping critertion | |
| double | GetStoppingCriterion () const |
| returns the stopping criterion | |
| void | SetNbMaximumIterations (int n) |
| sets the maximal number of iterations allowed for the iterative algorithm | |
| int | GetNbMaximumIterations () const |
| returns the maximal number of iterations allowed for the iterative algorithm | |
| int | GetNbMatrixVectorProducts () const |
| returns the number of matrix-vector products performed since last call to Init | |
| int | GetNbArnoldiVectors () const |
| returns the number of Arnoldi vectors to use | |
| void | SetNbArnoldiVectors (int n) |
| sets the number of Arnoldi vectors to use | |
| int | GetM () const |
| returns number of rows | |
| int | GetGlobalM () const |
| returns global number of rows | |
| int | GetN () const |
| returns number of columns | |
| int | GetPrintLevel () const |
| returns level of verbosity | |
| void | SetPrintLevel (int lvl) |
| sets the level of verbosity | |
| void | IncrementProdMatVect () |
| increment of the number of matrix vector products | |
| int | GetNbLinearSolves () const |
| returns the number of linear solves | |
| void | IncrementLinearSolves () |
| increments the number of linear solves | |
| void | Init (int n) |
| initialisation of the size of the eigenvalue problem | |
| virtual bool | IsSymmetricProblem () const |
| virtual bool | IsHermitianProblem () const |
Protected Attributes | |
| int | nb_eigenvalues_wanted |
| number of eigenvalues to be computed | |
| int | nb_arnoldi_vectors |
| number of Arnoldi vectors | |
| bool | automatic_selection_arnoldi_vectors |
| if true nb_arnoldi_vectors is automatically computed | |
| int | type_spectrum_wanted |
| which spectrum ? Near from Zero ? Near from Infinity ? or near from a value ? | |
| int | type_sort_eigenvalues |
| large eigenvalues because of their real part, imaginary part or magnitude ? | |
| double | stopping_criterion |
| threshold for Arpack's iterative process | |
| int | nb_maximum_iterations |
| Maximal number of iterations. | |
| int | nb_linear_solves |
| number of linear solves | |
| int | display_every |
| int | print_level |
| int | nb_prod |
| number of matrix-vector products | |
| int | n_ |
| size of the problem | |
| int | nglob |
Base class to solve a general eigenvalue problem (linear or not)
Definition at line 236 of file VirtualEigenvalueSolver.hxx.
| anonymous enum |
parts of the spectrum (near from 0, at infinity or around a given value)
SMALL_EIGENVALUES : seeking eigenvalues near 0 LARGE_EIGENVALUES : seeking largest eigenvalues CENTERED_EIGENVALUES : seeking eigenvalues near the shift sigma
Definition at line 245 of file VirtualEigenvalueSolver.hxx.