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.
(11184 downloads for this version - 33123 downloads for all versions)
Details
Version
0.7
Authors
Michael Baudin
John Burkardt
Paul Bratley
Bennett Fox
Harald Niederreiter
Owner Organization
DIGITEO and others
Maintainers
Allan CORNET
Michael BAUDIN
License
Dependencies
Creation Date
November 9, 2014
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
Scilab 5.5.x:
Linux 32-bit Windows 32-bit Windows 64-bit macOS Linux 64-bit
Install command
--> atomsInstall("lowdisc")
Description
            Purpose
-------

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 :

http://forge.scilab.org/index.php/p/lowdisc/downloads/667/

Features
--------
 
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.
 
Sequences:
 * lowdisc_cget : Returns the value associated with the given key.
 * lowdisc_configure : Configure a field of the object and returns the modified
object.
 * 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
sequence.
 * 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

Acknowledgements

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 (11)
[1.71 MB]
Source code archive

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

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

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

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

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

[1.22 MB]
Linux 32-bit binary for Scilab 5.5.x
Linux version (i686)
Automatically generated by the ATOMS compilation chain

[1.34 MB]
Windows 32-bit binary for Scilab 5.5.x
Windows version (i686)
Automatically generated by the ATOMS compilation chain

[1.29 MB]
Windows 64-bit binary for Scilab 5.5.x
Windows version (x64)
Automatically generated by the ATOMS compilation chain

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

[1.17 MB]
Linux 64-bit binary for Scilab 5.5.x
Linux version (x86_64)
Automatically generated by the ATOMS compilation chain

News (0)
Comments (3)     Leave a comment 
Comment from Michael BAUDIN -- November 9, 2014, 06:41:41 PM    
lowdisc (v0.7)
 * Removed lowdisc_startup, which is now unnecessary.
 * Added the "-coordinate" option.
   This allows to get the dimension-th coordinate of 
   a sequence, without generating the coordinates 
   1,2, ..., dimension-1.
   This is a convenient feature for discrete event simulation 
   (piecewise deterministic Markov processes), where the 
   number of jumps is not known in advance for all chains.
Comment from Michael BAUDIN -- November 12, 2014, 05:55:39 PM    
Here is a test with Scilab 5.5.0 on Linux 64 :

-->atomsInstall("lowdisc")
 ans  =
 
!lowdisc     0.7-2    user  SCIHOME/atoms/lowdisc/0.7-2       I  !
!                                                                !
!helptbx     0.4-1    user  SCIHOME/atoms/helptbx/0.4-1       A  !
!                                                                !
!apifun      0.4.1-1  user  SCIHOME/atoms/apifun/0.4.1-1      A  !
!                                                                !
!stixbox     2.2-1    user  SCIHOME/atoms/stixbox/2.2-1       A  !
!                                                                !
!specfun     0.4.1-1  user  SCIHOME/atoms/specfun/0.4.1-1     A  !
!                                                                !
!distfun     0.9-1    user  SCIHOME/atoms/distfun/0.9-1       A  !
!                                                                !
!makematrix  0.4.1-1  user  SCIHOME/atoms/makematrix/0.4.1-1  A  !
!                                                                !
!linalg      0.3.1-0  user  SCIHOME/atoms/linalg/0.3.1-0      A  !
!                                                                !
!number      1.3-1    user  SCIHOME/atoms/number/1.3-1        A  !
!                                                                !
!dispmat     0.1.1-1  user  SCIHOME/atoms/dispmat/0.1.1-1     A  !
 
-->atomsTest("lowdisc")
   TMPDIR = /tmp/SCI_TMP_7725_t4w6xD

   001/001 - [SCIHOME/atoms/lowdisc/0.7-2] :

   001/034 - [SCIHOME/atoms/lowdisc/0.7-2] faure-coord..........passed
   002/034 - [SCIHOME/atoms/lowdisc/0.7-2] fauref...............passed
   003/034 - [SCIHOME/atoms/lowdisc/0.7-2] fauresuggest.........passed
   004/034 - [SCIHOME/atoms/lowdisc/0.7-2] ldfauref.............passed
   005/034 - [SCIHOME/atoms/lowdisc/0.7-2] haltonf..............failed: dia and ref are
not equal
   006/034 - [SCIHOME/atoms/lowdisc/0.7-2] haltonf-RR2..........passed
   007/034 - [SCIHOME/atoms/lowdisc/0.7-2] haltonf-coord........passed
   008/034 - [SCIHOME/atoms/lowdisc/0.7-2] haltonsuggest........passed
   009/034 - [SCIHOME/atoms/lowdisc/0.7-2] ldhaltonf............passed
   010/034 - [SCIHOME/atoms/lowdisc/0.7-2] ldrevhalf............passed
   011/034 - [SCIHOME/atoms/lowdisc/0.7-2] leapedHalton.........passed
   012/034 - [SCIHOME/atoms/lowdisc/0.7-2] reversehaltonf.......passed
   013/034 - [SCIHOME/atoms/lowdisc/0.7-2] basic................passed
   014/034 - [SCIHOME/atoms/lowdisc/0.7-2] checkdimension.......failed: premature end of
the test script
   015/034 - [SCIHOME/atoms/lowdisc/0.7-2] demos................skipped: not yet fixed
   016/034 - [SCIHOME/atoms/lowdisc/0.7-2] ldbase...............failed: dia and ref are
not equal
   017/034 - [SCIHOME/atoms/lowdisc/0.7-2] ldgen................passed
   018/034 - [SCIHOME/atoms/lowdisc/0.7-2] ldgen-s1.............passed
   019/034 - [SCIHOME/atoms/lowdisc/0.7-2] ldgen-s2.............passed
   020/034 - [SCIHOME/atoms/lowdisc/0.7-2] methods..............passed
   021/034 - [SCIHOME/atoms/lowdisc/0.7-2] print................passed
   022/034 - [SCIHOME/atoms/lowdisc/0.7-2] stopall..............passed
   023/034 - [SCIHOME/atoms/lowdisc/0.7-2] ldniedf..............passed
   024/034 - [SCIHOME/atoms/lowdisc/0.7-2] nied-coord...........passed
   025/034 - [SCIHOME/atoms/lowdisc/0.7-2] niederbase...........passed
   026/034 - [SCIHOME/atoms/lowdisc/0.7-2] niederreiterf........passed
   027/034 - [SCIHOME/atoms/lowdisc/0.7-2] niedersuggest........passed
   028/034 - [SCIHOME/atoms/lowdisc/0.7-2] plotbmbox............failed: error_output not
empty
                                                                 Use
'no_check_error_output' option to disable this check.
   029/034 - [SCIHOME/atoms/lowdisc/0.7-2] plotelembox..........failed: error_output not
empty
                                                                 Use
'no_check_error_output' option to disable this check.
   030/034 - [SCIHOME/atoms/lowdisc/0.7-2] ldsobolf.............passed
   031/034 - [SCIHOME/atoms/lowdisc/0.7-2] sobol-coord..........passed
   032/034 - [SCIHOME/atoms/lowdisc/0.7-2] sobolf...............passed
   033/034 - [SCIHOME/atoms/lowdisc/0.7-2] sobolsuggest.........passed
   034/034 - [SCIHOME/atoms/lowdisc/0.7-2] ssobol...............passed


The failing tests do not reveal bugs : some unit tests must be updated. The graphics
failures are usual on Linux.
This means that lowdisc v0.7 seems to work correctly on Linux 64.
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.