Representing spherical tensors with scalar-based machine-learning models

This repository bundles all workflows and data needed to reproduce the key figures in our manuscript. Each analysis lives in its own subfolder, complete with a dedicated README.md explaining how to run calculations and reproduce plots.

Machine-learning models are trained with metatrain v-2025.6, available on PyPI at https://pypi.org/project/metatrain and on GitHub at https://github.com/metatensor/metatrain.

Quantum chemistry calculations are performed with pyscfad v-0.1.10, available on PyPI at https://pypi.org/project/pyscfad and on GitHub at https://github.com/fishjojo/pyscfad.

Top-level files

  • environment.yml: Conda environment specification.

Subfolders

| Folder | Purpose | |-------------------------------------|------------------------------------------------------------| | comparison_with_lambda_soap/ | Learning-curve comparison of lambda-SOAP vs lambda-MCoV (Fig. 6) | | train_multiple_equivariants_qm7/| Learning multiple equivariant targets on a QM7 subset (Fig. 7)| | water_ir_spectrum/ | IR spectrum of liquid water at ambient conditions (Fig. 8) | | per_atom_equivariants_co2/ | BEC & Raman tensors for CO₂ with MCoV and lambda-MCoV (Fig. 9) |

Note: Each of the folders above contains its own README.md with detailed instructions:

comparison_with_lambda_soap/README.md  
train_multiple_equivariants_qm7/README.md  
water_ir_spectrum/README.md  
per_atom_equivariants_co2/README.md  

The data\ folders inside each subfoldr contain the datasets used to train and validate the models. Often target properties are stored in metatensor .mts format, which is just .npz files with a different extension to avoid confusion with generic .npz files. For more information, visit https://docs.metatensor.org/latest/core/reference/python/io.html#metatensor.save

Getting started

  1. Create environment

Create a conda environment with all the software required to run calculations and trainings and reproduce the results presented in the manuscript:

 conda env create -n lmcov_model -f environment.yml
 conda activate lmcov_model
  1. Choose an analysis

For example, to see how to reproduce Fig. 6:

cd comparison_with_lambda_soap  
less README.md
  1. Follow the steps in that folder’s README to run simulations, train models, and generate figures.