NetKet: The Machine Learning Toolbox for Quantum Physics

NetKet: The Machine Learning Toolbox for Quantum Physics#

NetKet is a suite for using Machine-Learning methods to numerically study many-body quantum systems and available for use in Python. The purpose of this package is to supply efficient and flexible building blocks to write novel algorithms as well as to provide simple, easy to use implementations of established algorithms.

NetKet is built on top of Jax, a framework for Differentiable Programming which works on CPUs, GPUs and TPUs. Neural Network architectures can be specified using any Jax-based framework such as Flax.

Some of the tasks that NetKet can be used for are:

  • Variational Ground State search

  • Variational dynamics

  • Variational tomography

  • Bosonic and Fermionic models

NetKet includes those interesting :

  • Support for arbitrary periodic Lattices

    • Automatic generation of symmetry groups and character tables

  • Implementation of Autoregressive Neural Networks

  • Implementation of symmetry-invariant and -equivariant networks.

Getting Started and Tutorials#

The best way to learn how to use NetKet is to follow along the tutorials listed in the tutorial section on the left navigation bar. The first few tutorial, Ising model: ground-state search, gives a very broad overview of the workflow when working with NetKet, and how to define a Neural-Network quantum state. Then, you can move on to more advanced tutorials.

All notebooks can be launched on Google Colab (an online python environment) by clicking on the small rocket icon on the top bar. We suggest you to read them while executing them on Colab to experiment.

If you have questions, don’t hesitate to start a discussion on the Github forum.

Supporting and Citing#

The software in this ecosystem was developed as part of academic research. If you would like to help support it, please star the repository as such metrics may help us secure funding in the future. If you use NetKet software as part of your research, teaching, or other activities, we would be grateful if you could cite our work.

Guidelines on citation are provided in the Citation section of our website.

Table of Contents#

Getting Started

Tutorials