Basic Geometry, Numerical Algorithms and Interfaces
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
Classes | Public Member Functions | Public Attributes | Private Member Functions | List of all members
ArpackSolver< T > Class Template Reference

Detailed Description

template<typename T>
class ArpackSolver< T >

Interface to ARPACK.

This is a wrapper around ARPACK for the solution of large, sparse eigenvalue problems. It is only activated if libarpack is detected by the qmake run.

Note: This must link to version 3.2.0 or later; earlier versions of ARPACK have a bug in their usage of the internal LAPACK subroutine DLAHQR which means the ordering of eigenvalues is scrambled. Unfortunately, there is no simple way to detect the ARPACK version during configuration.

See Also
eig.h, arpackf

#include <arpack.h>

Collaboration diagram for ArpackSolver< T >:


struct  InvSpOperator
 operator for inverse operation More...
struct  SpOperator
 operator for direct mode, finding the largest eigenvalues of A More...

Public Member Functions

 ArpackSolver ()
 set default values
void maxIterations (int niter)
 change the number of iterations permitted
const DVector< Cplx > & eigenvalues () const
 access eigenvalues extracted by one of the computational interfaces
const DMatrix< Cplx > & eigenvectors () const
 access eigenvectors extracted by one of the computational interfaces
template<class Operator >
residual (const Operator &A, int k) const
 compute the residual |A*z_k - lambda_k*z_k| for eigenvalue k
template<class Operator >
bool direct (const Operator &A, int nev, const char *which)
 find nev eigenvalues of nonsymmetric operator A

Public Attributes

DVector< T > m_workd
 workspace arrays
DMatrix< T > m_v
 subspace and results
DVector< Cplx > m_evalues
 extracted eigenvalues
DMatrix< Cplx > m_evectors
 extracted eigenvectors
int m_ipntr [16]
 integer pointer array for fortran ARPACK
int m_iparam [16]
 parameter set for fortran ARPACK
int m_maxIterations
 maximum number of outer iterations

Private Member Functions

void reset ()
 reset parameter values to defaults

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