NetKet is an open-source project delivering cutting-edge methods for the study of many-body quantum systems with artificial neural networks and machine learning techniques. It is a Python library built on JAX.
- Homepage: https://www.netket.org
- Citing: https://www.netket.org/citing
- Documentation: https://www.netket.org/documentation
- Tutorials: https://www.netket.org/tutorials
- Examples: https://github.com/netket/netket/tree/master/Examples
- Source code: https://github.com/netket/netket
Netket supports MacOS and Linux. We reccomend to install NetKet using pip
For instructions on how to install the latest stable/beta release of NetKet see the Getting Started section of our website.
If you wish to install the current development version of NetKet, which is the master branch of this GitHub repository, together with the additional dependencies, you can run the following command:
pip install 'git+https://github.com/netket/netket.git#egg=netket[all]'
You can also install the MPI-related dependencies by using [dev,mpi]
between the square brackets.
We recommend to install NetKet with all it's extra dependencies, which are documented below.
However, if you do not have a working MPI compiler in your PATH this installation will most likely fail because
it will attempt to install mpi4py
, which enables MPI support in netket.
The latest release of NetKet is always available on PyPi and can be installed with pip
.
NetKet is also available on conda-forge, however the version available through conda install
often lags behind the pip
version.
However, you can still install NetKet with pip inside conda environments.
To check what is the latest version released on both distributions you can inspect the badges at the top of this readme.
When installing netket with pip, you can pass the following extra variants as square brakets. You can install several of them by separating them with a comma.
- '[dev]': installs development-related dependencies such as black, pytest and testing dependencies
- '[mpi]': Installs
mpi4py
to enable multi-process parallelism. Requires a working MPI compiler in your path - '[extra]': Installs
tensorboardx
to enable logging to tensorboard, and openfermion to convert the QubitOperators. - '[all]': Installs all extra dependencies
To enable MPI support you must install mpi4jax. Please note that we advise to install mpi4jax with the same tool (conda or pip) with which you install it's dependency mpi4py
.
To check whever MPI support is enabled, check the flags
>>> import netket
>>> netket.utils.mpi.available
True
To get started with NetKet, we reccomend you give a look to our tutorials, by running them on your computer. There are also many example scripts that you can download, run and edit that showcase some use-cases of NetKet, although they are not commented.
If you want to get in touch with us, feel free to open an issue or a discussion here on GitHub, or to join the MLQuantum slack group where several people involved with NetKet hang out. To join the slack channel just accept this invitation