# 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 | evalpdflog (const vec &dt) const
| Compute log-probability of argument `val`.
vec | mean () const
| return expected value
virtual | ~merger ()
| for future use
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
void | setindices (const RV &rv)
| fill all rv*inrv* according to
void | setrvcinrv (const RV &rvc, Array< ivec > &rvcind)
| Function fills Array by indeces of mpdfs inside given rv.
virtual mat | sampleN (int N) const
| Returns N samples from density .
virtual double | eval (const vec &val) const
| Compute probability of argument `val`.
virtual vec | evalpdflog_m (const mat &Val) const
| Compute log-probability of multiple values argument `val`.
mpdf * | condition (const RV &rv)
| Return conditional density on the given RV, the remaining rvs will be in conditioning.
epdf * | marginal (const RV &rv)
| 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.
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.
int | n
| Number of mpdfs in the composite.
Array< mpdf * > | mpdfs
| Elements of composition.
Array< ivec > | rvsinrv
| Indeces of rvs in common rv.
Array< ivec > | rvcsinrv
| Indeces of rvc in common rv.
Array< ivec > | rvinrvcs
| Indeces of common rv in rvc.
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