Skip to main content

Stealthy point-pattern sampling on the unit torus

Project description

blue-sampler

Generate stealthy point patterns — low-discrepancy, spectrally isotropic samples on the unit torus [0, 1)^D.

Stealthy patterns suppress long-range density fluctuations while remaining aperiodic. They are useful in rendering, quadrature, and computational physics wherever quasi-random, isotropic spatial coverage is needed.

Installation

pip install blue_sampler

Quick start

import blue_sampler as blue

# 10 000 points in 2-D
x = blue.sample(10_000)
blue.plot(x)
blue.plot_structure_factor(x)

# 3-D
x = blue.sample(5_000, D=3)

Supported dimensions

D Notes
2 Fast, recommended for exploration
3 ~3× slower than 2-D
4 Requires more iterations (set automatically by Config.auto)
5 Experimental

Algorithm overview

The pipeline alternates between:

  1. Spatial gradient — short-range Gaussian repulsion via neighbour convolution on the torus.
  2. Spectral gradient — minimises the structure factor S(k) for k below a chosen cut-off, using a set of all the wave vectors within an integer half-ball.
  3. Grid assignment (SquareNet) — periodic re-assignment to a regular grid for efficient sparse local operations.

For N ≤ 3 000 a direct O(N²) bootstrap is used. For larger N a hierarchical strategy clones and refines a coarser solution.

License

MIT

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

blue_sampler-0.1.4.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

blue_sampler-0.1.4-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file blue_sampler-0.1.4.tar.gz.

File metadata

  • Download URL: blue_sampler-0.1.4.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for blue_sampler-0.1.4.tar.gz
Algorithm Hash digest
SHA256 9160d6ea9978f9d0932922df306e4f8f017287c61cfe5e70dbf18286a1a00a61
MD5 9c0b9e9516b00dac8581abb12e562108
BLAKE2b-256 2d6c8fd9846ac66f0efaf653bbe9823a1d14adea8e2af4fe6ee0308ea955b82d

See more details on using hashes here.

File details

Details for the file blue_sampler-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: blue_sampler-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for blue_sampler-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 898c7f2f6ed6a663041ecea4c31831a45394303dc79a22c2a7d6e10fee90b52d
MD5 bbfa006d3a8f71fd7abd2ab0a74598f4
BLAKE2b-256 524021e7c5ee19406b699e47fef684be8afd16451e82f6886b6c461816482433

See more details on using hashes here.

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