QuantumPEPS.jl

Projected entangled pair of states (PEPS), the quantum version
Author GiggleLiu
Popularity
18 Stars
Updated Last
12 Months Ago
Started In
July 2019

PEPS inspired quantum circuit ansatz

CI

To make life easier, here is a simplified notebook version of MPS inspired qubit saving scheme for VQE. For a PEPS inpired ansatz solving the J1-J2 square lattice model, please checkout the following content.

To Install

Type ] in a Julia REPL to enter the pkg mode, then type

pkg> dev https://github.com/GiggleLiu/QuantumPEPS.jl.git

To Run

First, enter the directory ~/.julia/dev/QuantumPEPS/ (the default development directory of Julia) in a terminal.

To run a toy example of J1-J2 model of size 4 x 4 with J2 = 0.5, type

julia> using QuantumPEPS

julia> Demo.j1j2peps(4, 4)   # QPEPS

julia> Demo.j1j2mps(4, 4)    # QMPS

To get some help on input arguments, type ? in the REPL to enter the help mode, and then type

help?> Demo.j1j2peps
  j1j2peps(nx::Int=4, ny::Int=4; depth::Int=5, nvirtual::Int=1,
                  nbatch::Int=1024, maxiter::Int=200,
                  J2::Float64=0.5, lr::Float64=0.1,
                  periodic::Bool=false, use_cuda::Bool=false, write::Bool=false)

  Faithful QPEPS traning for solving the J1-J2 hamiltonian ground state. Returns a triple of (optimizer, history, params).

  Positional Arguments
  ======================

    •  nx and ny are the square lattice sizes.

  Keyword Arguments
  ===================

    •  depth is the circuit depth, decides how many entangle layers between two measurements.

    •  nvirtual is the number of virtual qubits.

    •  nbatch is the batch size, or the number of shots.

    •  maxiter is the number of optimization iterations.

    •  J2 is the strength of the second nearest neighbor coupling.

    •  lr is the learning rate of the ADAM optimizer.

    •  periodic specifies the boundary condition of the lattice.

    •  use_cuda is true means uploading the code on GPU for faster computation.

    •  write is true will write training results to the data folder.

Reference

@article{Liu_2019,
	doi = {10.1103/physrevresearch.1.023025},
	url = {https://doi.org/10.1103%2Fphysrevresearch.1.023025},
	year = 2019,
	month = {sep},
	publisher = {American Physical Society ({APS})},
	volume = {1},
	number = {2},
	author = {Jin-Guo Liu and Yi-Hong Zhang and Yuan Wan and Lei Wang},
	title = {Variational quantum eigensolver with fewer qubits},
	journal = {Physical Review Research}
}

Download paper