Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes
pdf1d_mixture_sampler Class Reference

Instance class for pdf1d_mixture. More...

#include <pdf1d_mixture_sampler.h>

Inheritance diagram for pdf1d_mixture_sampler:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 pdf1d_mixture_sampler ()
 Dflt ctor.
 pdf1d_mixture_sampler (const pdf1d_mixture_sampler &)
 Copy ctor.
pdf1d_mixture_sampleroperator= (const pdf1d_mixture_sampler &)
 Copy operator.
virtual ~pdf1d_mixture_sampler ()
 Destructor.
virtual void set_model (const pdf1d_pdf &)
 Set model for which this is an instance.
const pdf1d_mixturemixture () const
virtual double sample ()
 Draw random sample from distribution.
virtual void reseed (unsigned long)
 Reseeds the static random number generator (one per derived class).
short version_no () const
 Version number for I/O.
virtual vcl_string is_a () const
 Name of the class.
virtual bool is_class (vcl_string const &s) const
 Does the name of the class match the argument?.
virtual pdf1d_samplerclone () const
 Create a copy on the heap and return base class pointer.
const pdf1d_pdfmodel () const
 PDF of which this is an instance.
virtual void get_samples (vnl_vector< double > &x)
 Fill x with samples drawn from distribution.
virtual void regular_samples (vnl_vector< double > &x)
 Fill x with samples possibly chosen so as to represent the distribution.
virtual void regular_samples_and_prob (vnl_vector< double > &x, vnl_vector< double > &p)
 Fill x with samples possibly chosen so as to represent the distribution.
virtual void print_summary (vcl_ostream &os) const
 Print class to os.

Protected Attributes

vnl_random rng_
 The random number generator.
const pdf1d_pdfpdf_model_

Private Member Functions

void init ()
void delete_stuff ()

Private Attributes

vcl_vector< pdf1d_sampler * > inst_
 workspace.

Detailed Description

Instance class for pdf1d_mixture.

Implements calculation of prob, gradient, sampling etc

Definition at line 15 of file pdf1d_mixture_sampler.h.


Constructor & Destructor Documentation

pdf1d_mixture_sampler::pdf1d_mixture_sampler ( )

Dflt ctor.

Definition at line 19 of file pdf1d_mixture_sampler.cxx.

pdf1d_mixture_sampler::pdf1d_mixture_sampler ( const pdf1d_mixture_sampler m)

Copy ctor.

Definition at line 25 of file pdf1d_mixture_sampler.cxx.

pdf1d_mixture_sampler::~pdf1d_mixture_sampler ( ) [virtual]

Destructor.

Definition at line 56 of file pdf1d_mixture_sampler.cxx.


Member Function Documentation

pdf1d_sampler * pdf1d_mixture_sampler::clone ( ) const [virtual]

Create a copy on the heap and return base class pointer.

Implements pdf1d_sampler.

Definition at line 140 of file pdf1d_mixture_sampler.cxx.

void pdf1d_mixture_sampler::delete_stuff ( ) [private]

Definition at line 48 of file pdf1d_mixture_sampler.cxx.

void pdf1d_sampler::get_samples ( vnl_vector< double > &  x) [virtual, inherited]

Fill x with samples drawn from distribution.

Definition at line 45 of file pdf1d_sampler.cxx.

void pdf1d_mixture_sampler::init ( ) [private]

Definition at line 15 of file pdf1d_mixture_sampler.cxx.

vcl_string pdf1d_mixture_sampler::is_a ( ) const [virtual]

Name of the class.

Reimplemented from pdf1d_sampler.

Definition at line 119 of file pdf1d_mixture_sampler.cxx.

bool pdf1d_mixture_sampler::is_class ( vcl_string const &  s) const [virtual]

Does the name of the class match the argument?.

Reimplemented from pdf1d_sampler.

Definition at line 126 of file pdf1d_mixture_sampler.cxx.

const pdf1d_mixture & pdf1d_mixture_sampler::mixture ( ) const

Definition at line 63 of file pdf1d_mixture_sampler.cxx.

const pdf1d_pdf & pdf1d_sampler::model ( ) const [inherited]

PDF of which this is an instance.

Definition at line 38 of file pdf1d_sampler.cxx.

pdf1d_mixture_sampler & pdf1d_mixture_sampler::operator= ( const pdf1d_mixture_sampler m)

Copy operator.

Definition at line 32 of file pdf1d_mixture_sampler.cxx.

void pdf1d_sampler::print_summary ( vcl_ostream &  os) const [virtual, inherited]

Print class to os.

Definition at line 101 of file pdf1d_sampler.cxx.

void pdf1d_sampler::regular_samples ( vnl_vector< double > &  x) [virtual, inherited]

Fill x with samples possibly chosen so as to represent the distribution.

Generate a set of pseudo-random samples, chosen so as to be suitable to represent the distribution. This is meant to be used for estimating continuous integrals with sampled approximations. Where there are multiple peaks (e.g. kernel or mixture models), it is preferred that the number of samples from each component is roughly proportional to the weight for the component. When small numbers are requested, this can be done explicitly. The default is simply to call sample() for each element of x

By default simply randomly sample from distribution

Reimplemented in pdf1d_exponential_sampler, pdf1d_flat_sampler, pdf1d_gaussian_sampler, pdf1d_epanech_kernel_pdf_sampler, pdf1d_gaussian_kernel_pdf_sampler, and pdf1d_weighted_epanech_kernel_sampler.

Definition at line 55 of file pdf1d_sampler.cxx.

void pdf1d_sampler::regular_samples_and_prob ( vnl_vector< double > &  x,
vnl_vector< double > &  p 
) [virtual, inherited]

Fill x with samples possibly chosen so as to represent the distribution.

As regular_samples(x), but p[i] is set to p(x[i])

By default simply randomly sample from distribution

Definition at line 65 of file pdf1d_sampler.cxx.

void pdf1d_mixture_sampler::reseed ( unsigned long  seed) [virtual]

Reseeds the static random number generator (one per derived class).

Implements pdf1d_sampler.

Definition at line 109 of file pdf1d_mixture_sampler.cxx.

double pdf1d_mixture_sampler::sample ( ) [virtual]

Draw random sample from distribution.

For generating plausible examples.

Implements pdf1d_sampler.

Definition at line 88 of file pdf1d_mixture_sampler.cxx.

void pdf1d_mixture_sampler::set_model ( const pdf1d_pdf m) [virtual]

Set model for which this is an instance.

Reimplemented from pdf1d_sampler.

Definition at line 71 of file pdf1d_mixture_sampler.cxx.

short pdf1d_mixture_sampler::version_no ( ) const

Version number for I/O.

Definition at line 133 of file pdf1d_mixture_sampler.cxx.


Member Data Documentation

workspace.

Definition at line 18 of file pdf1d_mixture_sampler.h.

const pdf1d_pdf* pdf1d_sampler::pdf_model_ [protected, inherited]

Definition at line 26 of file pdf1d_sampler.h.

The random number generator.

Definition at line 25 of file pdf1d_mixture_sampler.h.


The documentation for this class was generated from the following files: