Skip to content

Latest commit

 

History

History
124 lines (94 loc) · 5.64 KB

README.md

File metadata and controls

124 lines (94 loc) · 5.64 KB

Lifecycle: experimental

Q-stack

qstack logo

Contents

About

Q-stack is a stack of codes for dedicated pre- and post-processing tasks for Quantum Machine Learning (QML). It is a work in progress. Stay tuned for updates!

For now, we link to the relevant packages that will be incorporated (among others):

Install

The installation of the library for python use can be done executing one of the following commands:

python -m pip install git+https://github.com/lcmd-epfl/Q-stack.git
python -m pip install "qstack @ git+https://github.com/lcmd-epfl/Q-stack.git"
python -m pip install "qstack[all] @ git+https://github.com/lcmd-epfl/Q-stack.git"

The last one is recommended if you do not know which features you wish to use, since they pull the dependencies required with all 'optional' parts of Q-stack.

If you want to be able to edit Q-stack's code after installing, you need to download it yourself, for instance with this series of commands

git clone https://github.com/lcmd-epfl/Q-stack
cd Q-stack

#optionally, run the following line, if you want to be extra-careful about reproducibility, by installing a well-known version of all dependencies
python -m pip install -r requirements.py3.11.txt   # (or "requirements.py3.9.txt" if you have an older version of python and that first file doesn't work)

python -m pip install -e .[all]    # note: this translates as "install as '-e'ditable, install from this directory ('.'), with optional feature 'all'"

For the optional step above, we also have an environment.yml file available, if you prefer working with conda environments.

A small part of Q-stack, isolated in the qstack_qml module name, can be installed on its own, see the qstack-qml subdirectory's readme.

Examples

Q-stack comes with several example codes that illustrate some of its key capabilities. To run the examples, go to the example folder and run the following commands:

  • Field decomposition:
python example_deco.py
  • Computation of Hirshfeld charges:
python example_hirsh.py
  • Basis set optimization:
python example_opt.py
  • Generation of the SPAHM representation:
python example_SPAHM.py
  • An example for the structure-based reaction representations ($B^2R^2$ and $\mathrm{SLATM}_d$) will follow shortly

References

  • A. Fabrizio, A. Grisafi, B. Meyer, M. Ceriotti, and C. Corminboeuf, “Electron density learning of non-covalent systems”, Chem. Sci. 10, 9492 (2019) DOI

  • A. Fabrizio, K. R. Briling, D. D. Girardier, and C. Corminboeuf, “Learning on-top: regressing the on-top pair density for real-space visualization of electron correlation”, J. Chem. Phys. 153, 204111 (2020) DOI

  • S. Vela, A. Fabrizio, K. R. Briling, and C. Corminboeuf, “Machine-learning the transition density of the productive excited states of azo-dyes” J. Phys. Chem. Lett. 12, 5957–5962 (2021) DOI

  • K. R. Briling, A. Fabrizio, and C. Corminboeuf, “Impact of quantum-chemical metrics on the machine learning prediction of electron density”, J. Chem. Phys. 155, 024107 (2021) DOI

  • A. Fabrizio, K. R. Briling, and C. Corminboeuf, “SPAHM: the Spectrum of Approximated Hamiltonian Matrices representations”, Digital Discovery 1, 286–294 (2022) DOI

  • K. R. Briling, Y. Calvino Alonso, A. Fabrizio, and C. Corminboeuf, “SPAHM(a,b): Encoding the Density Information from Guess Hamiltonian in Quantum Machine Learning Representations”, J. Chem. Theory Comput. 20, 1108–1117 (2024) DOI

  • P. van Gerwen, A. Fabrizio, M. Wodrich, and C. Corminboeuf, “Physics-based representations for machine learning properties of chemical reactions”, Mach. Learn.: Sci. Technol. 3, 045005 (2022) DOI

Acknowledgements

The authors of Q-stack acknowledge the National Centre of Competence in Research (NCCR) "Materials' Revolution: Computational Design and Discovery of Novel Materials (MARVEL)" of the Swiss National Science Foundation (SNSF, grant number 182892) and the European Research Council (ERC, grant agreement no 817977).

acknowledgements logos