Hey everyone, I am rather new to MPS so please forgive the naive question. I want to replicate the results from the paper, https://arxiv.org/pdf/1702.04210.pdf, to learn MPS methods. The primary quantity of interests is the spin density,

$$ s(x, t) = \text{tr} (\rho (t) S^{z}_{x})$$, where x is the spin-site. In this work, they prepare the system in a "soft" domain wall density matrix.

My approach: The way I went about this is by thinking of the density matrix as an MPO and then evolve this in time using trotterisation methods. The first problem, I have is computing the $$\text{tr} (\rho (t) S^{z}_{x})$$. You can't just use the "*" method to contract the MPO's and then trace.

My first question is how to perform this operation correctly?

My solution attempt: I just went ahead and calculated real(inner(rho(t), S^z)) for each site which matches small scale exact diagonalization methods, but I am not sure if this is still correct. Here I just used a density matrix made from a Neel state

My second question is how to go about making this initial density matrix as an MPO?

My solution attempt: I first wrote a function in Julia that can create the matrix for this soft domain wall state. I then define the necessary site indices and convert to an MPO but it doesn't have the correct structure and also this won't work for large N because it explicitly makes the matrix.

Any feedback or ides is much appreciated