WienerProcess Class Template Reference

Inheritance diagram for WienerProcess:

Inheritance graph
[legend]

List of all members.


Detailed Description

template<class T = unsigned int>
class indii::ml::aux::WienerProcess< T >

Multivariate Wiener process.

Author:
Lawrence Murray <lawrence@indii.org>
Version:
Rev
Date:
Date
This class supports serialization through the Boost.Serialization library.

Definition at line 21 of file WienerProcess.hpp.


Public Member Functions

 WienerProcess ()
 Default constructor.
 WienerProcess (unsigned int N)
 Construct Wiener process of given dimensionality.
virtual ~WienerProcess ()
 Destructor.
virtual void setDimensions (const unsigned int N, const bool preserve=false)
 Set the dimensionality of the process.
virtual const vectorgetDrift () const
 Get the drift of the process.
virtual const
symmetric_matrix
getDiffusion () const
 Get the diffusion of the process.
virtual const vectorgetDrift ()
 Get the drift of the process.
virtual const
symmetric_matrix
getDiffusion ()
 Get the diffusion of the process.
virtual vector getExpectation (const T delta)
 Get the expected value of the process after a given time.
virtual symmetric_matrix getCovariance (const T delta)
 Get the covariance of the process after a given time.
virtual vector getExpectation (const T delta) const
 Get the expected value of the process after a given time has elapsed.
virtual symmetric_matrix getCovariance (const T delta) const
 Get the covariance of the process after a given time has elapsed.
virtual vector sample (const T delta)
 Sample from the process after a given time has elapsed.
virtual double densityAt (const T delta, const vector &x)
 Calculate the density of the distribution at a given point after a given time has elapsed:.

Constructor & Destructor Documentation

WienerProcess (  )  [inline]

Default constructor.

Initialises the Wiener process with zero dimensions. This should generally only be used when the object is to be restored from a serialization.

Definition at line 176 of file WienerProcess.hpp.

WienerProcess ( unsigned int  N  )  [inline]

Construct Wiener process of given dimensionality.

Parameters:
N $N$; number of dimensions in the process.
The drift is initialised to zero and the diffusion to the identity matrix, giving the standard Wiener process.

Definition at line 181 of file WienerProcess.hpp.

~WienerProcess (  )  [inline, virtual]

Destructor.

Definition at line 188 of file WienerProcess.hpp.


Member Function Documentation

void setDimensions ( const unsigned int  N,
const bool  preserve = false 
) [inline, virtual]

Set the dimensionality of the process.

Parameters:
N Dimensionality of the process.
preserve True to preserve the current sufficient statistics of the process in the lower dimensional space, false if these may be discarded.

Implements StochasticProcess.

Definition at line 193 of file WienerProcess.hpp.

const vector & getDrift (  )  const [inline, virtual]

Get the drift of the process.

Returns:
The drift of the process.

Definition at line 231 of file WienerProcess.hpp.

const symmetric_matrix & getDiffusion (  )  const [inline, virtual]

Get the diffusion of the process.

Returns:
The diffusion of the process.

Definition at line 236 of file WienerProcess.hpp.

const vector & getDrift (  )  [inline, virtual]

Get the drift of the process.

Returns:
The drift of the process.

Implements StochasticProcess.

Definition at line 221 of file WienerProcess.hpp.

const symmetric_matrix & getDiffusion (  )  [inline, virtual]

Get the diffusion of the process.

Returns:
The diffusion of the process.

Implements StochasticProcess.

Definition at line 226 of file WienerProcess.hpp.

vector getExpectation ( const T  delta  )  [inline, virtual]

Get the expected value of the process after a given time.

Parameters:
delta $\Delta t$; time step.
Returns:
$\mathbf{\mu}(\Delta t)$; expected value of the process after time $\Delta t$.

Implements StochasticProcess.

Definition at line 211 of file WienerProcess.hpp.

symmetric_matrix getCovariance ( const T  delta  )  [inline, virtual]

Get the covariance of the process after a given time.

Parameters:
delta $\Delta t$; time step.
Returns:
$\Sigma(\Delta t)$; covariance of the process after time $\Delta t$.

Implements StochasticProcess.

Definition at line 216 of file WienerProcess.hpp.

vector getExpectation ( const T  delta  )  const [inline, virtual]

Get the expected value of the process after a given time has elapsed.

Parameters:
delta $\Delta t$; elapsed time.
Returns:
$\mathbf{\mu}(\Delta t)$; expected value of the process after time $\Delta t$.

Definition at line 201 of file WienerProcess.hpp.

symmetric_matrix getCovariance ( const T  delta  )  const [inline, virtual]

Get the covariance of the process after a given time has elapsed.

Parameters:
delta $\Delta t$; elapsed time.
Returns:
$\Sigma(\Delta t)$; covariance of the process after time $\Delta t$.

Definition at line 206 of file WienerProcess.hpp.

vector sample ( const T  delta  )  [inline, virtual]

Sample from the process after a given time has elapsed.

Parameters:
delta $\Delta t$; elapsed time.
This is performed using the following process:

Returns:
The sample $\mathbf{x}$

Implements StochasticProcess.

Definition at line 241 of file WienerProcess.hpp.

double densityAt ( const T  delta,
const vector x 
) [inline, virtual]

Calculate the density of the distribution at a given point after a given time has elapsed:.

\[p(\mathbf{x},\Delta t) = \frac{1}{\sqrt{(2\pi\Delta t)^N|\Sigma|}} \exp\big({-\frac{1}{2\Delta t}(\mathbf{x}-\mathbf{\mu})^T \Sigma^{-1} (\mathbf{x}-\mathbf{\mu})\big)} \]

Parameters:
delta $\Delta t$; elapsed time.
x $\mathbf{x}$; the point at which to calculate the density.
Returns:
The density of the distribution at $\mathbf{x}$ after time $\Delta t$.

Implements StochasticProcess.

Definition at line 253 of file WienerProcess.hpp.


Generated on Wed Dec 17 15:11:58 2008 for dysii Dynamical Systems Library by  doxygen 1.5.3