queso-0.57.1
|
Abstract base class for operator objects. Operators are assumed to be symmetric and positive-definite. More...
#include <OperatorBase.h>
Public Member Functions | |
virtual double | get_eigenvalue (unsigned int i) const =0 |
Return eigenvalue i . More... | |
virtual double | get_inverted_eigenvalue (unsigned int i) const =0 |
Return the reciprocal of eigenvalue i . More... | |
virtual unsigned int | get_num_converged () const =0 |
Return the number of converged eigenpairs. More... | |
virtual SharedPtr < FunctionBase >::Type | inverse_kl_transform (std::vector< double > &xi, double alpha) const =0 |
Given coefficients xi , computes the Karhunen-Loeve transform. More... | |
Constructor/Destructor methods | |
OperatorBase () | |
Constructor. More... | |
virtual | ~OperatorBase () |
Destructor. More... | |
Abstract base class for operator objects. Operators are assumed to be symmetric and positive-definite.
Definition at line 45 of file OperatorBase.h.
QUESO::OperatorBase::OperatorBase | ( | ) |
|
virtual |
|
pure virtual |
Return eigenvalue i
.
You can store them however you want, but having some kind of order to them is useful for InfiniteDimensionalMeasure
Implemented in QUESO::LibMeshOperatorBase.
Referenced by QUESO::InfiniteDimensionalGaussian::get_kl_coefficient().
|
pure virtual |
Return the reciprocal of eigenvalue i
.
Implemented in QUESO::LibMeshOperatorBase.
|
pure virtual |
Return the number of converged eigenpairs.
Implemented in QUESO::LibMeshOperatorBase.
Referenced by QUESO::InfiniteDimensionalGaussian::draw(), and QUESO::InfiniteDimensionalGaussian::InfiniteDimensionalGaussian().
|
pure virtual |
Given coefficients xi
, computes the Karhunen-Loeve transform.
This transform goes from coefficient space to physical space using this
as the precision operator: / pow(, alpha
/ 2.0) (x) where the lambda are eigenvalues of the precision operator, this
, and the (x) are eigenfunctions of the precision operator, this
Implemented in QUESO::LibMeshOperatorBase.
Referenced by QUESO::InfiniteDimensionalGaussian::draw().