8 #ifndef IMPISD_GAUSSIAN_PROCESS_INTERPOLATION_RESTRAINT_H
9 #define IMPISD_GAUSSIAN_PROCESS_INTERPOLATION_RESTRAINT_H
11 #include <IMP/isd/isd_config.h>
13 #include <boost/scoped_ptr.hpp>
18 #include <IMP/algebra/eigen3/Eigen/Dense>
22 IMPISD_BEGIN_NAMESPACE
24 class GaussianProcessInterpolationScoreState;
35 void update_mean_and_covariance();
42 void create_score_state();
57 void stats()
const {
return mvn_->stats(); }
60 void set_use_cg(
bool use,
double tol) { mvn_->set_use_cg(use, tol); }
63 double get_minus_log_normalization()
const;
64 double get_minus_exponent()
const;
67 IMP_Eigen::MatrixXd get_hessian()
const;
70 double get_logdet_hessian()
const;
82 friend class GaussianProcessInterpolationScoreState;
85 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
86 class IMPISDEXPORT GaussianProcessInterpolationScoreState :
public ScoreState {
91 GaussianProcessInterpolationScoreState(
92 GaussianProcessInterpolationRestraint *gpir)
94 "GaussianProcessInterpolationScoreState%1%"),
99 friend class GaussianProcessInterpolationRestraint;
Normal distribution of Function.
Smart pointer to Object-derived classes that does not refcount.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
void set_use_cg(bool use, double tol)
Use conjugate gradients when possible (default false)
Various general useful macros for IMP.
Normal distribution of Function.
Class for storing model, its restraints, constraints, and particles.
gaussian process restraint
ScoreStates maintain invariants in the Model.
A smart pointer to a ref-counted Object that is a class member.
virtual ModelObjectsTemp do_get_outputs() const =0
A nullptr-initialized pointer to an IMP Object.
GaussianProcessInterpolation.
double get_probability() const
Abstract base class for all restraints.
virtual ModelObjectsTemp do_get_inputs() const =0
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Class for adding derivatives from restraints to the model.
A restraint is a term in an IMP ScoringFunction.