IMSL_FAURE_INIT

Syntax | Return Value | Arguments | Keywords | Discussion | Example | Version History

The IMSL_FAURE_INIT function initializes the structure used for computing a shuffled Faure sequence.

Note
This routine requires an IDL Advanced Math and Stats license. For more information, contact your ITT Visual Information Solutions sales or technical support representative.

Syntax

Result = IMSL_FAURE_INIT(ndim [, BASE=value] [, SKIP=value] )

Return Value

A structure that contains information about the sequence.

Arguments

ndim

The dimension of the hyper-rectangle.

Keywords

BASE

The base of the Faure sequence. Default: The smallest prime greater than or equal to ndim.

SKIP

The number of points to be skipped at the beginning of the Faure sequence. Default:

IMSL_FAURE_INIT-39.jpg

where:

IMSL_FAURE_INIT-40.jpg

and B is the largest representable integer.

Discussion

Discrepancy measures the deviation from uniformity of a point set. The discrepancy of the point set:

IMSL_FAURE_INIT-41.jpg

is:

IMSL_FAURE_INIT-42.jpg

where the supremum is over all subsets of [0, 1]d of the form:

IMSL_FAURE_INIT-43.jpg

λ is the Lebesque measure, and:

IMSL_FAURE_INIT-44.jpg

is the number of the xj contained in E.

The sequence x1, x2, ..., of points [0,1]d is a low-discrepancy sequence if there exists a constant c(d), depending only on d, such that:

IMSL_FAURE_INIT-45.jpg

for all n>1.

Generalized Faure sequences can be defined for any prime base bd. The lowest bound for the discrepancy is obtained for the smallest prime bd, so the keyword Base defaults to the smallest prime greater than or equal to the dimension. The generalized Faure sequence x1, x2, ..., is computed as follows:

Write the positive integer n in its b-ary expansion:

IMSL_FAURE_INIT-46.jpg

where ai (n) are integers:

IMSL_FAURE_INIT-47.jpg

The j-th coordinate of xn is:

IMSL_FAURE_INIT-48.jpg

The generator matrix for the series:

IMSL_FAURE_INIT-49.jpg

is defined to be:

IMSL_FAURE_INIT-50.jpg

and:

IMSL_FAURE_INIT-51.jpg

is an element of the Pascal matrix:

IMSL_FAURE_INIT-52.jpg

It is faster to compute a shuffled Faure sequence than to compute the Faure sequence itself. It can be shown that this shuffling preserves the low-discrepancy property.

The shuffling used is the b-ary Gray code. The function G(n) maps the positive integer n into the integer given by its b-ary expansion.

The sequence computed by this function is x(G(n)), where x is the generalized Faure sequence.

Example

In this example, five points in the Faure sequence are computed. The points are in the three-dimensional unit cube.

Note that IMSL_FAURE_INIT is used to create a structure that holds the state of the sequence. Each call to IMSL_FAURE_NEXT_PT returns the next point in the sequence and updates the state structure.

state = IMSL_FAURE_INIT(3) 
p = IMSL_FAURE_NEXT_PT(5, state) 
PM, p 
 
   0.333689     0.492659    0.0640654 
   0.667022     0.825992     0.397399 
   0.778133     0.270436     0.175177 
   0.111467     0.603770     0.508510 
   0.444800     0.937103     0.841843 

Version History

6.4

Introduced