PolarStudentTRng< URNG > Class Template Reference

Student t random number generator. More...

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

## Public Types

typedef Sample< Real > | sample_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.

Examples
  BasketLosses.cpp.