From a8a7276c2112206a09a7b4f8f4fcbebbbd5469f1 Mon Sep 17 00:00:00 2001 From: Thibaut Lacroix <57836508+tfmlaX@users.noreply.github.com> Date: Mon, 16 Sep 2024 17:33:16 +0200 Subject: [PATCH] Add multi-site mpo --- src/models.jl | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/src/models.jl b/src/models.jl index 0a2c789..8b09750 100644 --- a/src/models.jl +++ b/src/models.jl @@ -1312,6 +1312,95 @@ function correlatedenvironmentmpo(R::Vector, Nm::Int, d::Int; chainparams, fname return W end +""" + multisitempo(N::Int, E=[]::Vector, J=[]::Vector, As=[]::Vector) + +Generate a MPO for a N-site multi-component system to be coupled with a correlated environment. + +# Arguments: +* `N`: number of sites +* `E`: list of on-site energies +* `J`: list of sites tunnelling energies +* `As`: list of system operators coupling to the environment + +""" +function multisitempo(N::Int, E=[]::Vector, J=[]::Vector, As=[]::Vector) + + if length(E)