-
Notifications
You must be signed in to change notification settings - Fork 5
Representation
In molecular modeling and machine learning-based potentials, selecting an appropriate representation of atomic-scale systems is crucial. The representation must capture both the geometric and physical properties of the system, enabling efficient interpolation across configurations. Additionally, it must respect the inherent symmetries of the problem, such as the rotational, translational, and permutational invariances that arise from the fundamental group O(3). These symmetries ensure that physically equivalent configurations produce identical predictions, a requirement for consistent statistical learning of energy and other molecular properties.
The Behler-Parrinello symmetry functions provide a framework for encoding the local atomic environment, capturing both radial and angular correlations around a central atom. These functions are widely used in neural network potentials due to their ability to represent atomic interactions while respecting key symmetries.
The radial symmetry function, often denoted as
where
Angular symmetry functions, such as
where
These symmetry functions have been successfully employed in several neural network potentials, including SchNet, PaiNN, PhysNet and AIMNet2, to accurately model atomic interactions while preserving rotational, translational, and permutational invariance.
For further reading: Imbalzano, Giulio, Andrea Anelli, Sinja Klees, J. Örg Behler, and Michele Ceriotti. 2018. “Automatic Selection of Atomic Fingerprints and Reference Configurations for Machine-Learning Potentials.” arXiv. http://arxiv.org/abs/1804.02150.
To capture electronic structure more explicitly, Fourier-Bessel functions have emerged as a promising alternative. These functions form an invariant basis set for representing the wavefunction of a system, making them well-suited for modeling properties derived from quantum mechanical calculations like density functional theory (DFT). The spherical Bessel functions are part of the solutions to the Schrödinger equation under a zero potential
with boundary conditions
The general form of the wave function in this representation, using spherical Bessel functions of the first and second kind
where:
-
$d$ is the radial distance -
$\alpha$ and$\phi$ are the angular coordinates in spherical coordinates (polar and azimuthal angles, respectively) -
$l$ is the orbital/angular momentum quantum number -
$m$ is the magnetic quantum number, ranging from -l to l -
$k$ is the wavenumber, related to the spatial frequency or energy of the system -
$a_{l,m}$ and$b_{l,m}$ are coefficients that scale the spherical Bessel functions and are typically determined through boundary conditions or fitting to data -
$j_l(kd)$ and$y_l(kd)$ is the spherical Bessel function of the first and second kind, representing the radial dependence. -
$Y_l^m(\alpha, \phi)$ are the spherical harmonics, which describe the angular part of the wave function.
To simplify the expression to a form dependent only on the radial distance
-
$b_{l,m}=0$ to zero -
$m=0$ to map to 2D space
This leads to the following 2D spherical Fourier-Bessel basis, where the function depends only on
where:
-
$z_{l,n}$ is the n-th root of the spherical Bessel function, discretizing the wavenumber based on the boundary conditions -
$c$ is a normalization constant related to the system size (cutoff radius) -
$j_{l}$ and$j_{l+1}$ are spherical Bessel functions -
$Y_l^0$ is the spherical harmonic for$m=0$
Fourier-Bessel representations are particularly effective at capturing spatial oscillations of quantities like the electron density. Since these basis functions naturally arise from the Schrödinger equation, they provide a framework that maintains the physical properties of the system, such as orthogonality and completeness, while ensuring that the wavefunction obeys boundary conditions.
This representation is used in DimNet and DimNet++.
The PhysNet/Tensornet radial basis function (RBF) is fundamentally different from the Ani and SchNet RBFs due to its use of an exponential transformation of the distances. This transformation compresses the input distances, resulting in non-uniform spacing of the peaks when plotted against the original distances.
Because of the exponential transformation, the centers of the Gaussian functions are not equally spaced in the original distance domain. Instead, they are equally spaced in the transformed domain (after applying the exponential function). This means:
- in the original distance domain, the peaks will appear closer together at smaller distances and further apart at larger distances (i.e., peaks are compressed towards smaller distances)
- compared to ANI and SchNet RBFs, which use linear transformations, the PhysNet/Tensornet RBF will naturally show peaks that do not align or have the same spacing.
The following plot shows the RBFs of the three different implementations (SchNet, PhysNet and ANI), each using 100 radial basis functions for
distances = torch.tensor([[0.5], [1.0], [1.5]], dtype=torch.float32) / 10
number_of_radial_basis_functions = 100
max_distance = 2.0 / 10
min_distance = 0.0