by netket

netket / netket

Machine learning algorithms for many-body quantum systems

220 Stars 90 Forks Last release: 6 months ago (v2.1.1) Apache License 2.0 1.8K Commits 12 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:



Release Anaconda-Server Badge Build Status GitHub Issues Paper License Binder

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 C++ primitives.

Installation and Usage

You can install on osx or linux with either - pip :

pip install netket
- conda :
conda install conda-forge::netket

Conda by default ships pre-built binaries for recent versions of python. The default blas library is openblas, but mkl can be enforced.

To learn more, check out the website or the examples.

Major Features

  • Graphs

    • Built-in Graphs
    • Hypercube
    • General Lattice with arbitrary number of atoms per unit cell
    • Custom Graphs
    • Any Graph With Given Adjacency Matrix
    • Any Graph With Given Edges
    • Symmetries
    • Automorphisms: pre-computed in built-in graphs, available through iGraph for custom graphs
  • Quantum Operators

    • Built-in Hamiltonians
    • Transverse-field Ising
    • Heisenberg
    • Bose-Hubbard
    • Custom Operators
    • Any k-local Hamiltonian
    • General k-local Operator defined on Graphs
  • Variational Monte Carlo

    • Stochastic Learning Methods for Ground-State Problems
    • Gradient Descent
    • Stochastic Reconfiguration Method
      • Direct Solver
      • Iterative Solver for Large Number of Parameters
  • Exact Diagonalization

    • Full Solver
    • Lanczos Solver
    • Imaginary-Time Dynamics
  • Supervised Learning

    • Supervised overlap optimization from given data
  • Neural-Network Quantum State Tomography

    • Using arbitrary k-local measurement basis
  • Optimizers

    • Stochastic Gradient Descent
    • AdaMax, AdaDelta, AdaGrad, AMSGrad
    • RMSProp
    • Momentum
  • Machines

    • Restricted Boltzmann Machines
    • Standard
    • For Custom Local Hilbert Spaces
    • With Permutation Symmetry Using Graph Isomorphisms
    • Feed-Forward Networks
    • For Custom Local Hilbert Spaces
    • Fully connected layer
    • Convnet layer for arbitrary underlying graph
    • Any Layer Satisfying Prototypes in
      [extending C++ code]
    • Jastrow States
    • Standard
    • With Permutation Symmetry Using Graph Isomorphisms
    • Matrix Product States
    • MPS
    • Periodic MPS
    • Custom Machines
    • Any Machine Satisfying Prototypes in
      [extending C++ code]
  • Observables

    • Custom Observables
    • Any k-local Operator
  • Sampling

    • Local Metropolis Moves
    • Local Hilbert Space Sampling
    • Hamiltonian Moves
    • Automatic Moves with Hamiltonian Symmetry
    • Custom Sampling
    • Any k-local Stochastic Operator can be used to do Metropolis Sampling
    • Exact Sampler for small systems
  • Statistics

    • Automatic Estimate of Correlation Times
  • Interface

    • Python Library
    • JSON output


Apache License 2.0

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.