#include <discreteconditionalpdf.h>
Public Member Functions | |
DiscreteConditionalPdf (int num_states=1, int num_conditional_arguments=1, int cond_arg_dimensions[]=NULL) | |
Constructor. | |
DiscreteConditionalPdf (const DiscreteConditionalPdf &pdf) | |
Copy constructor. | |
virtual | ~DiscreteConditionalPdf () |
Destructor. | |
virtual DiscreteConditionalPdf * | Clone () const |
Clone function. | |
unsigned int | NumStatesGet () const |
Get the number of discrete states. | |
Probability | ProbabilityGet (const int &input) const |
Get the probability of a certain argument. | |
virtual bool | SampleFrom (Sample< int > &one_sample, int method, void *args) const |
Draw 1 sample from the Pdf:. | |
virtual bool | SampleFrom (vector< Sample< int > > &list_samples, int num_samples, int method, void *args) const |
void | ProbabilitySet (const double &prob, const int &input, const std::vector< int > &condargs) const |
Set the probability (Typical for discrete Pdf's). | |
unsigned int | NumConditionalArgumentsGet () const |
Get the Number of conditional arguments. | |
virtual void | NumConditionalArgumentsSet (unsigned int numconditionalarguments) |
Set the Number of conditional arguments. | |
const std::vector< int > & | ConditionalArgumentsGet () const |
Get the whole list of conditional arguments. | |
virtual void | ConditionalArgumentsSet (std::vector< int > ConditionalArguments) |
Set the whole list of conditional arguments. | |
const int & | ConditionalArgumentGet (unsigned int n_argument) const |
Get the n-th argument of the list. | |
virtual void | ConditionalArgumentSet (unsigned int n_argument, const int &argument) |
Set the n-th argument of the list. | |
virtual bool | SampleFrom (vector< Sample< int > > &list_samples, const unsigned int num_samples, int method=DEFAULT, void *args=NULL) const |
Draw multiple samples from the Pdf (overloaded). | |
unsigned int | DimensionGet () const |
Get the dimension of the argument. | |
virtual void | DimensionSet (unsigned int dim) |
Set the dimension of the argument. | |
virtual int | ExpectedValueGet () const |
Get the expected value E[x] of the pdf. | |
virtual MatrixWrapper::SymmetricMatrix | CovarianceGet () const |
Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf. | |
Protected Member Functions | |
int | IndexGet (const int &input, const std::vector< int > &condargs) const |
Get the correct index in the row of doubles (double * probability). | |
Protected Attributes | |
unsigned int | _num_states |
number of discrete states | |
double * | _probability_p |
Pointer to the probability values. | |
int * | _cond_arg_dims_p |
"Possible discrete states" of all the conditional arguments | |
int | _total_dimension |
Total dimension of the likelihoodtable. | |
std::vector< double > | _probs |
std::vector< double > | _valuelist |
This class inherits only from ConditionalPdf (not from DiscretePdf, avoiding a circular class structure
------ | | ------ / \ ----- ----- | | | | ----- ----- \ / ------ | | ------
Definition at line 53 of file discreteconditionalpdf.h.
DiscreteConditionalPdf | ( | int | num_states = 1 , |
|
int | num_conditional_arguments = 1 , |
|||
int | cond_arg_dimensions[] = NULL | |||
) |
Constructor.
num_states | int representing the number of possible states | |
num_conditional_arguments | the number of arguments behind the | | |
cond_arg_dimensions[] | possible number of states of the different conditional arguments |
const int & ConditionalArgumentGet | ( | unsigned int | n_argument | ) | const [inherited] |
Get the n-th argument of the list.
virtual void ConditionalArgumentSet | ( | unsigned int | n_argument, | |
const int & | argument | |||
) | [virtual, inherited] |
Set the n-th argument of the list.
n_argument | which one of the conditional arguments | |
argument | value of the n-th argument |
const std::vector<int >& ConditionalArgumentsGet | ( | ) | const [inherited] |
Get the whole list of conditional arguments.
virtual void ConditionalArgumentsSet | ( | std::vector< int > | ConditionalArguments | ) | [virtual, inherited] |
Set the whole list of conditional arguments.
ConditionalArguments | an STL-vector of type Tcontaining the condtional arguments |
virtual MatrixWrapper::SymmetricMatrix CovarianceGet | ( | ) | const [virtual, inherited] |
unsigned int DimensionGet | ( | ) | const [inherited] |
Get the dimension of the argument.
virtual void DimensionSet | ( | unsigned int | dim | ) | [virtual, inherited] |
Set the dimension of the argument.
dim | the dimension |
virtual int ExpectedValueGet | ( | ) | const [virtual, inherited] |
Get the expected value E[x] of the pdf.
Get low order statistic (Expected Value) of this AnalyticPdf
For certain discrete Pdfs, this function has no meaning, what is the average between yes and no?
unsigned int NumConditionalArgumentsGet | ( | ) | const [inherited] |
Get the Number of conditional arguments.
virtual void NumConditionalArgumentsSet | ( | unsigned int | numconditionalarguments | ) | [virtual, inherited] |
Set the Number of conditional arguments.
numconditionalarguments | the number of conditionalarguments |
Probability ProbabilityGet | ( | const int & | input | ) | const [virtual] |
Get the probability of a certain argument.
input | T argument of the Pdf |
Reimplemented from Pdf< int >.
virtual bool SampleFrom | ( | vector< Sample< int > > & | list_samples, | |
const unsigned int | num_samples, | |||
int | method = DEFAULT , |
|||
void * | args = NULL | |||
) | const [virtual, inherited] |
Draw multiple samples from the Pdf (overloaded).
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... |
Reimplemented in DiscretePdf.
virtual bool SampleFrom | ( | Sample< int > & | one_sample, | |
int | method, | |||
void * | args | |||
) | const [virtual] |
Draw 1 sample from the Pdf:.
There's no need to create a list for only 1 sample!
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 |
Reimplemented from Pdf< int >.
double* _probability_p [protected] |
Pointer to the probability values.
For now we implement this using a simple row of doubles, this should probably become a tensor in the future
Definition at line 63 of file discreteconditionalpdf.h.