Fast evaluation of spherical harmonics with sphericart
Filippo Bigi, Guillaume Fraux, Nicholas J. Browning, Michele Ceriotti

TL;DR
This paper introduces a fast, stable, and efficient algorithm for evaluating real-valued spherical harmonics, implemented in the sphericart library, benefiting various scientific and machine learning applications.
Contribution
The authors present a novel algorithm for spherical harmonics evaluation that is both computationally efficient and numerically stable, with a comprehensive software implementation.
Findings
Algorithm achieves faster evaluation times.
Supports Cartesian derivatives with stability.
Includes GPU acceleration in the Python API.
Abstract
Spherical harmonics provide a smooth, orthogonal, and symmetry-adapted basis to expand functions on a sphere, and they are used routinely in physical and theoretical chemistry as well as in different fields of science and technology, from geology and atmospheric sciences to signal processing and computer graphics. More recently, they have become a key component of rotationally equivariant models in geometric machine learning, including applications to atomic-scale modeling of molecules and materials. We present an elegant and efficient algorithm for the evaluation of the real-valued spherical harmonics. Our construction features many of the desirable properties of existing schemes and allows to compute Cartesian derivatives in a numerically stable and computationally efficient manner. To facilitate usage, we implement this algorithm in sphericart, a fast C++ library which also provides…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsStatistical and numerical algorithms · Geophysics and Gravity Measurements · Scientific Measurement and Uncertainty Evaluation
MethodsLib
