Skip to main content

Gumerov Expansion Coefficients

CI Status Documentation Status Test coverage percentage

uv Ruff pre-commit

PyPI Version Supported Python versions License


Documentation: https://gumerov-expansion-coefficients.readthedocs.io

Source Code: https://github.com/34j/gumerov-expansion-coefficients


Multiple translation and rotation coefficients for the 3D Helmholtz Equation

Installation

Install this via pip (or your favourite package manager):

pip install gumerov-expansion-coefficients[cli,cuda]

Usage

from gumerov_expansion_coefficients import translational_coefficients

translational_coefficients(
    k * r, theta, phi, same=True, n_end=10
)  # (R|R) coefficients from 0 to 9 th degree
translational_coefficients(
    k * r, theta, phi, same=False, n_end=10
)  # (S|R) coefficients from 0 to 9 th degree
  • The definition of spherical harmonics are same as in [1]. Note that there are 3 other common definitions, and this definition differs from scipy.special.sph_harm_y for negative m.

$$ Y_n^m (\theta, \phi) := (-1)^m \sqrt{\frac{(2n+1)(n-\left|m\right|)!}{4 \pi (n+\left|m\right|)!}} P_n^{\left|m\right|} (\cos \theta) e^{i m \phi} $$

$$ R_n^m (kr, \theta, \phi) := j_n(kr) Y_n^m (\theta, \phi) $$

$$ S_n^m (kr, \theta, \phi) := h_n^{(1)}(kr) Y_n^m (\theta, \phi) $$

  • The return array is 2D array with shape (n_end**2, n_end**2).
  • The first axis is to be summed over, resulting in the elemenary solutions at the second axis.
  • The coefficient coressponding to the quantum numbers (n, m) is mapped to n**2 + (m % (2 * n + 1))-th index, while in [2] it is mapped to n * (n + 1) + m-th index.

References

  • [1] Gumerov, N. A., & Duraiswami, R. (2004). Recursions for the Computation of Multipole Translation and Rotation Coefficients for the 3-D Helmholtz Equation. SIAM Journal on Scientific Computing, 25(4), 1344–1381. https://doi.org/10.1137/S1064827501399705
  • [2] Gumerov, N. A., & Ramani, D. (2002年). Computation of scattering from N spheres using multipole reexpansion. The Journal of the Acoustical Society of America, 112(6), 2688–2701. https://doi.org/10.1121/1.1517253

Benchmark

gec benchmark
gec plot

timing_results

Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

Credits

Copier

This package was created with Copier and the browniebroke/pypackage-template project template.

Metadata

Release files for gumerov-expansion-coefficients 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gumerov-expansion-coefficients 1.2.1
File Size Uploaded
gumerov_expansion_coefficients-1.2.1.tar.gz 14.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gumerov-expansion-coefficients 1.2.1
File Interpreter ABI Platform
gumerov_expansion_coefficients-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 26.1 kB

Release files / gumerov_expansion_coefficients-1.2.1.tar.gz

Download URL gumerov_expansion_coefficients-1.2.1.tar.gz
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ec3b7759afea3c5105bb9d216f30ec11ee9c3c9e7d6b0b1847b6429c4ca59df6
BLAKE2b-256 checksum
How to use checksums
2be0f1c5a601d8df5ad9da78a809e9e773f966648abd1aa0b1251cfa6950e959
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2025.

Transparency log

Release files / gumerov_expansion_coefficients-1.2.1-py3-none-any.whl

Download URL gumerov_expansion_coefficients-1.2.1-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b3ef49f992b760d112d99414b3044f738a0f4b7048f3d1598cff35c8367a329d
BLAKE2b-256 checksum
How to use checksums
5d39a73583f8d03b8cdffd3ab5e13b79b70c9cd87ad63542405a89718517c7ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page