librascal
librascal copied to clipboard
Behler-related implementation details
Writing an issue for myself as a reminder to check these things: For gradients:
- store intermediate results without summation (needed for kernel partial derivatives)
Behler Angular symmetry functions, implementation questions:
- precomputation of distances^2
- precomputation of cos_theta (not only the angle, but directly the cos)
- prefactor 2^(1-zeta) multiplication outside?
- n2p2 uses r_ij = r_i - r_j (!) for distances
- derivatives for angular narrow: 3x cos_theta
- usage of collinear/non-collinear derivatives
- SymmetryFunction::Order switch for Angular1/2: different number of arguments in function?
- Calculation of triplet-cutoffs where in
BehlerFeature
or inCalculator
of some sort? -
compute_helper
of cutoff function: distinction between PairOrder and TripletOrder - same interface for angular wide/narrow, argument list is one more for the narrow - the distance between the j and k atom.