MUQ  0.4.3
GaussianOperator.cpp
Go to the documentation of this file.
2 
3 using namespace muq::Modeling;
4 
5 
6 GaussianOperator::GaussianOperator(std::shared_ptr<GaussianBase> const& gaussIn,
7  Gaussian::Mode precOrCovIn) : LinearOperator(gaussIn->Dimension(), gaussIn->Dimension()),
8  gauss(gaussIn),
9  precOrCov(precOrCovIn)
10 {
11 }
12 
13 
14 Eigen::MatrixXd GaussianOperator::Apply(Eigen::Ref<const Eigen::MatrixXd> const& x)
15 {
17  return gauss->ApplyPrecision(x);
18  }else{
19  return gauss->ApplyCovariance(x);
20  }
21 }
22 
23 
24 Eigen::MatrixXd GaussianOperator::ApplyTranspose(Eigen::Ref<const Eigen::MatrixXd> const& x)
25 {
26  return Apply(x);
27 }
virtual Eigen::MatrixXd Apply(Eigen::Ref< const Eigen::MatrixXd > const &x) override
GaussianOperator(std::shared_ptr< GaussianBase > const &gaussIn, Gaussian::Mode precOrCovIn)
std::shared_ptr< GaussianBase > gauss
virtual Eigen::MatrixXd ApplyTranspose(Eigen::Ref< const Eigen::MatrixXd > const &x) override
Mode
Are we specifying the mean, covariance matrix, or precision matrix.
Definition: Gaussian.h:18
@ Precision
We are specifying the precision.
Definition: Gaussian.h:24
Generic linear operator base class.