NeuralQuantumStates.jl aims to provide a Julia package for training neural quantum states (NQS) using the variational Monte Carlo (VMC).
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.
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")
For information on using this package, check out the in-development documentation.
-
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. (work in progress) -
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.
If you think you have found a bug or have a feature request, you can open an issue.
If you use this package in your work, we would appreciate the following reference as in CITATION.bib.
This package is mainly inspired by the Python libraries of NetKet and jVMC.