QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.5
Public Types | Public Member Functions | List of all members
PolarStudentTRng< URNG > Class Template Reference

Student t random number generator. More...

#include <ql/experimental/math/polarstudenttrng.hpp>

Public Types

typedef Sample< Realsample_type
 
typedef URNG urng_type
 

Public Member Functions

 PolarStudentTRng (Real degFreedom, BigNatural seed=0)
 
 PolarStudentTRng (Real degFreedom, const URNG &urng)
 
sample_type next () const
 returns a sample from a Student-t distribution
 

Detailed Description

template<class URNG>
class QuantLib::PolarStudentTRng< URNG >

Student t random number generator.

Polar transformation based Student T random number generator. See "Polar Generation of Random Variates With the t-Distribution", Ralph W. Bailey, April 1994, in Mathematics of Computation, Vol 62-206 page 779. The one implemented here is a variant of this algorithm from "Random Number Generation and Monte Carlo Methods", Springer, 2003, page 185. Using a uniform RNG on a [-1,1] support, the extra call to the uniform generator (used for the sign of the sample) is avoided.

Class RNG must implement the following interface:

URNG::sample_type RNG::next() const;
Warning:
do not use with a low-discrepancy sequence generator.