This is a package that constructs the adiabatic gauge potential (AGP) as a matrix product operator (MPO), which can be used to adiabatically evolve matrix product states (MPSs), using an algorithm introduced in arXiv:2311.00748. The package is built using the ITensors.jl and ITensorMPS.jl libraries.
This package is currently not registered. You can install it with:
julia> using Pkg: Pkg
julia> Pkg.add(url="https://github.com/ITensor/ITensorAGP.jl.git")
For example, to compute the AGP of the Hamiltonian H::MPO
with perturbation dH::MPO
, you can use the agp
function:
using ITensorAGP: agp
AGP, ls_error = agp(H, dH; cutoff=1e-6, nsweeps=10, maxdim=40)
Given the MPOs H
and dH
, this code constructs the AGP as an MPO using the linsolve
function in ITensorMPS.jl, which calls the linsolve
function in KrylovKit.jl.