Fast evaluation of spherical harmonics with sphericart
Filippo Bigi1,2, Guillaume Fraux1,2, Nicholas J Browning3
1Laboratory of Computational Science and Modelling, Institute of Materials, École Polytechnique Fédérale de Lausanne, Lausanne 1015, Switzerland.
The Journal of Chemical Physics
|August 8, 2023
Summary
We developed an efficient algorithm for calculating real-valued spherical harmonics and their derivatives. This method is implemented in the sphericart library, enhancing geometric machine learning applications.
Area of Science:
- Physics
- Chemistry
- Computer Science
- Geology
- Atmospheric Sciences
- Signal Processing
- Computer Graphics
Background:
- Spherical harmonics are essential for expanding functions on spheres across various scientific disciplines.
- They are increasingly vital in geometric machine learning for modeling molecules and materials.
Purpose of the Study:
- To present an elegant and efficient algorithm for evaluating real-valued spherical harmonics.
- To enable numerically stable and computationally efficient computation of Cartesian derivatives.
Main Methods:
- Developed a novel algorithm for real-valued spherical harmonic evaluation.
- Implemented the algorithm in a C++ library named sphericart.
- Provided C bindings, a Python API, and a PyTorch implementation with GPU support.
Main Results:
- The algorithm computes real-valued spherical harmonics efficiently.
- Cartesian derivatives are calculated in a numerically stable and efficient manner.
- The sphericart library offers broad accessibility and high performance.
Conclusions:
- The new algorithm and sphericart library offer significant improvements for applications utilizing spherical harmonics.
- This work facilitates advancements in fields ranging from theoretical chemistry to geometric machine learning.
Related Concept Videos
Spherical Coordinates
10.4K
Spherical coordinate systems are preferred over Cartesian, polar, or cylindrical coordinates for systems with spherical symmetry. For example, to describe the surface of a sphere, Cartesian coordinates require all three coordinates. On the other hand, the spherical coordinate system requires only one parameter: the sphere's radius. As a result, the complicated mathematical calculations become simple. Spherical coordinates are used in science and engineering applications like electric and...
10.4K
Spherical and Cylindrical Capacitor
5.8K
A spherical capacitor consists of two concentric conducting spherical shells of radii R1 (inner shell) and R2 (outer shell). The shells have equal and opposite charges of +Q and −Q, respectively. For an isolated conducting spherical capacitor, the radius of the outer shell can be considered to be infinite.
Conventionally, considering the symmetry, the electric field between the concentric shells of a spherical capacitor is directed radially outward. The magnitude of the field,...
Conventionally, considering the symmetry, the electric field between the concentric shells of a spherical capacitor is directed radially outward. The magnitude of the field,...
5.8K
Gauss's Law: Spherical Symmetry
7.6K
A charge distribution has spherical symmetry if the density of charge depends only on the distance from a point in space and not on the direction. In other words, if the system is rotated, it doesn't look different. For instance, if a sphere of radius R is uniformly charged with charge density ρ0, then the distribution has spherical symmetry. On the other hand, if a sphere of radius R is charged so that the top half of the sphere has a uniform charge density ρ1 and the bottom half...
7.6K
Radius of Gyration of an Area
1.6K
The second moment of area, also known as the moment of inertia of area, is a crucial factor in understanding an object's resistance against bending deformation, or stiffness. To accurately estimate the second moment of area along any axis, one needs to concentrate all areas associated with that object into a thin strip, which should be placed parallel to that particular axis.
1.6K
Polar and Cylindrical Coordinates
14.7K
The Cartesian coordinate system is a very convenient tool to use when describing the displacements and velocities of objects and the forces acting on them. However, it becomes cumbersome when we need to describe the rotation of objects. So, when describing rotation, the polar coordinate system is generally used.
14.7K
Harmonic Mean
3.1K
The arithmetic mean is usually skewed towards the larger values in the data set. Therefore, to avoid this inherent bias towards smaller values, the harmonic mean is used.
Take the example of the speed of a car, which is the measure of the rate of distance traveled. If the vehicle traverses the same distance back-and-forth, its average speed equals the total distance traveled divided by the total time taken. However, if the car moves with varying speeds, then the arithmetic mean is more skewed...
Take the example of the speed of a car, which is the measure of the rate of distance traveled. If the vehicle traverses the same distance back-and-forth, its average speed equals the total distance traveled divided by the total time taken. However, if the car moves with varying speeds, then the arithmetic mean is more skewed...
3.1K


