SHarmonic: A fast and accurate implementation of spherical harmonics for electronic-structure calculations
Xavier Andrade, Jacopo Simoni, Yuan Ping, Tadashi Ogitsu, Alfredo A. Correa
TL;DR
Spherical harmonics are essential in electronic-structure calculations but many implementations lag in speed or GPU support. SHarmonic offers an explicit polynomial implementation up to $\ell \le 9$ in normalized Cartesian coordinates, covering real and spinorial variants and providing CPU and GPU execution via a header-only C/C++ interface. It achieves accuracy on par with stdc++, Boost, and GSL and delivers substantial speedups, especially on GPUs (up to ~$500\times$ faster than CPU references), facilitating integration into existing codes. The open-source release and GPU-friendly design promote reproducibility, performance, and broad adoption in electronic-structure workflows.
Abstract
The authors present SHarmonic, a new implementation of the spherical harmonics targeted for electronic-structure calculations. Their approach is to use explicit formulas for the harmonics written in terms of normalized Cartesian coordinates. This approach results in a code that is as precise as other implementations while being at least one order of magnitude more computationally efficient. The library can run on graphics processing units (GPUs) as well, achieving an additional order of magnitude in execution speed. This new implementation is simple to use and is provided under an open source license, it can be readily used by other codes to avoid the error-prone and cumbersome implementation of the spherical harmonics.
