Skip to main content

Multiple translation and rotation coefficients for the 3D Helmholtz Equation

Project description

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.

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

gumerov_expansion_coefficients-1.2.1.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file gumerov_expansion_coefficients-1.2.1.tar.gz.

File metadata

File hashes

Hashes for gumerov_expansion_coefficients-1.2.1.tar.gz
Algorithm Hash digest
SHA256 ec3b7759afea3c5105bb9d216f30ec11ee9c3c9e7d6b0b1847b6429c4ca59df6
MD5 1a88a6ffd4abcd7ba2cafd4bc20a9678
BLAKE2b-256 2be0f1c5a601d8df5ad9da78a809e9e773f966648abd1aa0b1251cfa6950e959

See more details on using hashes here.

Provenance

The following attestation bundles were made for gumerov_expansion_coefficients-1.2.1.tar.gz:

Publisher: ci.yml on 34j/gumerov-expansion-coefficients

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

File details

Details for the file gumerov_expansion_coefficients-1.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for gumerov_expansion_coefficients-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b3ef49f992b760d112d99414b3044f738a0f4b7048f3d1598cff35c8367a329d
MD5 3d53ea17fc31fbe343ccf39d07843d3c
BLAKE2b-256 5d39a73583f8d03b8cdffd3ab5e13b79b70c9cd87ad63542405a89718517c7ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for gumerov_expansion_coefficients-1.2.1-py3-none-any.whl:

Publisher: ci.yml on 34j/gumerov-expansion-coefficients

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