# bdmbase.h File Reference

Basic structures of probability calculus: random variables, probability densities, Bayes rule. More...

`#include <map>`
`#include "../itpp_ext.h"`
`#include "../bdmroot.h"`
`#include "../shared_ptr.h"`
`#include "user_info.h"`

Go to the source code of this file.

## Classes
class | bdm::str
| Structure of RV, i.e. RVs expanded into a flat list of IDs, used for debugging. More...
class | bdm::RV
| Class representing variables, most often random variables. More...
class | bdm::fnc
| Class representing function of variable represented by `rv`. More...
class | bdm::epdf
| Probability density function with numerical statistics, e.g. posterior density. More...
class | bdm::mpdf
| Conditional probability density, e.g. modeling , where is random variable, `rv`, and is conditioning variable, `rvc`. More...
class | bdm::mpdf_internal< EPDF >
| Mpdf with internal epdf that is modified by function `condition`. More...
class | bdm::datalink
| DataLink is a connection between two data vectors Up and Down. More...
class | bdm::datalink_part
class | bdm::datalink_buffered
| Datalink that buffers delayed values - do not forget to call step(). More...
class | bdm::datalink_2to1_buffered
| buffered datalink from 2 vectors to 1 More...
class | bdm::datalink_m2e
| Data link with a condition. More...
class | bdm::datalink_m2m
| DataLink is a connection between mpdf and its superordinate (Up) This class links. More...
class | bdm::logger
| Class for storing results (and semi-results) of an experiment. More...
class | bdm::mepdf
| Unconditional mpdf, allows using epdf in the role of mpdf. More...
class | bdm::DS
| Abstract class for discrete-time sources of data. More...
class | bdm::BM
| Bayesian Model of a system, i.e. all uncertainty is modeled by probabilities. More...
## Typedefs
typedef Array< shared_ptr< epdf > > | bdm::epdf_array
typedef Array< shared_ptr< mpdf > > | bdm::mpdf_array
## Functions
| bdm::UIREGISTER (RV)
| bdm::SHAREDPTR (RV)
RV | bdm::concat (const RV &rv1, const RV &rv2)
| Concat two random variables.
| bdm::SHAREDPTR (epdf)
| bdm::SHAREDPTR (mpdf)
| bdm::UIREGISTER (mepdf)
| bdm::SHAREDPTR (mepdf)
RV | bdm::get_composite_rv (const Array< shared_ptr< mpdf > > &mpdfs, bool checkoverlap=false)
| Combines RVs from a list of mpdfs to a single one.

## Detailed Description

Basic structures of probability calculus: random variables, probability densities, Bayes rule.

Author:
  Vaclav Smidl.

----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty

Using IT++ for numerical operations -----------------------------------