Loading [MathJax]/extensions/MathZoom.js
Spectra 1.2.0
Header-only C++ Library for Large Scale Eigenvalue Problems
Spectra::GenEigsBase< OpType, BOpType > Class Template Reference

#include <Spectra/GenEigsBase.h>

Inheritance diagram for Spectra::GenEigsBase< OpType, BOpType >:
Spectra::GenEigsComplexShiftSolver< OpType > Spectra::GenEigsRealShiftSolver< OpType > Spectra::GenEigsSolver< OpType >

Public Member Functions

void init (const Scalar *init_resid)
void init ()
Index compute (SortRule selection=SortRule::LargestMagn, Index maxit=1000, RealScalar tol=1e-10, SortRule sorting=SortRule::LargestMagn)
CompInfo info () const
Index num_iterations () const
Index num_operations () const
ComplexVector eigenvalues () const
ComplexMatrix eigenvectors (Index nvec) const
ComplexMatrix eigenvectors () const

Detailed Description

template<typename OpType, typename BOpType>
class Spectra::GenEigsBase< OpType, BOpType >

This is the base class for general eigen solvers, mainly for internal use. It is kept here to provide the documentation for member functions of concrete eigen solvers such as GenEigsSolver and GenEigsRealShiftSolver.

Definition at line 150 of file GenEigsBase.h.

Member Function Documentation

◆ init() [1/2]

template<typename OpType, typename BOpType>
void Spectra::GenEigsBase< OpType, BOpType >::init ( const Scalar * init_resid)
inline

Initializes the solver by providing an initial residual vector.

Parameters
init_residPointer to the initial residual vector.

Spectra (and also ARPACK) uses an iterative algorithm to find eigenvalues. This function allows the user to provide the initial residual vector.

Definition at line 442 of file GenEigsBase.h.

◆ init() [2/2]

template<typename OpType, typename BOpType>
void Spectra::GenEigsBase< OpType, BOpType >::init ( )
inline

Initializes the solver by providing a random initial residual vector.

This overloaded function generates a random initial residual vector (with a fixed random seed) for the algorithm. Elements in the vector follow independent Uniform(-0.5, 0.5) distribution.

Definition at line 470 of file GenEigsBase.h.

◆ compute()

template<typename OpType, typename BOpType>
Index Spectra::GenEigsBase< OpType, BOpType >::compute ( SortRule selection = SortRule::LargestMagn,
Index maxit = 1000,
RealScalar tol = 1e-10,
SortRule sorting = SortRule::LargestMagn )
inline

Conducts the major computation procedure.

Parameters
selectionAn enumeration value indicating the selection rule of the requested eigenvalues, for example SortRule::LargestMagn to retrieve eigenvalues with the largest magnitude. The full list of enumeration values can be found in Enumerations.
maxitMaximum number of iterations allowed in the algorithm.
tolPrecision parameter for the calculated eigenvalues.
sortingRule to sort the eigenvalues and eigenvectors. Supported values are SortRule::LargestMagn, SortRule::LargestReal, SortRule::LargestImag, SortRule::SmallestMagn, SortRule::SmallestReal and SortRule::SmallestImag, for example SortRule::LargestMagn indicates that eigenvalues with largest magnitude come first. Note that this argument is only used to sort the final result, and the selection rule (e.g. selecting the largest or smallest eigenvalues in the full spectrum) is specified by the parameter selection.
Returns
Number of converged eigenvalues.

Definition at line 501 of file GenEigsBase.h.

◆ info()

template<typename OpType, typename BOpType>
CompInfo Spectra::GenEigsBase< OpType, BOpType >::info ( ) const
inline

Returns the status of the computation. The full list of enumeration values can be found in Enumerations.

Definition at line 531 of file GenEigsBase.h.

◆ num_iterations()

template<typename OpType, typename BOpType>
Index Spectra::GenEigsBase< OpType, BOpType >::num_iterations ( ) const
inline

Returns the number of iterations used in the computation.

Definition at line 536 of file GenEigsBase.h.

◆ num_operations()

template<typename OpType, typename BOpType>
Index Spectra::GenEigsBase< OpType, BOpType >::num_operations ( ) const
inline

Returns the number of matrix operations used in the computation.

Definition at line 541 of file GenEigsBase.h.

◆ eigenvalues()

template<typename OpType, typename BOpType>
ComplexVector Spectra::GenEigsBase< OpType, BOpType >::eigenvalues ( ) const
inline

Returns the converged eigenvalues.

Returns
A complex-valued vector containing the eigenvalues. Returned vector type will be Eigen::Vector<std::complex<Scalar>, ...>, depending on the template parameter Scalar defined.

Definition at line 550 of file GenEigsBase.h.

◆ eigenvectors() [1/2]

template<typename OpType, typename BOpType>
ComplexMatrix Spectra::GenEigsBase< OpType, BOpType >::eigenvectors ( Index nvec) const
inline

Returns the eigenvectors associated with the converged eigenvalues.

Parameters
nvecThe number of eigenvectors to return.
Returns
A complex-valued matrix containing the eigenvectors. Returned matrix type will be Eigen::Matrix<std::complex<Scalar>, ...>, depending on the template parameter Scalar defined.

Definition at line 580 of file GenEigsBase.h.

◆ eigenvectors() [2/2]

template<typename OpType, typename BOpType>
ComplexMatrix Spectra::GenEigsBase< OpType, BOpType >::eigenvectors ( ) const
inline

Returns all converged eigenvectors.

Definition at line 608 of file GenEigsBase.h.


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