Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
IndexedGraphs = "8a731c18-cfb7-4915-927e-cc26b56b67cd"
JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
KrylovKit = "0b1a1467-8014-51b9-945f-bf0ae24f4b77"
Lazy = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MPSKit = "bb1c41ca-d63c-52ed-829e-0820dda26502"
Expand All @@ -37,10 +36,9 @@ ForwardDiff = "0.10"
Graphs = "1.12.0"
IndexedGraphs = "0.6.1"
JLD2 = "0.5.9"
KrylovKit = "0.6"
Lazy = "0.15"
LinearAlgebra = "1.8"
MPSKit = "0.10"
MPSKit = "0.11.5"
MatrixProductBP = "0.8"
Pkg = "1.9"
ProgressMeter = "1.9"
Expand Down
13 changes: 6 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# InfiniteMatrixProductBP

Code for the article [Nonequilibrium steady-state dynamics of Markov processes on graphs](https://arxiv.org/abs/2411.19100).

To use the package on your own stochastic dynamics, check out the syntax of [MatrixProductBP.jl](https://github.com/stecrotti/MatrixProductBP.jl) and [TensorTrains.jl](https://github.com/stecrotti/TensorTrains.jl). Code in this repo only adds functionalities to truncate infinite tensor trains and can be used to reproduce the results in the article.
Code for the article "Nonequilibrium steady-state dynamics of Markov processes on graphs" ([arXiv:2411.19100](https://arxiv.org/abs/2411.19100)).

## Installation
On Julia >= 1.9, run
Expand All @@ -11,9 +9,10 @@ import Pkg; Pkg.add(url="https://github.com/stecrotti/InfiniteMatrixProductBP.jl
```

## Usage
Begin in the home directory of the package and run
To play around with the method on your own stochastic dynamics, check out the syntax of [MatrixProductBP.jl](https://github.com/stecrotti/MatrixProductBP.jl) and [TensorTrains.jl](https://github.com/stecrotti/TensorTrains.jl) where most of the source code lies. Code in this repo only adds functionalities to truncate infinite tensor trains and can be used to reproduce the results in the article.

To reproduce results in the article, clone the repo, begin in the main directory and run
```julia
include("setup.jl")
import Pkg; Pkg.activate(".")
```

To reproduce results in the article, run scripts from `/scripts/`, which will save data to `/data/`. Generate plots via [/scripts/plots.ipynb](/scripts/plots.ipynb).
then run scripts from `/scripts/`, which will save data to `/data/`. Generate plots via [/scripts/plots.ipynb](/scripts/plots.ipynb).
10 changes: 0 additions & 10 deletions setup.jl

This file was deleted.

2 changes: 1 addition & 1 deletion src/InfiniteMatrixProductBP.jl
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ function truncate_vumps(A::Array{F,3}, d;
ψ₀ = InfiniteMPS([t])
II = DenseMPO([add_util_leg(id(storagetype(site_type(ψ₀)), physicalspace(ψ₀, i)))
for i in 1:length(ψ₀)])
alg = VUMPS(; maxiter, kw_vumps...) # variational approximation algorithm
alg = VUMPS(; maxiter, verbosity=0, kw_vumps...) # variational approximation algorithm
# alg = IDMRG1(; maxiter)
@assert typeof(ψ) == typeof(ψ₀)
ψ_, = approximate(ψ, (II, ψ₀), alg) # do the truncation
Expand Down