I have read in the literature that the following relation should hold for iDMRG:
\(S=\frac{c}{6}\log\xi\), where \(c=\frac{1}{2}\) for the TF Ising model (at the critical point \(g/J=1\)).
However, when I try to plot the entanglement entropy against correlation length using the "examples/d_dmrg.py" file, I obtain \(S=\frac{1}{6}\log\xi\) at large \(\xi\), which would suggest that \(c=1\).
Is there a reason for this discrepancy? Is there a neat way to demonstrate the relation stated in the literature?
Any help would be greatly appreciated!
PS. I do find that \(S=\frac{c}{6}\log L\) for finite systems (using "examples/d_dmrg.py"), with \(c=\frac{1}{2}\) for the TF Ising model, as expected.
Scaling of entanglement entropy for iDMRG
-
- Posts: 32
- Joined: 08 Jan 2019, 03:03
Re: Scaling of entanglement entropy for iDMRG
hi, i believe the reason is that in iDMRG the boundary condition is like a periodic boundary condition.
Your formula is for the open boundary condition, and for periodic boundary condition this should be c/3 but not c/6.
I recommend you to read the following two ref: arXiv:hep-th/0405152 and arXiv:0905.4013.
Your formula is for the open boundary condition, and for periodic boundary condition this should be c/3 but not c/6.
I recommend you to read the following two ref: arXiv:hep-th/0405152 and arXiv:0905.4013.
Re: Scaling of entanglement entropy for iDMRG
Thank you very much for your quick reply and the references!
Do you mean that the formula that I wrote doesn't apply to iDMRG, or that I did not implement the boundary conditions correctly?
Am I correct in understanding that you are using these terms interchangeably:
infinite system <=> periodic boundary conditions,
finite system <=> open boundary conditions ?
Do you mean that the formula that I wrote doesn't apply to iDMRG, or that I did not implement the boundary conditions correctly?
Am I correct in understanding that you are using these terms interchangeably:
infinite system <=> periodic boundary conditions,
finite system <=> open boundary conditions ?
-
- Posts: 32
- Joined: 08 Jan 2019, 03:03
Re: Scaling of entanglement entropy for iDMRG
I mean, in iDMRG, the boundary condition is like a periodic boundary condition.
So, your problem is you use the wrong formula, you should use a formula for periodic boundary condition when you do an iDMRG calculation.
In a finite case, you can choose open boundary condition or periodic, but in tenpy there is not an algorithm for periodic finite dmrg, i think the reason is that dmrg for finite system with periodic boundary condition is not a trivial task (the canonical form cannot be hold, you can see this in ref arXiv:1801.05390, if you are interested in).
So, your problem is you use the wrong formula, you should use a formula for periodic boundary condition when you do an iDMRG calculation.
In a finite case, you can choose open boundary condition or periodic, but in tenpy there is not an algorithm for periodic finite dmrg, i think the reason is that dmrg for finite system with periodic boundary condition is not a trivial task (the canonical form cannot be hold, you can see this in ref arXiv:1801.05390, if you are interested in).
Re: Scaling of entanglement entropy for iDMRG
Ah I see, that is also consistent with what I have read in the literature here: https://arxiv.org/abs/0712.1976 Thank you for the clarification!
So, from this, I conclude that Frank Pollmann must have made a mistake in exercise 3.3 of this sheet http://quantumtensor.pks.mpg.de/wp-cont ... rial_1.pdf where he explicitly referred to \(S=\frac{c}{6}\log\xi\) with respect to iDMRG.
So, from this, I conclude that Frank Pollmann must have made a mistake in exercise 3.3 of this sheet http://quantumtensor.pks.mpg.de/wp-cont ... rial_1.pdf where he explicitly referred to \(S=\frac{c}{6}\log\xi\) with respect to iDMRG.
-
- Posts: 18
- Joined: 23 Jul 2018, 09:23
- Location: Technical University Munich
Re: Scaling of entanglement entropy for iDMRG
Hi! I am also looking into the scaling of \(S\) with \(\log \xi\) to extract the central charge and from what I read the relation you originally posted \(S \approx \frac{c}{6}\log \xi\) should be the correct one even for iDMRG. Apart from Calabrese and Cardy's original paper, here is a reference where they do iDMRG on a cylinder and the formula above is used.
How do you compute \(\xi\)? It would be nice to settle this issue once and for all
How do you compute \(\xi\)? It would be nice to settle this issue once and for all
Re: Scaling of entanglement entropy for iDMRG
Hi Umberto, thank you for the reply and for the useful link! I hadn't seen that paper before, but it does suggest that the original formula was correct after all. In which case, I wonder why I cannot reproduce it...
I am trying in the most naive way using the example_DMRG_infinite(g=1.) function from TeNPy/examples/d_dmrg.py. I would like the np.log(psi.correlation_length()) and 6*S after each DMRG sweep, so I set 'N_sweeps_check': 1 in dmrg_params. Then I add a print statement in TeNPy/tenpy/algorithms/dmrg.py, so that these values are printed after every sweep, together with the verbose output. (All other parameters, I leave as they are.)
If I plot these values, and look at large \(\xi\), then I get a gradient which is almost exactly one (e.g. \(c=0.9993...\) for the last 100 values, with a correlation coefficient \(R^2= 0.9999990...\)). Is this how you perform the scaling too?
I would also very much like to get to the bottom of what I am doing wrong
I am trying in the most naive way using the example_DMRG_infinite(g=1.) function from TeNPy/examples/d_dmrg.py. I would like the np.log(psi.correlation_length()) and 6*S after each DMRG sweep, so I set 'N_sweeps_check': 1 in dmrg_params. Then I add a print statement in TeNPy/tenpy/algorithms/dmrg.py, so that these values are printed after every sweep, together with the verbose output. (All other parameters, I leave as they are.)
If I plot these values, and look at large \(\xi\), then I get a gradient which is almost exactly one (e.g. \(c=0.9993...\) for the last 100 values, with a correlation coefficient \(R^2= 0.9999990...\)). Is this how you perform the scaling too?
I would also very much like to get to the bottom of what I am doing wrong
-
- Posts: 32
- Joined: 08 Jan 2019, 03:03
Re: Scaling of entanglement entropy for iDMRG
hi, everyone. I have to admit i was wrong, and what Umberto said is correct:
The original formula is correct, and in infinite dmrg the boundary condition is open.
BTW, bart, your scaling method may be wrong. Why you choose the data from a state which is not converged in dmrg?
What I remember is: you should choose different "chi_max" to get different ground states (the finial states of infinite dmrg). From these states you will get a list of the correlation length and the entropy, try to use these data to do the scaling.
The original formula is correct, and in infinite dmrg the boundary condition is open.
BTW, bart, your scaling method may be wrong. Why you choose the data from a state which is not converged in dmrg?
What I remember is: you should choose different "chi_max" to get different ground states (the finial states of infinite dmrg). From these states you will get a list of the correlation length and the entropy, try to use these data to do the scaling.