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.
(3638 downloads for this version - 34066 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
December 13, 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 (classic, leaped, reverse or scrambled),
 * The Sobol sequence (classic or scrambled),
 * The Faure sequence,
 * The Niederreiter arbitrary base sequence.

See the overview in the help provided with this toolbox.

A PDF User Manual is available at :

The module provides the following help pages:
 * lowdisc_overview : An overview of the Low Discrepancy toolbox.

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
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.
Support Functions:
 * lowdisc_getpath : Returns the path to the current module.
 * lowdisc_plotbmbox : Plot all elementary boxes with volume b^m
 * lowdisc_plotelembox : Plot elementary box


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.
Thanks to Jeanne Demgne for her feedback on this module.            
Files (6)
[1.67 MB]
Source code archive

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

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

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

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

[1.17 MB]
Linux 64-bit binary for Scilab 5.4.x
Linux 64-bit
Automatically generated by the ATOMS compilation chain
News (0)
Comments (2)     Leave a comment 
Comment from Michael BAUDIN -- January 28, 2014, 08:03:56 PM    
Is there any technical reason why this toolbox is not packaged ?
Comment from Michael BAUDIN -- February 3, 2014, 09:46:59 AM    
Here is the changelog for this release.

lowdisc (v0.6 - December 2013)
 * Fixed details in the Tutorial "Choosing the number of points".
 * Added a demo of a Gray Code.
 * Added demo to compute t parameter of Sobol sequence.
 * Removed the tutorial help pages and created a new 
   document "Low Discrepancy Toolbox Manual".
 * Fixed #1297
   The lowdisc_new() call fails.
 * Fixed bug #1193
   The -seeds's help was unclear.
 * Fixed bug #1120
   Removed function lowdisc_proj2d, which was a duplicate 
   for Stixbox's plotmatrix.
   To update your code, please replace :

lowdisc_proj2d ( u )


plotmatrix ( u )

 * Fixed bug #1161.
   The sequence is now automatically started up 
   at the first call to the lowdisc_next function.
   To update your code, please remove calls to the 
   lowdisc_startup function. In other words, please replace :

lds = lowdisc_new("halton");
lds = lowdisc_startup (lds);
[lds,computed] = lowdisc_next (lds);
lds = lowdisc_destroy(lds);


lds = lowdisc_new("halton");
[lds,computed] = lowdisc_next (lds);
lds = lowdisc_destroy(lds);

 * Fixed several typos in the examples of the help pages.
 * Fixed a bug in lowdisc_stopall, which made it fail.
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.