BetaVQE.jl

Solving Quantum Statistical Mechanics with Variational Autoregressive Networks and Quantum Circuits
Author wangleiphy
Popularity
15 Stars
Updated Last
3 Months Ago
Started In
December 2019
logo

Solving Quantum Statistical Mechanics with Variational Autoregressive Networks and Quantum Circuits

Build Status

Setup

Clone this repo, add dependancies by typing ] in a Julia REPL, and then

pkg> add Yao YaoExtensions
pkg> add StatsBase Zygote Flux JLD2 FileIO Fire
pkg> dev https://github.com/wangleiphy/VAN.jl.git 
pkg> dev .

To make sure it works, type

julia test/runtests.jl

in a terminal to run tests.

Run

Run this to train the transverse field Ising model

julia runner.jl learn 2 2 2.0 2.0

This utility accepts the following arguments

  • nx::Int=2, lattice size in x direction,
  • ny::Int=2, lattice size in y direction,
  • Γ::Real=1.0, the strength of transverse field,
  • β::Real=1.0, inverse temperature,

and keyword arguments

  • depth::Int=5, circuit depth,
  • nsamples::Int=1000, the batch size used in training,
  • nhiddens::Vector{Int}=[500], dimension of the VAN's hidden layer,
  • lr::Real=0.01, the learning rate of the ADAM optimizer,
  • niter::Int=500, number of iteration,
  • cont::Bool=false, continue from checkpoint if true.

Paper

arXiv:1912.11381