Options
All
  • Public
  • Public/Protected
  • All
Menu

Randomized (random shift) low-discrepancy sequence

Random-shifts a uniform low-discrepancy sequence of dimension $ N $ by adding (modulo 1 for each coordinate) a pseudo-random uniform deviate in $ (0, 1)^N. $ It is used for implementing Randomized Quasi Monte Carlo.

The uniform low discrepancy sequence is supplied by LDS; the uniform pseudo-random sequence is supplied by PRS.

Both class LDS and PRS must implement the following interface:

  LDS::sample_type LDS::nextSequence() const;
  Size LDS::dimension() const;

LDS and PRS must have the same dimension $ N $

warning Inverting LDS and PRS is possible, but it doesn't make sense.

todo implement the other randomization algorithms

test correct initialization is tested.

Hierarchy

  • RandomizedLDS

Index

Type aliases

Static sample_type

sample_type: Sample<Real[]>

Constructors

constructor

  • Parameters

    • LDS: USG<Real[]>
    • Default value PRS: USG<Real[]> = new RandomSequenceGenerator(new MersenneTwisterUniformRng().init1(SeedGenerator.get()))

    Returns RandomizedLDS

Properties

LDS

LDS: USG<Real[]>

PRS

PRS: USG<Real[]>

Private _dimension

_dimension: Size

Private _ldsg

_ldsg: USG<Real[]>

Private _pristineldsg

_pristineldsg: USG<Real[]>

Private _prsg

_prsg: USG<Real[]>

Private _randomizer

_randomizer: sample_type

Private x

Methods

dimension

  • Returns Size

init1

  • Parameters

    • ldsg: USG<Real[]>
    • Default value prsg: USG<Real[]> = new RandomSequenceGenerator(new MersenneTwisterUniformRng().init1(SeedGenerator.get()))

    Returns RandomizedLDS

init2

  • Parameters

    Returns RandomizedLDS

init3

lastSequence

  • Returns sample_type

nextRandomizer

  • nextRandomizer(): void
  • Returns void

nextSequence

  • Returns sample_type