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.0.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.

gumerov_expansion_coefficients-1.2.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for gumerov_expansion_coefficients-1.2.0.tar.gz
Algorithm Hash digest
SHA256 4332f2629635305cbb1f817cf648ad2cff10cc7f691259d5b35e4cb05e679104
MD5 beebb3b5fc501d507fe0b08e5e6000c9
BLAKE2b-256 8cf57ed78208666020968ae4eb3f33ce45c236643f14be0f1514a6708e3df199

See more details on using hashes here.

Provenance

The following attestation bundles were made for gumerov_expansion_coefficients-1.2.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for gumerov_expansion_coefficients-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 10b59c2dc3e3ee8f00c43abb73dcc88bc3d17ad7976418541ae01e14bb4b363a
MD5 fbacb60343c4be20578ef337a428407c
BLAKE2b-256 9b7b077820728e3b069a01145395d42b1149ff1e5bd3b29c9c002ecf008643a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for gumerov_expansion_coefficients-1.2.0-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