Scilab Home Page | Wiki | Bug Tracker | Forge | Mailing List Archives | Scilab Online Help | File Exchange
ATOMS : Low Discrepancy Sequences details
Login with GitLab

Low Discrepancy Sequences

Provides Halton, Sobol and other sequences.
(2964 downloads for this version - 33018 downloads for all versions)
A more recent valid version with binaries for Scilab 5.4 exists: 0.7
Michael Baudin
John Burkardt
Paul Bratley
Bennett Fox
Harald Niederreiter
Owner Organization
DIGITEO and others
Michael BAUDIN
Creation Date
January 18, 2013
Source created on
Scilab 5.4.x
Binaries available on
Scilab 5.4.x:
Linux 32-bit Windows 32-bit Windows 64-bit macOS Linux 64-bit
Install command
--> atomsInstall("lowdisc")

The goal of this toolbox is to provide a collection of low discrepancy
sequences. These random numbers are designed to be used in a Monte-Carlo
simulation. For example, low discrepancy sequences provide a higher
convergence rate to the Monte-Carlo method when used in numerical
integration. The toolbox takes into account the dimension of the problem, i.e.
generate vectors with arbitrary size.

The current prototype has the following features :
 * manage arbitrary number of dimensions,
 * skips a given number of elements in the sequence,
 * leaps (i.e. ignores) a given number of elements from call to call,
 * fast sequences based on compiled source code,
 * suggest optimal settings to use the best of the sequences,
 * object oriented programming.

Overview of sequences
 * The Halton sequence,
 * The Sobol sequence,
 * The Faure sequence,
 * The Reverse Halton sequence of Vandewoestyne and Cools,
 * The Niederreiter base 2 and arbitrary base sequence.
This component currently provides the following sequences:
 * "slow" sequences based on macros : Halton, Sobol, Faure, Reverse
Halton, Niederreiter base 2,
 * "fast" sequences based on C source code : Halton, Sobol, Faure,
Reverse Halton, Niederreiter in arbitrary base.

See the overview in the help provided with this toolbox.

The module provides the following help pages:
 * lowdisc_overview : An overview of the Low Discrepancy toolbox.
 * lowdisc_projections : An overview of bad 2D projections.

The flagship of this module is:
 * lowdisc_ldgen : Returns uniform numbers from a low discrepancy sequence.
 * lowdisc_cget : Returns the value associated with the given key.
 * lowdisc_configure : Configure a field of the object and returns the modified
 * lowdisc_destroy : Destroy the current object.
 * lowdisc_get : Quiery one not-configurable field.
 * lowdisc_new : Create a new object.
 * lowdisc_next : Returns the next term of the sequence
 * lowdisc_startup : Startup the sequence.
Macro Generators:
 * lowdisc_haltonnext : Returns the next element of the Halton sequence.
 * lowdisc_sobolnext : Generates a new quasirandom Sobol vector.
 * lowdisc_sobolskip : Skip elements in the Sobol sequence.
 * lowdisc_sobolstart : Initialize the Sobol sequence.
 * lowdisc_vandercorput : Returns the i-th term of the Van Der Corput sequence.
Static Functions:
 * lowdisc_methods : Returns available sequences.
 * lowdisc_stopall : Stop all fast sequences.

Favorable Parameters:
 * lowdisc_fauresuggest : Returns favorable parameters for Faure sequences.
 * lowdisc_haltonsuggest : Returns favorable parameters for Halton sequence.
 * lowdisc_niederbase : Returns optimal base for Niederreiter sequence.
 * lowdisc_niedersuggest : Returns favorable parameters for Niederreiter
 * lowdisc_sobolsuggest : Returns favorable parameters for Sobol sequences.
 * lowdisc_soboltau : Returns favorable starting seeds for Sobol sequences.
Support Functions:
 * lowdisc_bitand : Bitwise AND.
 * lowdisc_bithi1 : Returns the position of the high one bit base 2 in an
 * lowdisc_bitlo0 : Returns the position of the low zero bit base 2 in an
 * lowdisc_bitor : bitwise OR
 * lowdisc_bitxor : Bitwise logical XOR operator.
 * lowdisc_combinesum  Search 2D combinations with given sum.
 * lowdisc_corrcoef : Correlation coefficients
 * lowdisc_dec2bin : Convert a decimal floating point integer into binary.
 * lowdisc_getpath : Returns the path to the current module.
 * lowdisc_plotbmbox : Plot all elementary boxes with volume b^m
 * lowdisc_plotelembox : Plot elementary box
 * lowdisc_proj2d : Plots 2 dimensional projections.
 * lowdisc_subplotdecompose : Compute the rows and columns of a matrix of


Michael Baudin thanks John Burkardt for his help during 
the development of this library.
Thanks to Alan Cornet, Pierre Marechal for the technical help
for this project.
Thanks to Jean-Philippe Chancelier for finding bugs in the 
source code of the gateway.
Files (6)
[599.27 kB]
Source code archive

[800.02 kB]
Linux 32-bit binary for Scilab 5.4.x
Linux 32-bit
Automatically generated by the ATOMS compilation chain

[1.02 MB]
Windows 32-bit binary for Scilab 5.4.x
Windows 32-bit
Automatically generated by the ATOMS compilation chain

[980.39 kB]
Windows 64-bit binary for Scilab 5.4.x
Windows 64-bit
Automatically generated by the ATOMS compilation chain

[695.32 kB]
macOS binary for Scilab 5.4.x
MacOSX version
Automatically generated by the ATOMS compilation chain

[756.95 kB]
Linux 64-bit binary for Scilab 5.4.x
Linux 64-bit
Automatically generated by the ATOMS compilation chain

News (0)
Comments (1)     Leave a comment 
Comment from Michael BAUDIN -- January 28, 2013, 09:06:32 PM    
Here is the changelog for v0.4:

lowdisc (v0.4)
 * Created lowdisc_combinesum.
 * Created lowdisc_plotbmbox.
 * Created lowdisc_plotelembox.
 * Added a demo of (t,m,s)-nets
 * Changed the calling sequence of lowdisc_ldgen. 
   The new calling sequence is:
 * Changed the default value of strict in lowdisc_ldgen. 
   The new default is strict=%t.
 * Created lowdisc_getpath() function.
 * Added a unit test to check the demos.
 * Fixed bug #1002.
   lowdisc_proj2d was failing with Scilab 5.4
 * Updated the builder scripts for Scilab 5.4.
Leave a comment
You must register and log in before leaving a comment.
Login with GitLab
Email notifications
Send me email when this toolbox has changes, new files or a new release.
You must register and log in before setting up notifications.