# Computational complexity of applying a series of MPO on a reduced density matrix

**URL:** <https://itensor.discourse.group/t/computational-complexity-of-applying-a-series-of-mpo-on-a-reduced-density-matrix/1242>\
**Category:** DMRG and Numerical Methods\
**Tags:** julia, mpo\
**Created:** [October 23, 2023, 8:03pm UTC](https://itensor.discourse.group/t/computational-complexity-of-applying-a-series-of-mpo-on-a-reduced-density-matrix/1242 "2023-10-23T20:03:30Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Brian-Khor](https://yyz2.discourse-cdn.com/free1/user_avatar/itensor.discourse.group/brian-khor/32/297_2.png) [@Brian-Khor](https://itensor.discourse.group/u/Brian-Khor)\
**Post date:** [October 23, 2023, 8:03pm UTC](https://itensor.discourse.group/t/computational-complexity-of-applying-a-series-of-mpo-on-a-reduced-density-matrix/1242/1 "2023-10-23T20:03:30Z")

</div>

This question is related to my previous thread/question:

> [@Computational complexity of constructing the reduced density matrix of an MPS](https://itensor.discourse.group/t/computational-complexity-of-constructing-the-reduced-density-matrix-of-an-mps/1241):
>
> Hi admin, This is probably a standard question with some literature reference and answer but my question here is: Given an MPS $$| \psi \rangle$$, say, I want to construct a bipartite reduced density matrix (where I trace out either left half or right half of a 1D MPS wavefunction to obtain $$\rho\_L$$ or $$\rho\_R$$ depending on which half I trace out). My algorithm works as follows: (1) Outer product of $$| \psi \rangle$$ with itself. (2) Say, I want to keep left half and trace out right hal…

Given a reduced density matrix $$\rho\_L$$ of size $$L/2$$ over a spin chain (traced out the right half of the spin chain from outer product of MPS), now I want to successively apply MPO $$e^{i \sigma\_i^z \sigma\_{i+1}^z}$$ for $$i= 1, \dots, L/2 -1$$ to the reduced density matrix MPO $$\rho\_L$$, so I construct a for loop of the “ITensors.apply” method from the documentation below (under “Algebra Operations”, for the one with 2 MPOs) to apply the MPO from $$i = 1, \dots, L/2 -1$$ :

[https://itensor.github.io/ITensors.jl/stable/MPSandMPO.html](https://itensor.github.io/ITensors.jl/stable/MPSandMPO.html)

What is the computational complexity of such operations, on relevant parameters? (In this case I’m not entirely sure of which parameters are relevant, like bond dimension of $$\rho\_L$$, dimension of the two-site operators, etc?)
