ROL
|
Interface for computing the Lanczos vectors and approximate solutions to symmetric indefinite linear systems. More...
#include <ROL_Lanczos.hpp>
Public Types | |
enum | FLAG_ITERATE : unsigned { FLAG_ITERATE::ITERATE_SUCCESS = 0, FLAG_ITERATE::ITERATE_SMALL_BETA, FLAG_ITERATE::ITERATE_MAX_REACHED, FLAG_ITERATE::ITERATE_ORTHO_TOL, FLAG_ITERATE::ITERATE_LAST } |
enum | FLAG_SOLVE : unsigned { FLAG_SOLVE::SOLVE_SUCCESS = 0, FLAG_SOLVE::SOLVE_ILLEGAL_VALUE, FLAG_SOLVE::SOLVE_SINGULAR_U, FLAG_SOLVE::SOLVE_LAST } |
Public Member Functions | |
Lanczos (ROL::ParameterList &PL) | |
void | initialize (const V &b) |
void | initialize (const V &x0, const V &b, const LO &A, Real &tol) |
void | reset (const V &b) |
void | reset (const V &x0, const V &b, const LO &A, Real &tol) |
FLAG_ITERATE | iterate (const OP &A, Real &tol) |
void | eigenvalues (std::vector< Real > &E) |
FLAG_SOLVE | solve (V &x, Real tau=0) |
Private Types | |
template<typename T > | |
using | vector = std::vector< T > |
typedef Vector< Real > | V |
typedef LinearOperator< Real > | OP |
typedef ROL::ParameterList | PL |
Private Member Functions | |
void | allocate (void) |
Private Attributes | |
template vector< Real > size_type | uint |
ROL::LAPACK< int, Real > | lapack_ |
vector< ROL::Ptr< V > > | Q_ |
vector< Real > | alpha_ |
vector< Real > | beta_ |
vector< Real > | dl_ |
vector< Real > | d_ |
vector< Real > | du_ |
vector< Real > | du2_ |
vector< Real > | y_ |
vector< Real > | work_ |
vector< int > | ipiv_ |
ROL::Ptr< V > | u_ |
Real | max_beta_ |
Real | tol_beta_ |
Real | tol_ortho_ |
int | maxit_ |
int | k_ |
Interface for computing the Lanczos vectors and approximate solutions to symmetric indefinite linear systems.
Definition at line 30 of file ROL_Lanczos.hpp.
|
private |
Definition at line 33 of file ROL_Lanczos.hpp.
|
private |
Definition at line 37 of file ROL_Lanczos.hpp.
|
private |
Definition at line 38 of file ROL_Lanczos.hpp.
|
private |
Definition at line 40 of file ROL_Lanczos.hpp.
|
strong |
Enumerator | |
---|---|
ITERATE_SUCCESS | |
ITERATE_SMALL_BETA | |
ITERATE_MAX_REACHED | |
ITERATE_ORTHO_TOL | |
ITERATE_LAST |
Definition at line 101 of file ROL_Lanczos.hpp.
|
strong |
Enumerator | |
---|---|
SOLVE_SUCCESS | |
SOLVE_ILLEGAL_VALUE | |
SOLVE_SINGULAR_U | |
SOLVE_LAST |
Definition at line 109 of file ROL_Lanczos.hpp.
|
inline |
Definition at line 117 of file ROL_Lanczos.hpp.
References ROL::Lanczos< Real >::maxit_, ROL::Lanczos< Real >::tol_beta_, and ROL::Lanczos< Real >::tol_ortho_.
|
inlineprivate |
Definition at line 73 of file ROL_Lanczos.hpp.
References ROL::Lanczos< Real >::alpha_, ROL::Lanczos< Real >::beta_, ROL::Lanczos< Real >::d_, ROL::Lanczos< Real >::dl_, ROL::Lanczos< Real >::du2_, ROL::Lanczos< Real >::du_, ROL::Lanczos< Real >::ipiv_, ROL::Lanczos< Real >::maxit_, ROL::Lanczos< Real >::Q_, ROL::Lanczos< Real >::u_, ROL::Lanczos< Real >::uint, ROL::Lanczos< Real >::work_, and ROL::Lanczos< Real >::y_.
Referenced by ROL::Lanczos< Real >::initialize().
|
inline |
Definition at line 129 of file ROL_Lanczos.hpp.
References ROL::Lanczos< Real >::allocate(), and ROL::Lanczos< Real >::reset().
|
inline |
Definition at line 135 of file ROL_Lanczos.hpp.
References ROL::Lanczos< Real >::allocate(), and ROL::Lanczos< Real >::reset().
|
inline |
Definition at line 142 of file ROL_Lanczos.hpp.
References ROL::Lanczos< Real >::beta_, ROL::Lanczos< Real >::k_, ROL::Lanczos< Real >::max_beta_, and ROL::Lanczos< Real >::Q_.
Referenced by ROL::Lanczos< Real >::initialize().
|
inline |
Definition at line 151 of file ROL_Lanczos.hpp.
References ROL::Lanczos< Real >::beta_, ROL::Lanczos< Real >::k_, ROL::Lanczos< Real >::max_beta_, ROL::Lanczos< Real >::Q_, and ROL::Lanczos< Real >::u_.
|
inline |
Definition at line 162 of file ROL_Lanczos.hpp.
References ROL::Lanczos< Real >::alpha_, ROL::LinearOperator< Real >::apply(), ROL::Lanczos< Real >::beta_, ROL::Lanczos< Real >::k_, ROL::Lanczos< Real >::max_beta_, ROL::Lanczos< Real >::maxit_, ROL::Lanczos< Real >::Q_, ROL::Lanczos< Real >::tol_beta_, ROL::Lanczos< Real >::tol_ortho_, and ROL::Lanczos< Real >::u_.
|
inline |
Definition at line 208 of file ROL_Lanczos.hpp.
References ROL::Lanczos< Real >::alpha_, ROL::Lanczos< Real >::beta_, ROL::Lanczos< Real >::d_, ROL::Lanczos< Real >::du_, ROL::Lanczos< Real >::k_, ROL::Lanczos< Real >::lapack_, and ROL::Lanczos< Real >::work_.
|
inline |
Definition at line 229 of file ROL_Lanczos.hpp.
References ROL::Lanczos< Real >::alpha_, ROL::Lanczos< Real >::beta_, ROL::Lanczos< Real >::d_, ROL::Lanczos< Real >::dl_, ROL::Lanczos< Real >::du2_, ROL::Lanczos< Real >::du_, ROL::Lanczos< Real >::ipiv_, ROL::Lanczos< Real >::k_, ROL::Lanczos< Real >::lapack_, ROL::Lanczos< Real >::maxit_, ROL::Lanczos< Real >::uint, and ROL::Lanczos< Real >::y_.
|
private |
Definition at line 35 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), and ROL::Lanczos< Real >::solve().
|
private |
Definition at line 44 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::eigenvalues(), and ROL::Lanczos< Real >::solve().
|
private |
Definition at line 46 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), ROL::Lanczos< Real >::iterate(), and ROL::Lanczos< Real >::reset().
|
private |
Definition at line 47 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), ROL::Lanczos< Real >::eigenvalues(), ROL::Lanczos< Real >::iterate(), and ROL::Lanczos< Real >::solve().
|
private |
Definition at line 48 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), ROL::Lanczos< Real >::eigenvalues(), ROL::Lanczos< Real >::iterate(), ROL::Lanczos< Real >::reset(), and ROL::Lanczos< Real >::solve().
|
private |
Definition at line 51 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), and ROL::Lanczos< Real >::solve().
|
private |
Definition at line 52 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), ROL::Lanczos< Real >::eigenvalues(), and ROL::Lanczos< Real >::solve().
|
private |
Definition at line 53 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), ROL::Lanczos< Real >::eigenvalues(), and ROL::Lanczos< Real >::solve().
|
private |
Definition at line 54 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), and ROL::Lanczos< Real >::solve().
|
private |
Definition at line 55 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), and ROL::Lanczos< Real >::solve().
|
private |
Definition at line 57 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), and ROL::Lanczos< Real >::eigenvalues().
|
private |
Definition at line 58 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), and ROL::Lanczos< Real >::solve().
|
private |
Definition at line 60 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), ROL::Lanczos< Real >::iterate(), and ROL::Lanczos< Real >::reset().
|
private |
Definition at line 62 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::iterate(), and ROL::Lanczos< Real >::reset().
|
private |
Definition at line 63 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::iterate(), and ROL::Lanczos< Real >::Lanczos().
|
private |
Definition at line 65 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::iterate(), and ROL::Lanczos< Real >::Lanczos().
|
private |
Definition at line 67 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::allocate(), ROL::Lanczos< Real >::iterate(), ROL::Lanczos< Real >::Lanczos(), and ROL::Lanczos< Real >::solve().
|
private |
Definition at line 69 of file ROL_Lanczos.hpp.
Referenced by ROL::Lanczos< Real >::eigenvalues(), ROL::Lanczos< Real >::iterate(), ROL::Lanczos< Real >::reset(), and ROL::Lanczos< Real >::solve().