Skip to content

boost-math 0.4.0 (unofficial fork build)

Choose a tag to compare

@NAThompson NAThompson released this 05 Nov 07:46

Unofficial fork build. Boost.Math as WebAssembly (ES module + .d.ts) and as Python wheels (abi3), both built from commit 695374d on the boost-math-0.4.0 branch of this personal fork, which is boostorg/math develop plus the WebAssembly bindings. Not an official Boost release; nothing is published to npm or PyPI. The wheel metadata's URLs point at boostorg/math and boost.org.

New since 0.3.0:

  • Prolate and oblate spheroidal wave functions (boostorg#1631). In Python, prolate_spheroidal(n, m, c) and oblate_spheroidal(n, m, c) are classes with vectorized angular, radial_1, radial_2 and their _primes, plus prolate_spheroidal_eigenvalue / oblate_spheroidal_eigenvalue. In JavaScript, prolate_spheroidal_angular(n, m, c, x) etc. Negative c is allowed.
  • Struve functions struve_h(nu, x) and struve_l(nu, x) and their x-derivatives struve_h_prime / struve_l_prime (boostorg#1633).
  • Generalized Laguerre polynomials for real alpha (boostorg#1632); in Python, laguerre(n, alpha, x).
  • Wavelet denoising and transforms on the interval (boostorg#1629): wavelet_denoise, wavelet_transform, inverse_wavelet_transform, denoise, and hoyer_sparsity, now also in the wasm module.
  • Everything else on develop since 0.3.0.

WebAssembly

npm install https://github.com/NAThompson/math/releases/download/boost-math-v0.4.0/boost-math-wasm-0.4.0.tgz

sha256 of boost-math-wasm-0.4.0.tgz: c9b548e86ef0460f58bdcb37541d012d76df586afca6246cb701dfbaf429138d

Python (CPython 3.12+). The installer picks the right wheel for your platform from this release:

pip:

pip install boost-math --find-links https://github.com/NAThompson/math/releases/expanded_assets/boost-math-v0.4.0

uv:

uv pip install boost-math --find-links https://github.com/NAThompson/math/releases/expanded_assets/boost-math-v0.4.0

In a uv project's pyproject.toml (then uv sync; uv.lock records this release as the source):

[project]
dependencies = ["boost-math>=0.4"]

[tool.uv]
find-links = ["https://github.com/NAThompson/math/releases/expanded_assets/boost-math-v0.4.0"]

In a requirements.txt for pip:

--find-links https://github.com/NAThompson/math/releases/expanded_assets/boost-math-v0.4.0
boost-math

Wheels: manylinux x86_64 and aarch64, macOS arm64 and x86_64, Windows x86_64; SHA-256s in SHA256SUMS. There is no sdist: on other platforms (e.g. musllinux) the install fails. uv lists GitHub's "Source code" archive as a source distribution, but it cannot be built, because the Python package lives in nanobind/.