eigensolver::SmallES< F > Class Template Referenceabstract
Eigenvalue solver using LaPack routine dgeev
(Real) zgeev
(Cmplx).
More...
#include <SmallES.hh>
Public Member Functions | |
virtual uint | converged () const |
Returns the number of converged eigenpairs: (not implemented) More... | |
virtual uint | converged () const=0 |
Returns the number of converged eigen pairs. More... | |
virtual const concepts::Array< concepts::Vector< F > * > & | getEF () |
Returns an array with the eigenfunctions. More... | |
virtual const concepts::Array< F > & | getEV () |
Returns an array with the real parts of the eigenvalues in the first kmax entries and the imaginary parts of the eigenvalues in the second kmax entries for real matrices and returns a complex array containing the eigenvalues for complex matrices. More... | |
virtual uint | iterations () const |
Returns the number of iterations. More... | |
virtual uint | iterations () const=0 |
Returns the number of iterations. More... | |
SmallES (concepts::Array< F > &A) | |
Constructor. More... | |
template<class G > | |
SmallES (concepts::DenseMatrix< G > &A) | |
Constructor. More... | |
template<class G > | |
SmallES (concepts::ElementMatrix< G > &A) | |
Constructor. More... | |
template<class G > | |
SmallES (concepts::Matrix< G > &A) | |
Constructor. More... | |
virtual | ~SmallES () |
Destructor. More... | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
Private Member Functions | |
void | compute_ () |
Compute eigenpairs. More... | |
Private Attributes | |
concepts::Array< F > * | A_ |
Array A as described in modus . More... | |
bool | computed_ |
Eigenpairs computed? More... | |
concepts::Array< F > | eigenvalues_ |
Storage space for eigenvalues. More... | |
concepts::Array< concepts::Vector< F > * > | eigenvectors_ |
Storage for eigenvectors. More... | |
bool | flag_ |
Detailed Description
template<typename F = Cmplx>
class eigensolver::SmallES< F >
Eigenvalue solver using LaPack routine dgeev
(Real) zgeev
(Cmplx).
This solver is intended to be applied to "small" general N by N matrices, e.g. for the eigenvalue computation in the DirPotIt routine. For Sparse matrices / big eigenvalue problems consider the ArPack routines. As input this solver takes: an array which represents the columnwise stored matrix: array(column 1, column 2,... column n), an ElementMatrix a Matrix IMPORTANT: If you use the real version of the algorithm, the eigenvalues are stored as an array of real values: array(Re(ev_1),...,Re(ev_n), Im(ev_1),..,Im(ev_n)). However, you can use a complex version for EementMatrix<Real> and Matrix<Real>.
Definition at line 38 of file SmallES.hh.
Constructor & Destructor Documentation
◆ SmallES() [1/4]
eigensolver::SmallES< F >::SmallES | ( | concepts::Array< F > & | A | ) |
Constructor.
- Parameters
-
A Array A is the matrix of which the eigenpairs have to be computed.
◆ SmallES() [2/4]
eigensolver::SmallES< F >::SmallES | ( | concepts::Matrix< G > & | A | ) |
Constructor.
- Parameters
-
A Matrix A is the matrix of which the eigenpairs have to be computed.
◆ SmallES() [3/4]
eigensolver::SmallES< F >::SmallES | ( | concepts::ElementMatrix< G > & | A | ) |
Constructor.
- Parameters
-
A ElementMatrix A is the matrix of which the eigenpairs have to be computed.
◆ SmallES() [4/4]
|
inline |
Constructor.
- Parameters
-
A DenseMatrix A is the matrix of which the eigenpairs have to be computed.
Definition at line 66 of file SmallES.hh.
◆ ~SmallES()
|
virtual |
Destructor.
Member Function Documentation
◆ compute_()
|
private |
Compute eigenpairs.
◆ converged() [1/2]
|
inlinevirtual |
Returns the number of converged eigenpairs: (not implemented)
Definition at line 85 of file SmallES.hh.
◆ converged() [2/2]
|
pure virtualinherited |
Returns the number of converged eigen pairs.
◆ getEF()
|
virtual |
Returns an array with the eigenfunctions.
Implements eigensolver::EigenSolver< Cmplx >.
◆ getEV()
|
virtual |
Returns an array with the real parts of the eigenvalues in the first kmax
entries and the imaginary parts of the eigenvalues in the second kmax
entries for real matrices and returns a complex array containing the eigenvalues for complex matrices.
The last entry in both cases is the optimal size of the work array.
Implements eigensolver::EigenSolver< Cmplx >.
◆ info()
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from eigensolver::EigenSolver< Cmplx >.
◆ iterations() [1/2]
|
inlinevirtual |
Returns the number of iterations.
Definition at line 83 of file SmallES.hh.
◆ iterations() [2/2]
|
pure virtualinherited |
Returns the number of iterations.
Member Data Documentation
◆ A_
|
private |
Array A as described in modus
.
Definition at line 91 of file SmallES.hh.
◆ computed_
|
private |
Eigenpairs computed?
Definition at line 97 of file SmallES.hh.
◆ eigenvalues_
|
private |
Storage space for eigenvalues.
Definition at line 93 of file SmallES.hh.
◆ eigenvectors_
|
private |
Storage for eigenvectors.
Definition at line 95 of file SmallES.hh.
◆ flag_
|
private |
Definition at line 89 of file SmallES.hh.
The documentation for this class was generated from the following file:
- eigensolver/SmallES.hh