Welcome to fsph’s documentation!¶
fsph is a library to compute series of complex spherical harmonics.
The Condon-Shortley phase is not included, although it is often used by many other libraries; to incorporate it, multiply the positive-m spherical harmonics by \((-1)^m\).
Install from PyPI:
pip install --no-build-isolation fsph
Or from source:
git clone https://github.com/glotzerlab/fsph.git cd fsph python setup.py install
pointwise_sph(phi, theta, lmax, negative_m=True)¶
Evaluate a series of spherical harmonics on an array of spherical coordinates.
The array objects phi and theta should have the same length and can hold single- or double-precision floating point numbers. The resulting array will be of length (N_coordinates, N_sphs) where N_coordinates is the length of the given coordinate arrays.
To map the columns of the result array to particular (l, m) values, see
- phi – Array-like object of polar angles in [-pi, pi]
- theta – Array-like object of azimuthal angles in [0, 2*pi]
- lmax – Integer maximum spherical harmonic degree to compute (inclusive)
- negative_m – Set to False to disable the negative-m spherical harmonics
Returns the (l, m) indices in the order that they are exposed by fsph.
Creates a (N_sphs, 2) array where the first column corresponds to the l values and the second column corresponds to the m values for any index in the series.
As of version 0.2, fsph can also compute spherical harmonic series of points on the CPU and GPU using tensorflow. This module is automatically built when tensorflow is found while installing fsph. GPU support is enabled when CUDA (specifically, the nvcc binary) is found while installing fsph.
spherical_harmonic_series(inputs, lmax, negative_m)¶
Compute a spherical harmonic series for a set of input points.
- inputs – (…, 2) array of (phi, theta) values
- lmax – Maximum spherical harmonic l to compute
- negative_m – If True, compute for negative as well as positive m values