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.
-
Graphs
- Built-in Graphs
- Hypercube
- Custom Graphs
- Any Graph With Given Adjacency Matrix [from input file]
- Any Graph With Given Edges [from input file]
- Built-in Graphs
-
Hamiltonians
- Built-in Hamiltonians
- Transverse-field Ising
- Heisenberg
- Bose-Hubbard
- Custom Hamiltonians
- Any k-local Hamiltonian [from input file]
- Built-in Hamiltonians
-
Learning
- Steppers
- Stochastic Gradient Descent
- AdaMax
- Ground-state Learning
- Gradient Descent
- Stochastic Reconfiguration Method
- Direct Solver
- Iterative Solver for Large Number of Parameters
- Steppers
-
Machines
- Restricted Boltzmann Machines
- Standard
- For Custom Local Hilbert Spaces
- With Permutation Symmetry Using Graph Isomorphisms
- Custom Machines
- Any Machine Satisfying Prototype of Abstract Machine [extending C++ code]
- Restricted Boltzmann Machines
-
Observables
- Custom Observables
- Any k-local Operator [from input file]
- Custom Observables
-
Sampling
- Local Metropolis Moves
- Local Hilbert Space Sampling
- Parallel Tempering Versions
- Hamiltonian Moves
- Automatic Moves with Hamiltonian Symmetry
- Parallel Tempering Versions
- Local Metropolis Moves
-
Statistics
- Automatic Estimate of Correlation Times
-
I/O
- Python/JSON Interface
Please visit our homepage for further information.