Abstract Class representing conditional Pdfs P(x | ...)
More...
#include <conditionalpdf.h>
template<typename Var, typename CondArg>
class BFL::ConditionalPdf< Var, CondArg >
Abstract Class representing conditional Pdfs P(x | ...)
This class inherits from Pdf Virtual public because of the multiple inheritance that follows Two templates are here to allow a mixture of discrete and continu variables in the Pdf!
- Bug:
- All conditional arguments should be of the same type T for now!
- Todo:
- Investigate if we can allow. It is for sure that we'll need another class then the std::list to implement this!
- See also
- Pdf
Definition at line 49 of file conditionalpdf.h.
ConditionalPdf |
( |
int |
dimension = 0 , |
|
|
unsigned int |
num_conditional_arguments = 0 |
|
) |
| |
Constructor.
- Parameters
-
dimension | int representing the number of rows of the state vector |
num_conditional_arguments | the number of arguments behind the | |
Definition at line 116 of file conditionalpdf.h.
const CondArg & ConditionalArgumentGet |
( |
unsigned int |
n_argument | ) |
const |
Get the n-th argument of the list.
- Returns
- The current value of the n-th conditional argument (starting from 0!)
Definition at line 165 of file conditionalpdf.h.
void ConditionalArgumentSet |
( |
unsigned int |
n_argument, |
|
|
const CondArg & |
argument |
|
) |
| |
|
virtual |
Set the n-th argument of the list.
- Parameters
-
n_argument | which one of the conditional arguments |
argument | value of the n-th argument |
Definition at line 173 of file conditionalpdf.h.
const std::vector< CondArg > & ConditionalArgumentsGet |
( |
| ) |
const |
Get the whole list of conditional arguments.
- Returns
- an STL-vector containing all the current values of the conditional arguments
Definition at line 152 of file conditionalpdf.h.
void ConditionalArgumentsSet |
( |
std::vector< CondArg > |
ConditionalArguments | ) |
|
|
virtual |
Set the whole list of conditional arguments.
- Parameters
-
ConditionalArguments | an STL-vector of type T containing the condtional arguments |
Definition at line 158 of file conditionalpdf.h.
Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.
Get first order statistic (Covariance) of this AnalyticPdf
- Returns
- The Covariance of the Pdf (a SymmetricMatrix of dim DIMENSION)
- Todo:
- extend this more general to n-th order statistic
- Bug:
- Discrete pdfs should not be able to use this!
unsigned int DimensionGet |
( |
| ) |
const |
|
inherited |
Get the dimension of the argument.
- Returns
- the dimension of the argument
virtual void DimensionSet |
( |
unsigned int |
dim | ) |
|
|
virtualinherited |
Set the dimension of the argument.
- Parameters
-
virtual Var ExpectedValueGet |
( |
| ) |
const |
|
virtualinherited |
Get the expected value E[x] of the pdf.
Get low order statistic (Expected Value) of this AnalyticPdf
- Returns
- The Expected Value of the Pdf (a ColumnVector with DIMENSION rows)
- Note
- No set functions here! This can be useful for analytic functions, but not for sample based representations!
-
For certain discrete Pdfs, this function has no meaning, what is the average between yes and no?
unsigned int NumConditionalArgumentsGet |
( |
| ) |
const |
|
inline |
Get the Number of conditional arguments.
- Returns
- the number of conditional arguments
Definition at line 135 of file conditionalpdf.h.
void NumConditionalArgumentsSet |
( |
unsigned int |
numconditionalarguments | ) |
|
|
inlinevirtual |
Set the Number of conditional arguments.
- Parameters
-
numconditionalarguments | the number of conditionalarguments |
- Bug:
- will probably give rise to memory allocation problems if you herit from this class and do not redefine this method.
Reimplemented in LinearAnalyticConditionalGaussian.
Definition at line 141 of file conditionalpdf.h.
virtual Probability ProbabilityGet |
( |
const Var & |
input | ) |
const |
|
virtualinherited |
Get the probability of a certain argument.
- Parameters
-
input | T argument of the Pdf |
- Returns
- the probability value of the argument
virtual bool SampleFrom |
( |
vector< Sample< Var > > & |
list_samples, |
|
|
const unsigned int |
num_samples, |
|
|
int |
method = DEFAULT , |
|
|
void * |
args = NULL |
|
) |
| const |
|
virtualinherited |
Draw multiple samples from the Pdf (overloaded)
- Parameters
-
list_samples | list of samples that will contain result of sampling |
num_samples | Number of Samples to be drawn (iid) |
method | Sampling method to be used. Each sampling method is currently represented by a #define statement, eg. #define BOXMULLER 1 |
args | Pointer to a struct representing extra sample arguments. "Sample Arguments" can be anything (the number of steps a gibbs-iterator should take, the interval width in MCMC, ... (or nothing), so it is hard to give a meaning to what exactly Sample Arguments should represent... |
- Todo:
- replace the C-call "void * args" by a more object-oriented structure: Perhaps something like virtual Sample * Sample (const int num_samples,class Sampler)
- Bug:
- Sometimes the compiler doesn't know which method to choose!
virtual bool SampleFrom |
( |
Sample< Var > & |
one_sample, |
|
|
int |
method = DEFAULT , |
|
|
void * |
args = NULL |
|
) |
| const |
|
virtualinherited |
Draw 1 sample from the Pdf:
There's no need to create a list for only 1 sample!
- Parameters
-
one_sample | sample that will contain result of sampling |
method | Sampling method to be used. Each sampling method is currently represented by a #define statement, eg. #define BOXMULLER 1 |
args | Pointer to a struct representing extra sample arguments |
- See also
- SampleFrom()
- Bug:
- Sometimes the compiler doesn't know which method to choose!
The documentation for this class was generated from the following file: