Rascaline is a library for the efficient computing of representations for atomistic machine learning also called "descriptors" or "fingerprints". These representations can be used for atomistic machine learning (ml) models including ml potentials, visualization or similarity analysis.
The core of the library is written in Rust and we provide APIs for C/C++ and Python as well.
Warning
Rascaline is still as the proof of concept stage. You should not use it for anything important.
representation | description | gradients |
---|---|---|
Spherical expansion | Atoms are represented by the expansion of their neighbor's density on radial basis and spherical harmonics. This is the core of representations in SOAP (Smooth Overlap of Atomic Positions) | positions, strain, cell |
SOAP radial spectrum | Atoms are represented by 2-body correlations of their neighbors' density | positions, strain, cell |
SOAP power spectrum | Atoms are represented by 3-body correlations of their neighbors' density | positions, strain, cell |
LODE Spherical Expansion | Core of representations in LODE (Long distance equivariant) | positions |
Sorted distances | Each atom is represented by a vector of distance to its neighbors within the spherical cutoff | no |
Neighbor List | Each pair is represented by the vector between the atoms. This is intended to be used as a starting point for more complex representations | positions |
AtomicComposition | Obtaining the stoichiometric information of a system | positions, strain, cell |
For details, tutorials, and examples, please have a look at our documentation.