#include <KarhunenLoeveBase.h>
Definition at line 10 of file KarhunenLoeveBase.h.
Public Member Functions | |
virtual | ~KarhunenLoeveBase ()=default |
virtual Eigen::MatrixXd | GetModes (Eigen::Ref< const Eigen::MatrixXd > const &pts) const =0 |
virtual Eigen::VectorXd | Evaluate (Eigen::Ref< const Eigen::MatrixXd > const &pts, Eigen::Ref< const Eigen::VectorXd > const &coeffs) const |
Evaluate the KL expansion at a new pt given known coefficients. More... | |
virtual unsigned int | NumModes () const =0 |
|
virtualdefault |
|
inlinevirtual |
Evaluate the KL expansion at a new pt given known coefficients.
Recall that a truncated KL expansion of a random process \(u(x,\omega)\) takes the form
\[ u(x,\omega) = \sum_{k=1}^N \phi_k(x) z_k(\omega), \]
where \(\phi_k(x)\) is the \(k^{th}\) KL mode and each \(z_k(\omega)\) is an independent standard normal random variable. This function evaluates the expansion given a point \(x\) and a vector containing each \(z_k\). Thus, by fixing the coefficient vector \(z_k\), it is possible to evaluate the sample of the Gaussian process at many different points.
[in] | pt | The point \(x\) that where you want to evaluate the KL expansion. |
[in] | coeffs | The coefficients in the expansion. The coefficients should be drawn as iid standard normal random variables to generate a sample of the Gaussian process. |
Definition at line 27 of file KarhunenLoeveBase.h.
References GetModes().
|
pure virtual |
Implemented in muq::Approximation::KarhunenLoeveExpansion.
Referenced by Evaluate().
|
pure virtual |
Implemented in muq::Approximation::KarhunenLoeveExpansion.