Skip to content

Luthaf/rascaline

Repository files navigation

Rascaline

Github Actions tests status Documentation Coverage Status

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.

List of implemented representations

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 and cell
SOAP radial spectrum Atoms are represented by 2-body correlations of their neighbors' density positions and cell
SOAP power spectrum Atoms are represented by 3-body correlations of their neighbors' density positions and 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 and cell

For details, tutorials, and examples, please have a look at our documentation.