Skip to content
Machine learning algorithms for many-body quantum systems
C++ Jupyter Notebook CMake Python
Branch: master
Clone or download
gcarleo Merge pull request #295 from netket/lapack_off
Set lapack off by default because of Eigen bug
Latest commit ef3ff32 Sep 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
CMakeModules Let's try PyTorch's FindOpenMP.cmake Jun 17, 2019
Examples Fix derivatives in PyRbm Jun 26, 2019
Test revert test_sampler explicit call Jul 2, 2019
Tutorials Use already existing lapacke cmake module Jul 19, 2019
netket Use numpy in full_ed Jul 19, 2019
.clang-format Change sweep size to be odd by default Jul 2, 2019
CMakeLists.txt Set lapack off by default because of Eigen bug Sep 18, 2019 Create May 21, 2018
LICENSE Add license Apr 23, 2018 Rename C++ sources directory from NetKet to Sources Jun 5, 2019 Update binder link and add arXiv link Aug 25, 2019
environment.yml Simplifying binder build (no more blas or lapack Aug 16, 2019
postBuild Simplifying binder build (no more blas or lapack Aug 16, 2019 Update Aug 16, 2019

Release 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.

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 AbstractLayer [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 AbstractMachine [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

Installation and Usage

Please visit our homepage for further information.


Apache License 2.0

You can’t perform that action at this time.