ROL
|
Provides the std::vector implementation to apply a linear operator, which encapsulates a tridiagonal matrix. More...
#include <ROL_StdTridiagonalOperator.hpp>
Public Member Functions | |
StdTridiagonalOperator (const ROL::Ptr< const vector< Real > > &a, const ROL::Ptr< const vector< Real > > &b, const ROL::Ptr< const vector< Real > > &c) | |
StdTridiagonalOperator (const ROL::Ptr< const vector< Real > > &a, const ROL::Ptr< const vector< Real > > &b) | |
virtual | ~StdTridiagonalOperator () |
virtual void | apply (vector< Real > &Hv, const vector< Real > &v, Real &tol) const |
virtual void | applyAdjoint (vector< Real > &Hv, const vector< Real > &v, Real &tol) const |
virtual void | applyInverse (vector< Real > &Hv, const vector< Real > &v, Real &tol) const |
virtual void | applyAdjointInverse (vector< Real > &Hv, const vector< Real > &v, Real &tol) const |
Public Member Functions inherited from ROL::StdLinearOperator< Real > | |
StdLinearOperator () | |
StdLinearOperator (ROL::Ptr< std::vector< Real > > &A) | |
virtual | ~StdLinearOperator () |
void | update (const Vector< Real > &x, bool flag=true, int iter=-1) |
Update linear operator. More... | |
virtual void | update (const std::vector< Real > &x, bool flag=true, int iter=-1) |
void | apply (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply linear operator. More... | |
virtual void | apply (std::vector< Real > &Hv, const std::vector< Real > &v, Real &tol) const |
void | applyAdjoint (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply adjoint of linear operator. More... | |
virtual void | applyAdjoint (std::vector< Real > &Hv, const std::vector< Real > &v, Real &tol) const |
void | applyInverse (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply inverse of linear operator. More... | |
virtual void | applyInverse (std::vector< Real > &Hv, const std::vector< Real > &v, Real &tol) const |
void | applyAdjointInverse (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply adjoint of the inverse linear operator. More... | |
virtual void | applyAdjointInverse (std::vector< Real > &Hv, const std::vector< Real > &v, Real &tol) const |
Public Member Functions inherited from ROL::LinearOperator< Real > | |
virtual | ~LinearOperator () |
Private Types | |
template<typename T > | |
using | vector = std::vector< T > |
Private Member Functions | |
void | copy (void) const |
Private Attributes | |
const ROL::Ptr< const vector < Real > > | a_ |
const ROL::Ptr< const vector < Real > > | b_ |
const ROL::Ptr< const vector < Real > > | c_ |
vector< Real > | dl_ |
vector< Real > | d_ |
vector< Real > | du_ |
vector< Real > | du2_ |
vector< int > | ipiv_ |
int | N_ |
ROL::LAPACK< int, Real > | lapack_ |
Provides the std::vector implementation to apply a linear operator, which encapsulates a tridiagonal matrix.
\[ T = \begin{matrix} a_0 & b_0 \\ c_0 & a_1 & b_1 \\ & c_1 & \ddots & \ddots \\ & & \ddots & a_{n-2} & b_{n-2} \\ & & & c_{n-2} & a_{n-1} \end{pmatrix} \]
Definition at line 34 of file ROL_StdTridiagonalOperator.hpp.
|
private |
Definition at line 36 of file ROL_StdTridiagonalOperator.hpp.
|
inline |
Definition at line 67 of file ROL_StdTridiagonalOperator.hpp.
References ROL::StdTridiagonalOperator< Real >::a_, ROL::StdTridiagonalOperator< Real >::d_, ROL::StdTridiagonalOperator< Real >::dl_, ROL::StdTridiagonalOperator< Real >::du2_, ROL::StdTridiagonalOperator< Real >::du_, ROL::StdTridiagonalOperator< Real >::ipiv_, and ROL::StdTridiagonalOperator< Real >::N_.
|
inline |
Definition at line 81 of file ROL_StdTridiagonalOperator.hpp.
|
inlinevirtual |
Definition at line 87 of file ROL_StdTridiagonalOperator.hpp.
|
inlineprivate |
Definition at line 55 of file ROL_StdTridiagonalOperator.hpp.
References ROL::StdTridiagonalOperator< Real >::d_, ROL::StdTridiagonalOperator< Real >::dl_, ROL::StdTridiagonalOperator< Real >::du2_, ROL::StdTridiagonalOperator< Real >::du_, and ROL::StdTridiagonalOperator< Real >::N_.
Referenced by ROL::StdTridiagonalOperator< Real >::applyAdjointInverse(), and ROL::StdTridiagonalOperator< Real >::applyInverse().
|
inlinevirtual |
Definition at line 95 of file ROL_StdTridiagonalOperator.hpp.
References ROL::StdTridiagonalOperator< Real >::N_.
|
inlinevirtual |
Definition at line 106 of file ROL_StdTridiagonalOperator.hpp.
References ROL::StdTridiagonalOperator< Real >::N_.
|
inlinevirtual |
Definition at line 116 of file ROL_StdTridiagonalOperator.hpp.
References ROL::StdTridiagonalOperator< Real >::copy(), ROL::StdTridiagonalOperator< Real >::d_, ROL::StdTridiagonalOperator< Real >::dl_, ROL::StdTridiagonalOperator< Real >::du2_, ROL::StdTridiagonalOperator< Real >::du_, ROL::StdTridiagonalOperator< Real >::ipiv_, ROL::StdTridiagonalOperator< Real >::lapack_, and ROL::StdTridiagonalOperator< Real >::N_.
|
inlinevirtual |
Definition at line 124 of file ROL_StdTridiagonalOperator.hpp.
References ROL::StdTridiagonalOperator< Real >::copy(), ROL::StdTridiagonalOperator< Real >::d_, ROL::StdTridiagonalOperator< Real >::dl_, ROL::StdTridiagonalOperator< Real >::du2_, ROL::StdTridiagonalOperator< Real >::du_, ROL::StdTridiagonalOperator< Real >::ipiv_, ROL::StdTridiagonalOperator< Real >::lapack_, and ROL::StdTridiagonalOperator< Real >::N_.
|
private |
Definition at line 40 of file ROL_StdTridiagonalOperator.hpp.
Referenced by ROL::StdTridiagonalOperator< Real >::StdTridiagonalOperator().
|
private |
Definition at line 41 of file ROL_StdTridiagonalOperator.hpp.
|
private |
Definition at line 42 of file ROL_StdTridiagonalOperator.hpp.
|
mutableprivate |
Definition at line 44 of file ROL_StdTridiagonalOperator.hpp.
Referenced by ROL::StdTridiagonalOperator< Real >::applyAdjointInverse(), ROL::StdTridiagonalOperator< Real >::applyInverse(), ROL::StdTridiagonalOperator< Real >::copy(), and ROL::StdTridiagonalOperator< Real >::StdTridiagonalOperator().
|
mutableprivate |
Definition at line 45 of file ROL_StdTridiagonalOperator.hpp.
Referenced by ROL::StdTridiagonalOperator< Real >::applyAdjointInverse(), ROL::StdTridiagonalOperator< Real >::applyInverse(), ROL::StdTridiagonalOperator< Real >::copy(), and ROL::StdTridiagonalOperator< Real >::StdTridiagonalOperator().
|
mutableprivate |
Definition at line 46 of file ROL_StdTridiagonalOperator.hpp.
Referenced by ROL::StdTridiagonalOperator< Real >::applyAdjointInverse(), ROL::StdTridiagonalOperator< Real >::applyInverse(), ROL::StdTridiagonalOperator< Real >::copy(), and ROL::StdTridiagonalOperator< Real >::StdTridiagonalOperator().
|
mutableprivate |
Definition at line 47 of file ROL_StdTridiagonalOperator.hpp.
Referenced by ROL::StdTridiagonalOperator< Real >::applyAdjointInverse(), ROL::StdTridiagonalOperator< Real >::applyInverse(), ROL::StdTridiagonalOperator< Real >::copy(), and ROL::StdTridiagonalOperator< Real >::StdTridiagonalOperator().
|
mutableprivate |
Definition at line 49 of file ROL_StdTridiagonalOperator.hpp.
Referenced by ROL::StdTridiagonalOperator< Real >::applyAdjointInverse(), ROL::StdTridiagonalOperator< Real >::applyInverse(), and ROL::StdTridiagonalOperator< Real >::StdTridiagonalOperator().
|
private |
Definition at line 51 of file ROL_StdTridiagonalOperator.hpp.
Referenced by ROL::StdTridiagonalOperator< Real >::apply(), ROL::StdTridiagonalOperator< Real >::applyAdjoint(), ROL::StdTridiagonalOperator< Real >::applyAdjointInverse(), ROL::StdTridiagonalOperator< Real >::applyInverse(), ROL::StdTridiagonalOperator< Real >::copy(), and ROL::StdTridiagonalOperator< Real >::StdTridiagonalOperator().
|
private |
Definition at line 53 of file ROL_StdTridiagonalOperator.hpp.
Referenced by ROL::StdTridiagonalOperator< Real >::applyAdjointInverse(), and ROL::StdTridiagonalOperator< Real >::applyInverse().