IMP  2.0.1
The Integrative Modeling Platform
IMP::isd::vonMisesSufficient Class Reference

vonMisesSufficient More...

#include <IMP/isd/vonMisesSufficient.h>

+ Inheritance diagram for IMP::isd::vonMisesSufficient:

Public Member Functions

 vonMisesSufficient (double chi, unsigned N, double R0, double chiexp, double kappa)
 
 vonMisesSufficient (double chi, Floats obs, double kappa)
 
virtual double density () const
 
virtual double evaluate () const
 
virtual double evaluate_derivative_kappa () const
 
virtual double evaluate_derivative_x () const
 
double get_chiexp ()
 
double get_kappa ()
 
double get_N ()
 
double get_R0 ()
 
double get_x ()
 
void set_chiexp (double chiexp)
 
void set_kappa (double kappa)
 
void set_N (unsigned N)
 
void set_R0 (double R0)
 
void set_x (double x)
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
virtual IMP::base::VersionInfo get_version_info () const =0
 Get information about the module and version of the object.
 
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)
 

Static Public Member Functions

static Floats get_sufficient_statistics (Floats data)
 Compute sufficient statistics from a list of observations. More...
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 

Detailed Description

Probability density function and -log(p) of von Mises distribution of N iid von Mises observations, provided through their sufficient statistics. This is much more efficient than multiplying N von Mises densities.

\[ f(\chi|N, R_0, \chi_{exp}, \kappa) = \frac{\exp \left(R_0 \kappa \cos (\chi - \chi_{exp})\right)} {2\pi I_0(\kappa)^N} \]

where

\[ R = \sqrt{\left(\sum_{i=1}^N \cos \chi_{exp}^i\right)^2 + \left(\sum_{i=1}^N \cos \chi_{exp}^i\right)^2} \]

\[ \exp (i \chi_{exp}) = \frac{1}{R} \sum_{j=1}^N \exp(i \chi_{exp}^j) \]

If \(N=1\) and \(\mu_1=\mu_2\) this reduces to the original von Mises distribution with known mean and concentration.

Note
derivative with respect to the mean \(\chi_{exp}\) is not provided.

Definition at line 36 of file vonMisesSufficient.h.

Constructor & Destructor Documentation

IMP::isd::vonMisesSufficient::vonMisesSufficient ( double  chi,
unsigned  N,
double  R0,
double  chiexp,
double  kappa 
)

compute von Mises given the sufficient statistics

Parameters
[in]chi
[in]Nnumber of observations
[in]R0component of N observations on the x axis ( \(R_0\))
[in]chiexpmean ( \(\chi_{exp}\))
[in]kappaconcentration

Definition at line 46 of file vonMisesSufficient.h.

IMP::isd::vonMisesSufficient::vonMisesSufficient ( double  chi,
Floats  obs,
double  kappa 
)

compute von Mises given the raw observations this is equivalent to calling get_sufficient_statistics and then the other constructor.

Parameters
[in]chi
[in]obsa list of observed angles (in radians).
[in]kappaconcentration

Definition at line 62 of file vonMisesSufficient.h.

Member Function Documentation

static Floats IMP::isd::vonMisesSufficient::get_sufficient_statistics ( Floats  data)
static

See Mardia and El-Atoum, "Bayesian inference for the von Mises-Fisher distribution ", Biometrika, 1967.

Returns
the number of observations, \(R_0\) (the component on the x axis) and \(\chi_{exp}\)

Definition at line 132 of file vonMisesSufficient.h.


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