# Entanglement entropy of multiple partitions

Hi everyone,

in principle in iTensor DMRG, would it be possible to calculate the entanglement entropy of multiple partitions?

For example, the entanglement entropy of the system A (composed of two parts) with respect to B as in the following scheme:

-----B-------| A |-------B-------| A |-------B-----

+1 vote

Hello,

Someone please correct me if I am wrong, but I believe the only way is to calculate the reduced density matrix for subsystem A and then calculate the entanglement entropy from the reduced density matrix (for example by diagonalizing the reduced density matrix and using the eigenvalues in whichever entanglement entropy you are interested in). This page has a code formula for calculating the reduced density matrix of disjoint subsystems:

http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/mps_two_rdm

The entanglement entropy can then be calculated from the eiganvalues of the reduced density matrix in the same way as at the bottom of this formula:

http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/entanglement_mps

This would become inefficient when dealing with larger subsystems (since the density matrix grows exponentially with the number of sites in A), so perhaps there is a more clever way that I am not aware of.

Cheers,
Matt

commented by (14.1k points)
Note that there may be some approximations you can make depending on the sizes of the subsystems you are interested in (and the specific state you are looking at). For example, if the region between the two separate A regions is very large (compared to the correlation length of the state), you may be able to approximate the density matrix as being a product of density matrices over the two A subregions. We would need more information about your specific use case to know what the best approach might be.
commented by (70.1k points)
Yes,  I think this answer covers all of the cases I can think of, barring some more advanced approach like using sampling to compute the second Renyi entropy.

One other comment is that while the first code formula shows two disjoint subregions with a single site each, one could let those subregions grow to two or more sites by just leaving more indices uncontracted, but of course the computational cost would scale exponentially so ultimately one can't let the sizes of the regions grow too big.