2.3.3.3.88. NXcs_prng

Status:

base class, extends NXobject

Description:

Computer science description of pseudo-random number generator. ...

Computer science description of pseudo-random number generator.

The purpose of this base class is to identify if exactly the same sequence can be reproduced, like for a PRNG or not (for a true physically random source).

Symbols:

The symbols used in the schema to specify e.g. dimensions of arrays.

Groups cited:

NXprogram

Structure:

type: (optional) NX_CHAR

Physical approach or algorithm whereby random numbers are generated. ...

Physical approach or algorithm whereby random numbers are generated.

Different approaches for generating random numbers with a computer exists. Some use a dedicated physical device whose the state is unpredictable (physically). Some use a strategy of mangling information from the system clock. Also in this case the sequence is not reproducible without having additional pieces of information.

In most cases though so-called pseudo-random number generator (PRNG) algorithms are used. These yield a deterministic sequence of practically randomly appearing numbers. These algorithms differ in their quality in how close the resulting sequences are random, i.e. sequentially uncorrelated. Nowadays one of the most commonly used algorithm is the MersenneTwister (mt19937).

Any of these values: physical | system_clock | mt19937 | other

seed: (optional) NX_INT {units=NX_UNITLESS}

Parameter of the PRNG controlling its initialization ...

Parameter of the PRNG controlling its initialization and thus controlling the specific sequence generated.

warmup: (optional) NX_UINT {units=NX_UNITLESS}

Number of initial draws from the PRNG after its initialized with the seed. ...

Number of initial draws from the PRNG after its initialized with the seed. These initial draws are typically discarded in an effort to equilibrate the sequence. If no warmup was performed or if warmup procedures are unclear, users should set the value to zero.

PROGRAM: (optional) NXprogram

Name of the PRNG implementation and version. If such information is not ...

Name of the PRNG implementation and version. If such information is not available or if the PRNG type was set to other the DOI to the publication or the source code should be given.

Hypertext Anchors

List of hypertext anchors for all groups, fields, attributes, and links defined in this class.

NXDL Source:

https://github.com/FAIRmat-NFDI/nexus_definitions/tree/fairmat/contributed_definitions/NXcs_prng.nxdl.xml