Skip to content

Stack of codes for dedicated pre- and post-processing tasks for Quantum Machine Learning (QML)

License

Notifications You must be signed in to change notification settings

lcmd-epfl/Q-stack

Repository files navigation

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

About

Stack of codes for dedicated pre- and post-processing tasks for Quantum Machine Learning (QML)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages