Skip to content

Latest commit

 

History

History
49 lines (36 loc) · 3.03 KB

README.md

File metadata and controls

49 lines (36 loc) · 3.03 KB

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. (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.

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.