MPSKit.jl

Contains code for tackling 1 dimensional (quantum) problems using tensor network algorithms.
Popularity
73 Stars
Updated Last
1 Year Ago
Started In
February 2020

MPSKit.jl

docs codecov CI

Contains code for tackling 1 dimensional quantum (and 2d classical) problems using tensor network algorithms. While it is still in beta, exported algorithms should just work. If you encounter an issue, feel free to open a bug report.

We implemented different algorithms for finding the groundstate (both finite and infinite systems), performing time evolution, finding excitations and much more. Check out the tutorials or examples (the documentation itself is still quite terse).

Installation

First, install this package by opening julia and pressing "]". Then type

pkg> add MPSKit

MPSKit works on Tensormap objects, which are defined in another package. You will have to add this pacakge as well to create the basic building blocks.

pkg> add TensorKit

Last but not least, we have already implemented a few hamiltonians in MPSKitModels.jl. It is recommended to install this package too.

pkg> add MPSKitModels

Quickstart

After following the installation process, you should now be able to call

julia> using MPSKit,MPSKitModels,TensorKit

You can create a random 1 site periodic infinite mps (bond dimension 10) by calling

julia> state = InfiniteMPS([ℂ^2],[ℂ^10]);

We can use a pre-defined hamiltonian from MPSKitModels

julia> hamiltonian = nonsym_ising_ham();

And find the groundstate

julia> (groundstate,_) = find_groundstate(state,hamiltonian,VUMPS());