NXcs_prng¶
Status:
base class, extends NXobject
Description:
Computer science description of pseudo-random number generator.
The purpose of such metadata 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:
none
Structure:
type: (optional) NX_CHAR
Different approaches for generating random numbers with a computer exists. Some use a dedicated physical device where the state is unpredictable (physically). Some use a mangling of the system clock (system_clock), where also without additional pieces of information the sequence is not reproducible. Some use so-called pseudo-random number generator (PRNG) are used. These are algorithms which yield a deterministic sequence of practically randomly appearing numbers. These algorithms different in their quality in how close the resulting sequences are random. Nowadays one of the most commonly used algorithm is the MersenneTwister (mt19937).
Any of these values:
physical
|system_clock
|mt19937
|other
program: (optional) NX_CHAR
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.
@version: (optional) NX_CHAR
Version and build number, or commit hash.
seed: (optional) NX_NUMBER {units=NX_UNITLESS}
Parameter of the PRNG controlling its initialization and thus the specific sequence of numbers it generates.
warmup: (optional) NX_NUMBER {units=NX_UNITLESS}
Number of initial draws from the PRNG which are discarded in an effort to equilibrate the sequence and make it thus to statistically more random. If no warmup was performed or if warmup procedures are unclear, users should set the value to zero.
Hypertext Anchors¶
List of hypertext anchors for all groups, fields, attributes, and links defined in this class.