Isotropic random walk. More...
#include <ql/experimental/math/isotropicrandomwalk.hpp>
Public Types | |
typedef boost::variate_generator< Engine, Distribution > | VariateGenerator |
Public Member Functions | |
IsotropicRandomWalk (Engine eng, Distribution dist, Size dim, const Array &weights=Array(), unsigned long seed=0) | |
template<class InputIterator > | |
void | nextReal (InputIterator first) const |
void | setDimension (Size dim) |
void | setDimension (Size dim, const Array &weights) |
void | setDimension (Size dim, const Array &lowerBound, const Array &upperBound) |
Protected Attributes | |
VariateGenerator | variate_ |
MersenneTwisterUniformRng | rng_ |
Array | weights_ |
Size | dim_ |
Isotropic random walk.
A variate is used to draw from a random element of a probability distribution. The draw corresponds to the radius of a d-dimensional sphere. The position on the surface of the d-dimensional sphere is randomly chosen with all points on the surface having the same probability, i.e. all directions are isotropic and the step is randomly drawn from the given variate.