Class documentation of Concepts

Loading...
Searching...
No Matches
eigensolver::EasyArPackppSymGen Class Reference

Tool to easily solve general eigenvalue problems for symmetric matrices. More...

#include <easyArpackpp.hh>

Inheritance diagram for eigensolver::EasyArPackppSymGen:
eigensolver::EasyArPackpp< concepts::Real >

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 ArPackppSymGengetSolver ()
 Getter for the generated solver.
 

Protected Attributes

int dim_
 Dimension of the space.
 

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
Amatrix of the left hand side; it has to be symmetric
Bmatrix of the right hand side; it has to be real, symmetric and positive semi-definite
kmaxnumber of eigenvalues that should be calculated
shiftreal 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
Asymmetric matrix of the left hand side; if (invert Type = 'B') it must be positive semi-definite
Bsymmetric matrix of the right hand side; if (invert Type = 'S') it must be positive semi-definite
kmaxnumber of eigenvalues that should be calculated
shiftreal 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).

Member Function Documentation

◆ getSolver()

virtual ArPackppSymGen * eigensolver::EasyArPackppSymGen::getSolver ( )
virtual

Getter for the generated solver.

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

Examples
arpackppTutorial.cc.

Member Data Documentation

◆ dim_

int eigensolver::EasyArPackpp< concepts::Real >::dim_
protectedinherited

Dimension of the space.

Definition at line 47 of file easyArpackpp.hh.


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