mixpp: bdmbase.h File Reference

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.


Namespaces

namespace  bdm
namespace  std

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::log_level_intermediate< T >
class  bdm::logger
 Class for storing results (and semi-results) of an experiment. More...
class  bdm::log_level_template< T >
 This class stores a details that will be logged to a logger. More...
class  bdm::fnc
 Class representing function $f(x)$ of variable $x$ represented by rv. More...
class  bdm::pdf
 Conditional probability density, e.g. modeling $ f( x | y) $, where $ x $ is random variable, rv, and $ y $ is conditioning variable, rvc. More...
class  bdm::epdf
 Abstract class representing probability density function with numerical statistics, e.g. posterior density. More...
class  bdm::pdf_internal< EPDF >
 pdf 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::vec_from_vec
class  bdm::vec_from_2vec
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
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...

Defines

#define LOG_LEVEL(classname,)   public: enum log_level_enums { __VA_ARGS__ }; log_level_template<classname> log_level; private: friend class log_level_intermediate<classname>; static const Array<string> &log_level_names() { static const Array<string> log_level_names = log_level_template<classname>::string2Array( #__VA_ARGS__ ); return log_level_names; }
 Macro for defining a log_level attribute with a specific set of enumerations related to a specific class.

Typedefs

typedef Array< shared_ptr<
epdf > > 
bdm::epdf_array
 array of pointers to epdf
typedef Array< shared_ptr<
pdf > > 
bdm::pdf_array
 array of pointers to pdf

Functions

 bdm::UIREGISTER (RV)
 bdm::SHAREDPTR (RV)
RV bdm::concat (const RV &rv1, const RV &rv2)
 Concat two random variables.
 bdm::SHAREDPTR (pdf)
 bdm::SHAREDPTR (epdf)
RV bdm::get_composite_rv (const Array< shared_ptr< pdf > > &pdfs, bool checkoverlap=false)
 Combines RVs from a list of pdfs 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 -----------------------------------


Define Documentation

#define LOG_LEVEL ( classname   )     public: enum log_level_enums { __VA_ARGS__ }; log_level_template<classname> log_level; private: friend class log_level_intermediate<classname>; static const Array<string> &log_level_names() { static const Array<string> log_level_names = log_level_template<classname>::string2Array( #__VA_ARGS__ ); return log_level_names; }

Macro for defining a log_level attribute with a specific set of enumerations related to a specific class.

This macro has to be called within a class declaration. Its argument classname has to correspond to that wrapping class. This macro defines a log_level instance which can be modified either directly or by the means of bdm::UI class.

One of the main purposes of this macro is to allow variability in using enumerations. By relating them to their names through an array of strings, we are no more dependant on their precise ordering. What is more, we can add or remove any without harming any applications which are using this library.

Todo:
Write a more detailed explanation including also examples
User Infos and their use


Generated on 2 Dec 2013 for mixpp by  doxygen 1.4.7