IMP logo
IMP Reference Guide  develop.d97d4ead1f,2024/11/21
The Integrative Modeling Platform
IMP::isd::OneDimensionalSufficientDistribution Class Referenceabstract

Base class for single-variate distributions that cache sufficient statistics. More...

#include <IMP/isd/distribution.h>

+ Inheritance diagram for IMP::isd::OneDimensionalSufficientDistribution:

Detailed Description

Base class for single-variate distributions that cache sufficient statistics.

Sufficient statistics are one or more statistics whose values are sufficient to describe the entire distribution. For the joint probability of many independent draws from a distribution, the set of all drawn values is a sufficient statistic, but minimally sufficient statistics (such as the mean and variance for a joint normal distribution) often exist, permitting one-time calculation and efficient use of memory.

Children must overload the following methods:

  • IMP::isd::OneDimensionalSufficientDistribution::do_update_sufficient_statistics()
  • IMP::isd::OneDimensionalSufficientDistribution::do_get_sufficient_statistics()
  • IMP::isd::OneDimensionalSufficientDistribution::do_evaluate()

Definition at line 79 of file isd/distribution.h.

Public Member Functions

 OneDimensionalSufficientDistribution (std::string name="OneDimensionalSufficientDistribution %1%")
 Constructor. More...
 
double evaluate () const
 Get negative log-density using cached sufficient statistics. More...
 
double get_density () const
 Get probability density using cached sufficient statistics. More...
 
Floats get_sufficient_statistics () const
 
virtual std::string get_type_name () const override
 
virtual ::IMP::VersionInfo get_version_info () const override
 Get information about the module and version of the object. More...
 
void update_sufficient_statistics (Floats vs)
 Update cached sufficient statistics from data. More...
 
- Public Member Functions inherited from IMP::isd::Distribution
 Distribution (std::string name="Distribution %1%")
 
- Public Member Functions inherited from IMP::Object
virtual void clear_caches ()
 
CheckLevel get_check_level () const
 
LogLevel get_log_level () const
 
void set_check_level (CheckLevel l)
 
void set_log_level (LogLevel l)
 Set the logging level used in this object. More...
 
void set_was_used (bool tf) const
 
void show (std::ostream &out=std::cout) const
 
const std::string & get_name () const
 
void set_name (std::string name)
 

Protected Member Functions

virtual double do_evaluate () const =0
 
virtual double do_get_density () const
 
virtual Floats do_get_sufficient_statistics () const =0
 
virtual void do_update_sufficient_statistics (Floats vs)=0
 
- Protected Member Functions inherited from IMP::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
virtual void do_destroy ()
 

Constructor & Destructor Documentation

IMP::isd::OneDimensionalSufficientDistribution::OneDimensionalSufficientDistribution ( std::string  name = "OneDimensionalSufficientDistribution %1%")

Constructor.

Definition at line 88 of file isd/distribution.h.

Member Function Documentation

double IMP::isd::OneDimensionalSufficientDistribution::evaluate ( ) const

Get negative log-density using cached sufficient statistics.

Definition at line 102 of file isd/distribution.h.

double IMP::isd::OneDimensionalSufficientDistribution::get_density ( ) const

Get probability density using cached sufficient statistics.

Definition at line 105 of file isd/distribution.h.

virtual ::IMP::VersionInfo IMP::isd::OneDimensionalSufficientDistribution::get_version_info ( ) const
overridevirtual

Get information about the module and version of the object.

Reimplemented from IMP::isd::Distribution.

Reimplemented in IMP::isd::FStudentT, IMP::isd::PenalizedComplexityPrior, and IMP::isd::FNormal.

Definition at line 107 of file isd/distribution.h.

void IMP::isd::OneDimensionalSufficientDistribution::update_sufficient_statistics ( Floats  vs)

Update cached sufficient statistics from data.

Definition at line 93 of file isd/distribution.h.


The documentation for this class was generated from the following file: