Public Types | Public Member Functions | Protected Attributes | List of all members
Seldon::GeneralEigenProblem_Base Class Reference

Base class to solve a general eigenvalue problem (linear or not) More...

#include <VirtualEigenvalueSolver.hxx>

Inheritance diagram for Seldon::GeneralEigenProblem_Base:
Seldon::GeneralEigenProblem< PetscScalar > Seldon::GeneralEigenProblem< T > Seldon::PolynomialEigenProblem_Base< PetscScalar > Seldon::PolynomialEigenProblem_Base< T > Seldon::PolynomialEigenProblem< T > Seldon::PolynomialDenseEigenProblem< T, Prop, Storage > Seldon::PolynomialSparseEigenProblem< T, MatStiff, MatMass >

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
 

Detailed Description

Base class to solve a general eigenvalue problem (linear or not)

Definition at line 236 of file VirtualEigenvalueSolver.hxx.

Member Enumeration Documentation

◆ anonymous enum

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.


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