Skip to main content

Low Discrepancy Sequence Generation

Project description

Project generated with PyScaffold Documentation Status codecov Coveralls

🤏 lds-gen

Low Discrepancy Sequence Generation

This library implements a set of low-discrepancy sequence generators, which are used to create sequences of numbers that exhibit a greater degree of uniformity than random numbers. The utility of these sequences is evident in a number of fields, including computer graphics, numerical integration, and Monte Carlo simulations.

The library defines a number of classes, each of which represents a distinct type of low-discrepancy sequence generator. The primary sequence types that are implemented are as follows:

  1. Van der Corput sequence
  2. Halton sequence
  3. Circle sequence
  4. Disk sequence
  5. Sphere sequence
  6. 3-Sphere Hopf sequence
  7. N-dimensional Halton sequence

Each generator is designed to accept specific inputs, which are typically presented in the form of base numbers or sequences of base numbers. The selection of bases serves to determine the manner in which the sequences are generated. The generators produce outputs in the form of floating-point numbers or lists of floating-point numbers, contingent upon the dimensionality of the sequence.

The fundamental algorithm utilized in the majority of these generators is the Van der Corput sequence. The Van der Corput sequence is generated by expressing integers in a specified base, reversing the digits, and inserting them after a decimal point. To illustrate, in base 2, the sequence would commence as follows: The sequence then progresses as follows: 1/2, 1/4, 3/4, 1/8, 5/8, and so on.

The Halton sequence extends this concept to multiple dimensions by employing a distinct base for each dimension. The Circle and Sphere sequences employ trigonometric functions to map the low-discrepancy sequences onto circular or spherical surfaces.

Furthermore, the library incorporates a set of utility functions and classes that facilitate the operation of these generators. To illustrate, a list of prime numbers may be employed as bases for the sequences.

Each generator class has methods for producing the next value in the sequence (pop()) and for resetting the sequence to a specific starting point (reseed()). This enables the generators to be employed in a variety of contexts in a flexible manner. The objective of this library is to provide a toolkit for the generation of sequences of numbers that are distributed in a well-balanced manner. These can be used in place of random numbers in many applications to achieve a more uniform coverage of a given space or surface. This can result in more efficient and accurate outcomes in tasks such as sampling, integration, and optimization.

Used In

👀 See also

👉 Note

This project has been set up using PyScaffold 4.5. For details and usage information on PyScaffold see https://pyscaffold.org/.

Project details


Download files

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

Source Distribution

lds_gen-0.2.tar.gz (54.6 kB view details)

Uploaded Source

Built Distribution

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

lds_gen-0.2-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file lds_gen-0.2.tar.gz.

File metadata

  • Download URL: lds_gen-0.2.tar.gz
  • Upload date:
  • Size: 54.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lds_gen-0.2.tar.gz
Algorithm Hash digest
SHA256 2b09e6c3b0134264063476227046f3463b64fb05df8b18704492e53ec366945e
MD5 a4d1cba5c512c07c098f6005e8d035e9
BLAKE2b-256 73960917771f4db977c52c3ecb55791e3e1ebe64cf0b5168840583c9f0662790

See more details on using hashes here.

Provenance

The following attestation bundles were made for lds_gen-0.2.tar.gz:

Publisher: python-publish.yml on luk036/lds-gen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lds_gen-0.2-py3-none-any.whl.

File metadata

  • Download URL: lds_gen-0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lds_gen-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 372ab59e1aab913c35cab8c22348b11e3de00c3861ec722de5817da1a81518ff
MD5 f1a90f1ed436643a21525de80e8a1757
BLAKE2b-256 da909bc7e7a4650deba1b7e35bdb5dfff5c9d39903b479baa9089df3cc49b094

See more details on using hashes here.

Provenance

The following attestation bundles were made for lds_gen-0.2-py3-none-any.whl:

Publisher: python-publish.yml on luk036/lds-gen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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