xnn.cnn.models.spherical#
Spherical CNN (Cohen, Geiger, Koehler, Welling, ICLR 2018).
Rotation-equivariant convolutions for signals on the sphere S^2 and on
the rotation group SO(3), built from the manuscript (arXiv:1801.10130)
and the conventions of its reference implementation
(jonas-koehler/s2cnn), without using its code:
signals are sampled on the Driscoll-Healy grids of the paper:
S^2atbeta_j = pi (2j + 1) / 4b,alpha_k = 2 pi k / 2b(j, k < 2b) andSO(3)at the ZYZ Euler angles(beta_j, alpha_k, gamma_l)for a bandwidthb(Appendix A; the axes of a signal tensor arebeta, alphaandbeta, alpha, gamma);the generalized Fourier transform (eq 8, 21) expands a signal in the Wigner D-functions
D^l_{mn}(alpha, beta, gamma) = e^{i m alpha} d^l_{mn}(beta) e^{i n gamma}(Y^l_m = D^l_{m0}on the sphere, footnote 3), with the Wigner d-matricesd^l(beta) = exp(-i beta J_y)evaluated by the eigendecomposition of the spin matrixJ_y(exact in float64 at any degree) and the quadrature weights of the grid, and its inverse is eq 9; the transforms are a translational FFT over thealpha(andgamma) axis followed by a contraction overbetawith the sampledd(Sec. 4.1);the correlations
[psi * f](R) = <L_R psi, f>(eq 4 and 6) are computed in the spectrum by the Fourier theorems of Appendix D,f^l psi^l+(an outer product ofS^2spectra, a matrix product ofSO(3)spectra), with the filterpsiparameterized by its values on a small set of grid points (a local patch around the north pole or identity, or a ring around the equator) and transformed with the same basis functions;so3_integrate()is the invariant integral overSO(3)(eq 11),so3_rotate()/s2_rotate()rotate a signal exactly in the spectrum (L_R fof eq 1 and 5), which is what the equivariance checks of Sec. 5.1 use.
SphericalCNN is the interatomic potential of Sec. 5.4: every atom
carries the spherical signals of SphericalGrid
(one Coulomb-like potential channel per species on a sphere around the
atom), a stack of ResNet blocks of S^2 / SO(3) correlations maps
them to features on SO(3), the integral over SO(3) gives the
invariant per-atom features, and the readout the energy; the paper’s
DeepSet readout is available as an option. Needs no e3nn.
Functions
|
Channels and bandwidths of |
|
The rotation matrix |
ZYZ Euler angles |
|
Quadrature weights |
|
|
Points |
|
Unit vectors |
|
|
|
Points |
|
|
|
The |
|
The |
|
Rotations |
Integral of |
|
|
|
|
Rotations |
|
|
|
|
|
Wigner d-matrix |
|
|
Classes
|
|
|
Spherical harmonic transform between the |
|
|
|
Fourier transform between the |
|
Spherical CNN interatomic potential (Cohen et al., ICLR 2018, Sec. |
|
ResNet block of the QM7 network (Sec. |