bdm::merger Class Reference

#include <merger.h>

Inheritance diagram for bdm::merger:

bdm::compositepdf bdm::epdf bdm::bdmroot

List of all members.


Detailed Description

Function for general combination of pdfs.

Mixtures of Gaussian densities are used internally. Switching to other densities should be trivial.

Public Member Functions

 merger (const Array< mpdf * > &S)
 Default constructor.
void set_parameters (double beta0, int Ns0, int Nc0)
 Set internal parameters used in approximation.
void init ()
 Initialize the proposal density. This function must be called before merge()!
void merge (const epdf *g0)
 Create a mixture density using known proposal.
void merge ()
 Create a mixture density, make sure to call init() before the first call.
vec lognorm_merge (mat &lW)
 Merge log-likelihood values.
vec sample () const
double evallog (const vec &dt) const
 Compute log-probability of argument val.
vec mean () const
 return expected value
mat covariance () const
vec variance () const
 return expected variance (not covariance!)
virtual ~merger ()
 for future use
MixEF_Mix ()
 Access function.
eEmp_Smp ()
 Access function.
RV getrv (bool checkoverlap=false)
 find common rv, flag
void setrvc (const RV &rv, RV &rvc)
 common rvc of all mpdfs is written to rvc
Constructors
Construction of each epdf should support two types of constructors:
  • empty constructor,
  • copy constructor,
The following constructors should be supported for convenience: All internal data structures are constructed as empty. Their values (including sizes) will be set by method set_parameters(). This way references can be initialized in constructors.

void set_parameters (int dim0)
Matematical Operations
virtual mat sample_m (int N) const
 Returns N samples, $ [x_1 , x_2 , \ldots \ $ from density $ f_x(rv)$.
virtual vec evallog_m (const mat &Val) const
 Compute log-probability of multiple values argument val.
virtual mpdfcondition (const RV &rv) const
 Return conditional density on the given RV, the remaining rvs will be in conditioning.
virtual epdfmarginal (const RV &rv) const
 Return marginal density on the given RV, the remainig rvs are intergrated out.
Connection to other classes
Description of the random quantity via attribute rv is optional. For operations such as sampling rv does not need to be set. However, for marginalization and conditioning rv has to be set. NB:

void set_rv (const RV &rv0)
 Name its rv.
bool isnamed () const
 True if rv is assigned.
const RV_rv () const
 Return name (fails when isnamed is false).
Access to attributes
int dimension () const
 Size of the random variable.

Protected Attributes

MixEF Mix
 Internal mixture of EF models.
Array< datalink_m2e * > dls
 Data link for each mpdf in mpdfs.
Array< RVrvzs
 Array of rvs that are not modelled by mpdfs at all (aux).
Array< datalink_m2e * > zdls
 Data Links of rv0 mpdfs - these will be conditioned the (rv,rvc) of mpdfs.
int Ns
 Number of samples used in approximation.
int Nc
 Number of components in a mixture.
double beta
 Prior on the log-normal merging model.
eEmp eSmp
 Projection to empirical density.
int n
 Number of mpdfs in the composite.
Array< mpdf * > mpdfs
 Elements of composition.
int dim
 dimension of the random variable
RV rv
 Description of the random variable.


Member Function Documentation

vec bdm::merger::sample (  )  const [inline, virtual]

sample from merged density weight w is a

Reimplemented from bdm::epdf.

References Mix, bdm::MixEF::posterior(), and bdm::epdf::sample().

RV bdm::compositepdf::getrv ( bool  checkoverlap = false  )  [inherited]

find common rv, flag

Parameters:
checkoverlap modifies whether overlaps are acceptable

References bdm::RV::add(), bdm::compositepdf::mpdfs, and bdm::compositepdf::n.

Referenced by bdm::mprod::mprod().


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

Generated on Mon Feb 16 10:06:35 2009 for mixpp by  doxygen 1.5.6