#include <LinearTransformKernel.h>
Given another kernel $k_2(x,y)$ and a linear transformation $A$, this class implements a kernel of the form
\[ k(x,y) = A * k_2(x,y) * A^T. \]
Definition at line 22 of file LinearTransformKernel.h.
Public Member Functions | |
LinearTransformKernel (Eigen::MatrixXd const &Ain, std::shared_ptr< KernelBase > Kin) | |
virtual | ~LinearTransformKernel () |
virtual void | FillBlock (Eigen::Ref< const Eigen::VectorXd > const &x1, Eigen::Ref< const Eigen::VectorXd > const &x2, Eigen::Ref< const Eigen::VectorXd > const ¶ms, Eigen::Ref< Eigen::MatrixXd > block) const override |
virtual void | FillPosDerivBlock (Eigen::Ref< const Eigen::VectorXd > const &x1, Eigen::Ref< const Eigen::VectorXd > const &x2, Eigen::Ref< const Eigen::VectorXd > const ¶ms, std::vector< int > const &wrts, Eigen::Ref< Eigen::MatrixXd > block) const override |
virtual std::shared_ptr< KernelBase > | Clone () const override |
Public Member Functions inherited from muq::Approximation::KernelBase | |
KernelBase (unsigned int inputDimIn, unsigned int coDimIn, unsigned int numParamsIn) | |
KernelBase (unsigned int inputDimIn, std::vector< unsigned int > dimIndsIn, unsigned int coDimIn, unsigned int numParamsIn) | |
virtual | ~KernelBase () |
virtual std::vector< std::shared_ptr< KernelBase > > | GetSeperableComponents () |
Overridden by ProductKernel. More... | |
virtual Eigen::MatrixXd | Evaluate (Eigen::VectorXd const &x1, Eigen::VectorXd const &x2) const |
virtual Eigen::MatrixXd | BuildCovariance (Eigen::MatrixXd const &x) const |
virtual Eigen::MatrixXd | BuildCovariance (Eigen::MatrixXd const &x1, Eigen::MatrixXd const &x2) const |
virtual void | FillCovariance (Eigen::MatrixXd const &xs, Eigen::MatrixXd const &ys, Eigen::Ref< Eigen::MatrixXd > cov) const |
virtual void | FillCovariance (Eigen::MatrixXd const &xs, Eigen::Ref< Eigen::MatrixXd > cov) const |
virtual void | FillDerivCovariance (Eigen::MatrixXd const &xs, Eigen::MatrixXd const &ys, std::vector< int > const &wrts, Eigen::Ref< Eigen::MatrixXd > cov) const |
virtual Eigen::MatrixXd | GetPosDerivative (Eigen::VectorXd const &x1, Eigen::VectorXd const &x2, std::vector< int > const &wrts) const |
Returns derivatives of the kernel with respect to the first input, x1. More... | |
virtual Eigen::MatrixXd | GetParamBounds () const |
virtual Eigen::VectorXd | GetParams () const |
virtual void | SetParams (Eigen::VectorXd const ¶ms) |
virtual std::tuple< std::shared_ptr< muq::Modeling::LinearSDE >, std::shared_ptr< muq::Modeling::LinearOperator >, Eigen::MatrixXd > | GetStateSpace (boost::property_tree::ptree sdeOptions=boost::property_tree::ptree()) const |
Returns a state space representation of the covariance kernel. More... | |
Additional Inherited Members | |
Public Attributes inherited from muq::Approximation::KernelBase | |
const std::vector< unsigned int > | dimInds |
const unsigned int | inputDim |
const unsigned int | coDim |
const unsigned int | numParams |
|
inline |
Definition at line 28 of file LinearTransformKernel.h.
References muq::Approximation::KernelBase::cachedParams.
|
inlinevirtual |
Definition at line 36 of file LinearTransformKernel.h.
|
inlineoverridevirtual |
Implements muq::Approximation::KernelBase.
Definition at line 60 of file LinearTransformKernel.h.
|
inlineoverridevirtual |
For particular points and parameters, this function fills in one block of the covariance matrix.
Implements muq::Approximation::KernelBase.
Definition at line 39 of file LinearTransformKernel.h.
|
inlineoverridevirtual |
Evaluates a first or higher order derivative of the covariance kernel with respect to one of the position variables.
Implements muq::Approximation::KernelBase.
Definition at line 49 of file LinearTransformKernel.h.
|
private |
Definition at line 63 of file LinearTransformKernel.h.
Referenced by Clone(), FillBlock(), and FillPosDerivBlock().
|
private |
Definition at line 64 of file LinearTransformKernel.h.
Referenced by Clone(), FillBlock(), and FillPosDerivBlock().