naginterfaces.library.rand.quasi_normal_bydim¶
- naginterfaces.library.rand.quasi_normal_bydim(n, xmean, std, fdim, ldim, comm, sorder=1)[source]¶
quasi_normal_bydim
generates a quasi-random sequence from a Normal (Gaussian) distribution. Values are generated for a subset of dimensions. It must be preceded by a call to one of the initialization functionsquasi_init()
orquasi_init_scrambled()
.For full information please refer to the NAG Library document for g05yq
https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/g05/g05yqf.html
- Parameters
- nint
The number of quasi-random numbers required.
- xmeanfloat, array-like, shape
Specifies, for each dimension, the mean of the Normal distribution.
- stdfloat, array-like, shape
Specifies, for each dimension, the standard deviation of the Normal distribution.
- fdimint
The first dimension to return.
- ldimint
The last dimension to return.
- commdict, communication object, modified in place
Communication structure.
This argument must have been initialized by a prior call to
quasi_init()
orquasi_init_scrambled()
.- sorderint, optional
The order in which the generated values are returned.
- Returns
- quasfloat, ndarray, shape
Contains the quasi-random numbers for the required dimensions of a sequence with idim dimensions.
For , the th value for the th dimension is held in , where .
- Raises
- NagValueError
- (errno )
On entry, .
Constraint: or .
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, value of would result in too many calls to the generator: , generator has previously been called times.
- (errno )
On entry, and .
Constraint: .
- (errno )
On entry, and .
Constraint:
- (errno )
On entry, and .
Constraint:
- (errno )
On entry, and .
Constraint: .
- (errno )
On entry, [‘iref’] has either not been initialized or has been corrupted.
- (errno )
On entry, [‘iref’] is too short to use with
quasi_normal_bydim
.- (errno )
On entry, the specified dimensions are out of sync.
A different number of values have been generated from at least one of the specified dimensions.
- (errno )
quasi_normal_bydim
can not be used with the Faure generator.
- Notes
quasi_normal_bydim
generates a quasi-random sequence, for a specified subset of dimensions, from a Normal distribution by first generating a uniform quasi-random sequence, for the specified subset of dimensions, which is then transformed into a Normal sequence using the inverse of the Normal CDF. The type of uniform sequence used depends on the initialization function called and can include the low-discrepancy sequences proposed by Sobol, Faure or Niederreiter. If the initialization functionquasi_init_scrambled()
was used then the underlying uniform sequence is first scrambled prior to being transformed (see Notes for quasi_init_scrambled for details).
- References
Bratley, P and Fox, B L, 1988, Algorithm 659: implementing Sobol’s quasirandom sequence generator, ACM Trans. Math. Software (14(1)), 88–100
Fox, B L, 1986, Algorithm 647: implementation and relative efficiency of quasirandom sequence generators, ACM Trans. Math. Software (12(4)), 362–376
Wichura, 1988, Algorithm AS 241: the percentage points of the Normal distribution, Appl. Statist. (37), 477–484