Abstract Class representing all Conditional Gaussians with additive gaussian noise.
More...
ConditionalGaussianAdditiveNoise (const Gaussian &gaus, int num_conditional_arguments=1)
Constructor.
ConditionalGaussianAdditiveNoise (int dim=0, int num_conditional_arguments=0)
Constructor 2, Gaussian not yet known.
virtual ~ConditionalGaussianAdditiveNoise ()
Destructor.
virtual MatrixWrapper::SymmetricMatrix CovarianceGet () const
Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.
const MatrixWrapper::ColumnVector & AdditiveNoiseMuGet () const
Get the mean Value of the Additive Gaussian uncertainty.
const MatrixWrapper::SymmetricMatrix & AdditiveNoiseSigmaGet () const
Get the covariance matrix of the Additive Gaussian uncertainty.
void AdditiveNoiseMuSet (const MatrixWrapper::ColumnVector &mu)
Set the mean Value of the Additive Gaussian uncertainty.
void AdditiveNoiseSigmaSet (const MatrixWrapper::SymmetricMatrix &sigma)
Set the covariance of the Additive Gaussian uncertainty.
virtual ConditionalGaussian * Clone () const
Clone function.
virtual Probability ProbabilityGet (const MatrixWrapper::ColumnVector &input) const
virtual Probability ProbabilityGet (const T &input) const
Get the probability of a certain argument.
virtual bool SampleFrom (Sample < MatrixWrapper::ColumnVector > &sample, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
virtual bool SampleFrom (std::vector< Sample < MatrixWrapper::ColumnVector > > &samples, const unsigned int num_samples, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
virtual bool SampleFrom (vector< Sample < T > > &list_samples, const unsigned int num_samples, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
Draw multiple samples from the Pdf (overloaded)
virtual bool SampleFrom (Sample < T > &one_sample, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
Draw 1 sample from the Pdf :
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< MatrixWrapper::ColumnVector > & ConditionalArgumentsGet () const
Get the whole list of conditional arguments.
virtual void ConditionalArgumentsSet (std::vector< MatrixWrapper::ColumnVector > ConditionalArguments)
Set the whole list of conditional arguments.
const MatrixWrapper::ColumnVector & ConditionalArgumentGet (unsigned int n_argument) const
Get the n-th argument of the list.
virtual void ConditionalArgumentSet (unsigned int n_argument, const MatrixWrapper::ColumnVector &argument)
Set the n-th argument of the list.
unsigned int DimensionGet () const
Get the dimension of the argument.
virtual void DimensionSet (unsigned int dim)
Set the dimension of the argument.
virtual T ExpectedValueGet () const
Get the expected value E[x] of the pdf.
Abstract Class representing all Conditional Gaussians with additive gaussian noise.
This class represents all Pdf 's of the type
where
and
and
f is not necessarily a analytical function
Definition at line 39 of file conditionalgaussian_additivenoise.h .
bool SampleFrom
(
Sample < T > &
one_sample ,
const SampleMthd
method = SampleMthd::DEFAULT
,
void *
args = NULL
)
const
virtual inherited
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 an enum, eg. SampleMthd::BOXMULLER
args Pointer to a struct representing extra sample arguments
See also SampleFrom()
Bug: Sometimes the compiler doesn't know which method to choose!
Reimplemented in DiscretePdf , Gaussian , Uniform , MCPdf< T > , and Mixture< T > .
Definition at line 194 of file pdf.h .
bool SampleFrom
(
vector< Sample < T > > &
list_samples ,
const unsigned int
num_samples ,
const SampleMthd
method = SampleMthd::DEFAULT
,
void *
args = NULL
)
const
virtual inherited
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 an enum eg. SampleMthd::BOXMULLER
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!
Reimplemented in DiscretePdf , Gaussian , Uniform , MCPdf< T > , and Mixture< T > .
Definition at line 179 of file pdf.h .
Referenced by MCPdf< T >::SampleFrom() , and Mixture< T >::SampleFrom() .