Skip to content

cevenkadir/NeuralQuantumStates.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeuralQuantumStates.jl

Neural quantum states in Julia

Dev Build Status Coverage Code Style: Blue

NeuralQuantumStates.jl aims to provide a Julia package for training neural quantum states (NQS) using the variational Monte Carlo (VMC).

Project status

This package is a work in progress. Most of the functionality still needs to be implemented. The performance still needs to be optimized for both CPU and GPU. The API for this package might still be unstable.

Installation

If you still want to try it out, you can install it from the Julia REPL by entering:

julia> import Pkg; Pkg.add("https://github.com/cevenkadir/NeuralQuantumStates.jl")

Documentation

For information on using this package, check out the in-development documentation.

Development goals

  • Lattices module to generate any Bravais lattice.
  • Networks module to generate canonical artificial neural networks (ANN) via Flux.jl.
  • VarStates module to define variational quantum states.
  • Hilberts module to define Hilbert spaces.
  • Operators module to define arbitrary quantum operators on a computational basis.
  • Samplers module to sample variational quantum states with Markov chain Monte-Carlo (MCMC) methods.
  • Handlers module to optimize variational quantum states with gradient-based methods.
  • Support for distributed and parallel computing via MPI.jl.
  • GPU support via CUDA.jl, AMDGPU.jl, and Metal.jl.

Bugs report and feature requests

If you think you have found a bug or have a feature request, you can open an issue.

Citation

If you use this package in your work, we would appreciate the following reference as in CITATION.bib.

Acknowledgements

This package is mainly inspired by the Python libraries of NetKet and jVMC.