This is a previously asked question reposted here to make searching our new forum more useful. ITensor user jacopovit asked:
How we can calculate the entanglement entropy of an half chain with Julia?
This is a previously asked question reposted here to make searching our new forum more useful. ITensor user jacopovit asked:
How we can calculate the entanglement entropy of an half chain with Julia?
Here is a small function you can use to compute the entropy between sites 1,2,...b
of an MPS and sites b+1,...,N
and an example of how to use it:
using ITensors
function entropy_von_neumann(psi::MPS, b::Int)
s = siteinds(psi)
orthogonalize!(psi, b)
_,S = svd(psi[b], (linkind(psi, b-1), s[b]))
SvN = 0.0
for n in 1:dim(S, 1)
p = S[n,n]^2
SvN -= p * log(p)
end
return SvN
end
N = 10
s = siteinds("S=1/2", N)
psi = randomMPS(s, 4)
SvN = entropy_von_neumann(psi, b)
(code contributed by Matt Fishman)
Hey guys,
I was just wondering if it is possible to compute multipartite entanglement entropy too? I mean if we partition the MPS chain into a fixed number of unequal partitions and trace out only specific segments?
Very often, entanglement quantities other than bipartite entanglement can be difficult to compute from MPS unless they involve rather small spatial regions. What’s the mathematical definition of the multipartite entanglement you are hoping to compute?
Let us consider a MPS chain of N sites. Now, I hypothetically divide this chain into three parts of size N/4, N/2 and N/4. I want to trace out the first and third region to get an entropy for a sub-system which is that middle region of MPS chain with length N/2. I was wondering if there is a way of performing this operation. I was thinking of doing the SVD cuts at two places based on the size of the sub-regions of the MPS chain but in doing so, I am worried about the orthogonality center argument that we have been using for bipartite entropy calculation.
Hi,
This is still going to be bipartite entanglement entropy, not multipartite… because at the end of the day after all the tracing out of things, you are left with the second region only, the remainder of the system has been traced out… any entanglement quantity you calculate using the reduced density matrix of this second region would simply tell you how much this region is entangled with the rest of the system, hence only a bipartite entanglement… As for how to calculate the reduced density matrix of this middle region, please search in this forum as various similar questions and solutions have been posted (the second region will have to be sufficiently small for you to be able to actually calculate this in practice).
For multipartite entanglement, you’d have to keep untraced some other region first in addition to the middle region (hence, “multi”-partite) and then, depending on the measure/definition of multipartite entanglement, create appropriate reduced density matrices to then probe how this region and that other untraced region are entangled with each other as well as with the rest of the system… calculability of these things will depend delicately on the chosen measure of multipartite entanglement and its interpretation, and in practice all untraced regions will have to be sufficiently small…
I second @adityab999 's answer. These kind of “center region” entanglement calculations are in general difficult to do with existing tensor network techiques at this time, unless one of the regions (meaning one of the two bipartite regions) is small. In principle, one can access Renyi entropies of such large regions using sampling but it can be difficult to do in practice. Another thing one can do on smaller systems or in special cases is to either swap sites around with swap gates or else make “snaking paths” that visit all the sites of region “A” before visiting any of region “B” so that you can access the entanglement you want with the usual MPS singular values approach.
It’s not the case that you can just do two SVD cuts of an MPS and combine the results unless you have an additional theoretical reason that justifies this in your system (e.g. some kind of argument that the entanglement is short ranged and can be added or that the cuts are sufficiently far apart – it would be interesting to pursue cases when this may be true but a priori it is not true in the general case).
ITensor Website
·
Twitter @ITensorLib
© 2022 ITensor Collaboration