Skip to main content

Netket : Machine Learning toolbox for many-body quantum systems.

Project description

logo

NetKet

Release Anaconda-Server Badge Paper (v3) codecov Slack

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.

Installation and Usage

NetKet runs on MacOS and Linux. We recommend to install NetKet using pip, but it can also be installed with conda. It is often necessary to first update pip to a recent release (>=20.3) in order for upper compatibility bounds to be considered and avoid a broken installation. For instructions on how to install the latest stable/beta release of NetKet see the Get Started page of our website or run the following command (Apple M1 users, follow that link for more instructions):

pip install --upgrade pip
pip install --upgrade netket

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 --upgrade pip
pip install 'git+https://github.com/netket/netket.git#egg=netket[all]'

To speed-up NetKet-computations, even on a single machine, you can install the MPI-related dependencies by using [mpi] between square brackets.

pip install --upgrade pip
pip install --upgrade "netket[mpi]"

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 can be slightly out of date compared to PyPi. To check what is the latest version released on both distributions you can inspect the badges at the top of this readme.

Extra dependencies

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

MPI Support

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 whether MPI support is enabled, check the flags

>>> import netket
>>> netket.utils.mpi.available
True

Getting Started

To get started with NetKet, we recommend you give a look at our tutorials page, by running them on your computer or on Google Colaboratory. 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

License

Apache License 2.0

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netket-3.14.4.post1.tar.gz (422.8 kB view details)

Uploaded Source

Built Distribution

netket-3.14.4.post1-py3-none-any.whl (684.3 kB view details)

Uploaded Python 3

File details

Details for the file netket-3.14.4.post1.tar.gz.

File metadata

  • Download URL: netket-3.14.4.post1.tar.gz
  • Upload date:
  • Size: 422.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for netket-3.14.4.post1.tar.gz
Algorithm Hash digest
SHA256 5fb3b832c513953dd12351b724b76a0fa10ad09e814b3418633aa884458236bc
MD5 078317a2ec6579e910526c4bf5f21001
BLAKE2b-256 eb83341cc152ca079ddfce0dae5415a876e5a63678d430a83069e5ebb44a9fab

See more details on using hashes here.

Provenance

The following attestation bundles were made for netket-3.14.4.post1.tar.gz:

Publisher: publish.yml on netket/netket

Attestations:

File details

Details for the file netket-3.14.4.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for netket-3.14.4.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 522b54deaec513cd3e1dba0c9e0f4daf5791be94a0bad5d560b9836b5d66caa3
MD5 c376b3d05789025e02a5b52f17c0dc15
BLAKE2b-256 9e7e6625b595874d1d575d4ae7199a04ab66c07ea016cdbdb58b620849cdcdd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for netket-3.14.4.post1-py3-none-any.whl:

Publisher: publish.yml on netket/netket

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page