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
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CMakeModules Let's try PyTorch's FindOpenMP.cmake Jun 17, 2019
Docs
Examples Fix derivatives in PyRbm Jun 26, 2019
Sources
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
.gitignore
.travis.yml
CMakeLists.txt Set lapack off by default because of Eigen bug Sep 18, 2019
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md May 21, 2018
CONTRIBUTING.md
LICENSE Add license Apr 23, 2018
MANIFEST.in Rename C++ sources directory from NetKet to Sources Jun 5, 2019
README.md 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
setup.py Update setup.py Aug 16, 2019

README.md

Release Build Status GitHub Issues Paper License Binder

NetKet

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.

License

Apache License 2.0

You can’t perform that action at this time.