1 #include "AllClassWrappers.h"
9 #include <pybind11/pybind11.h>
10 #include <pybind11/stl.h>
11 #include <pybind11/eigen.h>
25 py::class_<GaussianProcess, std::shared_ptr<GaussianProcess>>
26 gaussProc(m,
"GaussianProcess");
28 .def(py::init<MeanFunctionBase&, KernelBase&>())
29 .def(py::init<std::shared_ptr<MeanFunctionBase>, std::shared_ptr<KernelBase>>())
31 (Eigen::Ref<const Eigen::MatrixXd>
const&,
32 Eigen::Ref<const Eigen::MatrixXd>
const&))
35 (Eigen::Ref<const Eigen::MatrixXd>
const&,
36 Eigen::Ref<const Eigen::MatrixXd>
const&,
39 (std::shared_ptr<ObservationInformation>))
56 py::enum_<GaussianProcess::CovarianceType>(gaussProc,
"CovarianceType")
57 .value(
"DiagonalCov", GaussianProcess::CovarianceType::DiagonalCov)
58 .value(
"BlockCov", GaussianProcess::CovarianceType::BlockCov)
59 .value(
"FullCov", GaussianProcess::CovarianceType::FullCov)
60 .value(
"NoCov", GaussianProcess::CovarianceType::NoCov)
65 std::shared_ptr<MeanFunctionBase>>
66 meanFuncBase(m,
"MeanFunctionBase");
76 py::class_<ZeroMean, MeanFunctionBase, std::shared_ptr<ZeroMean>>
77 zeroMean(m,
"ZeroMean");
79 .def(py::init<unsigned, unsigned>())
84 py::class_<LinearMean, MeanFunctionBase, std::shared_ptr<LinearMean>>
85 linMean(m,
"LinearMean");
87 .def(py::init<double, double>())
88 .def(py::init<Eigen::MatrixXd const&, Eigen::VectorXd const&>())
110 py::class_<ObservationInformation, std::shared_ptr<ObservationInformation>>
111 obsInfo(m,
"ObservationInformation");
113 .def(py::init<std::shared_ptr<muq::Modeling::LinearOperator>,
114 Eigen::Ref<const Eigen::VectorXd>
const&,
115 Eigen::Ref<const Eigen::VectorXd>
const&,
116 Eigen::Ref<const Eigen::MatrixXd>
const&>());
131 std::shared_ptr<DerivativeObservation>>
132 derivObs(m,
"DerivativeObservation");
134 .def(py::init<std::shared_ptr<muq::Modeling::LinearOperator>,
135 Eigen::Ref<const Eigen::VectorXd>
const&,
136 Eigen::Ref<const Eigen::VectorXd>
const&,
137 Eigen::Ref<const Eigen::MatrixXd>
const&,
138 std::vector<std::vector<int>>>());
141 py::class_<StateSpaceGP, GaussianProcess, std::shared_ptr<StateSpaceGP>>
142 stateSpace(m,
"StateSpaceGP");
144 .def(py::init<std::shared_ptr<MeanFunctionBase>, std::shared_ptr<KernelBase>>())
145 .def(py::init<std::shared_ptr<MeanFunctionBase>, std::shared_ptr<KernelBase>, boost::property_tree::ptree>())
Class that defines an observation involving linear combinations of GP derivatives.
virtual Eigen::MatrixXd Sample(Eigen::MatrixXd const &newPts)
virtual Eigen::MatrixXd PredictMean(Eigen::MatrixXd const &newPts)
virtual GaussianProcess & Condition(Eigen::Ref< const Eigen::MatrixXd > const &loc, Eigen::Ref< const Eigen::MatrixXd > const &vals)
std::shared_ptr< muq::Modeling::Gaussian > Discretize(Eigen::MatrixXd const &pts)
virtual std::pair< Eigen::MatrixXd, Eigen::MatrixXd > Predict(Eigen::MatrixXd const &newLocs, CovarianceType covType)
std::shared_ptr< MeanFunctionBase > Mean()
virtual double MarginalLogLikelihood()
virtual double LogLikelihood(Eigen::MatrixXd const &xs, Eigen::MatrixXd const &vals)
std::shared_ptr< KernelBase > Kernel()
virtual std::shared_ptr< MeanFunctionBase > Clone() const override
virtual Eigen::MatrixXd Evaluate(Eigen::MatrixXd const &xs) const override
virtual std::shared_ptr< MeanFunctionBase > Clone() const =0
virtual std::shared_ptr< MeanFunctionBase > GetPtr()
virtual Eigen::MatrixXd Evaluate(Eigen::MatrixXd const &xs) const =0
virtual Eigen::MatrixXd PredictMean(Eigen::MatrixXd const &newPts) override
virtual std::pair< Eigen::MatrixXd, Eigen::MatrixXd > Predict(Eigen::MatrixXd const &newLocs, CovarianceType covType) override
std::shared_ptr< muq::Modeling::LinearOperator > GetObs()
virtual Eigen::MatrixXd Sample(Eigen::MatrixXd const ×) override
void SetObs(std::shared_ptr< muq::Modeling::LinearOperator > newObs)
std::shared_ptr< muq::Modeling::LinearSDE > GetSDE()
virtual double LogLikelihood(Eigen::MatrixXd const &xs, Eigen::MatrixXd const &vals) override
virtual Eigen::MatrixXd Evaluate(Eigen::MatrixXd const &xs) const override
virtual std::shared_ptr< MeanFunctionBase > Clone() const override
void GaussianWrapper(pybind11::module &m)