# merger Class Reference

Function for general combination of pdfs. More...

`#include <merger.h>`

Inheritance diagram for merger:

[legend]
Collaboration diagram for merger:

[legend]

List of all members.

## 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
virtual mat | sample_m (int N) const
| Returns N samples from density .
virtual vec | evallog_m (const mat &Val) const
| Compute log-probability of multiple values argument `val`.
virtual mpdf * | condition (const RV &rv) const
| Return conditional density on the given RV, the remaining rvs will be in conditioning.
virtual epdf * | marginal (const RV &rv) const
| Return marginal density on the given RV, the remainig rvs are intergrated out.
const RV & | _rv () const
| access function, possibly dangerous!
void | _renewrv (const RV &in_rv)
| modifier function - useful when copying epdfs
## Protected Attributes
MixEF | Mix
| Internal mixture of EF models.
Array< datalink_m2e * > | dls
| Data link for each mpdf in mpdfs.
Array< RV > | rvzs
| 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.
RV | rv
| Identified of the random variable.

## Detailed Description

Function for general combination of pdfs.

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

## Member Function Documentation

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

sample from merged density weight w is a

Implements epdf.

References MixEF::_epdf(), Mix, and epdf::sample().

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

find common rv, flag

Parameters:

  | checkoverlap | modifies whether overlaps are acceptable

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

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

- work/git/mixpp/bdm/estim/merger.h
- work/git/mixpp/bdm/estim/merger.cpp