Skip to main content

PyPI version Build Status

Sobol

Concise implementation of the Sobol sequence for generating low-discrepancy quasi-random numbers in up to 1111 dimensions.

Note: scipy>=1.7 features a qmc module with a better Sobol implementation.

Install

pip install sobolsequence

Usage

import sobol

sobol.sample(dimension=3, n_points=5)
array([[0.5  , 0.5  , 0.5  ],
       [0.75 , 0.25 , 0.75 ],
       [0.25 , 0.75 , 0.25 ],
       [0.375, 0.375, 0.625],
       [0.875, 0.875, 0.125]])

Skip the first n points:

sobol.sample(dimension=3, n_points=5, skip=10000)

Sample point by point using the underlying generator:

sob = sobol.generator(dimension=5)
for i in range(10):
    print(next(sob))

References

This implementation is based on the Python version by Corrado Chisari available here.

  • Antonov, Saleev, USSR Computational Mathematics and Mathematical Physics, Volume 19, 1980, pages 252 - 256.
  • Paul Bratley, Bennett Fox, Algorithm 659: Implementing Sobol's Quasirandom Sequence Generator, ACM Transactions on Mathematical Software, Volume 14, Number 1, pages 88-100, 1988.
  • Bennett Fox, Algorithm 647: Implementation and Relative Efficiency of Quasirandom Sequence Generators, ACM Transactions on Mathematical Software, Volume 12, Number 4, pages 362-376, 1986.
  • Ilya Sobol, USSR Computational Mathematics and Mathematical Physics, Volume 16, pages 236-242, 1977.
  • Ilya Sobol, Levitan, The Production of Points Uniformly Distributed in a Multidimensional Cube (in Russian), Preprint IPM Akad. Nauk SSSR, Number 40, Moscow 1976.

The direction numbers from Joe and Kuo are available here.

  • Stephen Joe and Frances Kuo, Remark on Algorithm 659: Implementing Sobol's quasirandom sequence generator, ACM Trans. Math. Softw. 29, 49-57 (2003), http://doi.acm.org/10.1145/641876.641879
  • Stephen Joe and Frances Kuo, Constructing Sobol sequences with better two-dimensional projections, SIAM J. Sci. Comput. 30, 2635-2654 (2008), https://doi.org/10.1137/070709359

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SobolSequence-0.2.1.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

SobolSequence-0.2.1-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file SobolSequence-0.2.1.tar.gz.

File metadata

  • Download URL: SobolSequence-0.2.1.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1

File hashes

Hashes for SobolSequence-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b2b4b57451b8d2e79ddb07efa23bc471dfdd436ea357d6368666bdc364df3eb1
MD5 5b8a7fac44ca1e2dcadd37179a1cb8df
BLAKE2b-256 13c506eae8024943bb71ab9194f00cecd3564ad7553532dd1f058be7b368cbe4

See more details on using hashes here.

File details

Details for the file SobolSequence-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: SobolSequence-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1

File hashes

Hashes for SobolSequence-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5bf71252d65382773686d0943e6aac6a392bf5b814e7b294676818e331feada5
MD5 829a3ebc67740d307eaf8b414db9ef3d
BLAKE2b-256 c28f4e24bcc09e5c21d13d60107d1dcd5be34cd5238541ff6123c2072e5c74a9

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page