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();
55 double get_probability()
const {
return mvn_->density(); }
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;
83 friend class GaussianProcessInterpolationScoreState;
86 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
87 class IMPISDEXPORT GaussianProcessInterpolationScoreState :
public ScoreState {
92 GaussianProcessInterpolationScoreState(
95 "GaussianProcessInterpolationScoreState%1%"),
100 friend class GaussianProcessInterpolationRestraint;
101 virtual void do_before_evaluate() IMP_OVERRIDE;
Normal distribution of Function.
Class for adding derivatives from restraints to the model.
IMP::base::Vector< IMP::base::WeakPointer< kernel::ModelObject > > ModelObjectsTemp
A nullptr-initialized pointer to an IMP Object.
A smart pointer to a ref-counted Object that is a class memeber.
A smart pointer to a reference counted object.
Import IMP/kernel/macros.h in the namespace.
ScoreStates maintian invariants in the Model.
Normal distribution of Function.
Abstract base class for all restraints.
gaussian process restraint
A restraint is a term in an IMP ScoringFunction.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Import IMP/kernel/ScoreState.h in the namespace.
GaussianProcessInterpolation.
virtual ModelObjectsTemp do_get_inputs() const =0
Class for storing model, its restraints, constraints, and particles.