public final class ProperGeneralizedHyperbolicRNG(T, UniformRNG = Random) : NormalVarianceMeanMixtureRNG!T
if(isFloatingPoint!T)

Class to generate random observations from a proper generalized hyperbolic distribution using normal variance-mean mixture of proper generalized inverse Gaussian distribution.

Example

import std.algorithm : map;
import std.range;
auto rng = new ProperGeneralizedHyperbolicRNG!double(rndGen, 1.1, 1.1, 1.1, 1.1);
auto sample = rng.map!(x => x + 4).take(9).array;

public this(
    ref UniformRNG rng, 
    T lambda, 
    T eta, 
    T omega, 
    T beta)

Constructor

Parameters

rng

uniform random number generator

lambda

proper generalized inverse Gaussian parameter lambda

eta

proper generalized inverse Gaussian scale parameter

omega

proper generalized inverse Gaussian concetration parameter

beta

mixture scale parameter: Y*U^(1/2)+beta*U

Functions

this

Constructor