Solertis / netket

Machine learning algorithms for many-body quantum systems

Home Page:https://www.netket.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Release Build Status Codacy Badge GitHub Issues License

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.

Major Features

  • Graphs

    • Built-in Graphs
      • Hypercube
    • Custom Graphs
      • Any Graph With Given Adjacency Matrix [from input file]
      • Any Graph With Given Edges [from input file]
    • Symmetries
      • Automorphisms: pre-computed in built-in graphs, available through iGraph for custom graphs
  • Hamiltonians

    • Built-in Hamiltonians
      • Transverse-field Ising
      • Heisenberg
      • Bose-Hubbard
    • Custom Hamiltonians
      • General k-local Hamiltonians defined on Graphs
      • Any k-local Hamiltonian [from input file]
  • Learning

    • Optimizers
      • Stochastic Gradient Descent
      • AdaMax, AdaDelta, AdaGrad, AMSGrad
      • RMSProp
      • Momentum
      • Gradient Clipping
    • Ground-state Learning
      • Gradient Descent
      • Stochastic Reconfiguration Method
        • Direct Solver
        • Iterative Solver for Large Number of Parameters
  • 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 wavefunction
      • Standard
      • With Permutation Symmetry Using Graph Isomorphisms
    • Custom Machines
      • Any Machine Satisfying Prototypes in AbstractMachine [extending C++ code]
  • Observables

    • Custom Observables
      • Any k-local Operator [from input file]
  • Sampling

    • Local Metropolis Moves
      • Local Hilbert Space Sampling
      • Parallel Tempering Versions
    • Hamiltonian Moves
      • Automatic Moves with Hamiltonian Symmetry
      • Parallel Tempering Versions
    • Custom Sampling
      • Any k-local Stochastic Operator can be used to do Metropolis Sampling
  • Statistics

    • Automatic Estimate of Correlation Times
  • I/O

    • Python/JSON Interface

Installation and Usage

Please visit our homepage for further information.

License

Apache License 2.0

About

Machine learning algorithms for many-body quantum systems

https://www.netket.org

License:Apache License 2.0


Languages

Language:C++ 98.7%Language:Python 0.6%Language:C 0.6%Language:CMake 0.1%Language:Makefile 0.0%Language:Shell 0.0%