ezarpack/common.hpp - declarations of common types and exceptions

using ezarpack::dcomplex = std::complex<double>

The double precision complex type used in ARPACK-NG calls.

enum ezarpack::operator_kind

Kind of square matrix (linear operator) to solve an eigenproblem for.

Values:

enumerator Symmetric

Symmetric real matrix.

enumerator Asymmetric

General real matrix.

enumerator Complex

General complex matrix.

struct maxiter_reached : public std::runtime_error

Exception: Maximum number of Implicitly restarted Arnoldi iterations has been reached.

This exception can be thrown by operator() of arpack_solver specializations.

Public Functions

inline maxiter_reached(int maxiter)
Parameters:

maxiter – Maximum number of IRLM/IRAM iterations allowed.

Public Members

int maxiter

Maximum number of IRLM/IRAM iterations allowed.

struct ncv_insufficient : public std::runtime_error

Exception: No shifts could be applied during a cycle of the Implicitly restarted Arnoldi iteration. Consider increasing the number of Lanczos/Arnoldi vectors generated at each iteration.

This exception can be thrown by operator() of arpack_solver specializations.

Public Functions

inline ncv_insufficient(int ncv)
Parameters:

ncv – Number of Lanczos/Arnoldi vectors to be generated.

Public Members

int ncv

Number of Lanczos/Arnoldi vectors to be generated.