Page 1 of 1

overlap of ground states at different parameters

Posted: 09 Jun 2020, 11:29
by steven_tao
Dear TeNPy Community:

I am asking how to calculate the overlap of two ground states at two different parameters?

For example, for parameter J1, we run the DMRG as:

Code: Select all

E_1, psi_1 = eng.run()
At a different parameter J2, we run the DMRG as:

Code: Select all

E_2, psi_2 = eng.run()
Then how we can calculate their overlap of two ground states: \(\frac{\langle \textrm{psi_1} \mid \textrm{psi_2} \rangle}{\sqrt{\langle \textrm{psi_1} \mid \textrm{psi_1} \rangle} \sqrt{\langle \textrm{psi_2} \mid \textrm{psi_2} \rangle} }\) ?

Re: overlap of ground states at different parameters

Posted: 09 Jun 2020, 21:15
by Johannes
It's simply psi_1.overlap(psi_2), or for the normalization as in your formula, psi_1.overlap(psi_2)/psi_1.norm / psi_2.norm .
See overlap for more details.

For infinite MPS, it's the largest eigenvalue of the transfermatrix, which is not just the overlap <psi_1|psi_2> - the latter is zero for any two states which are not exactly the same up to a prefactor, and hence not a usefull measure.

Re: overlap of ground states at different parameters

Posted: 09 Jun 2020, 23:45
by steven_tao
Thanks, Dr. Johannes.

Then can we use the iDMRG to calculate the many-body winding number or berry phase ?

For example, by replacing the hopping \(t\) by \(t e^{i \theta}\), then many-body berry phase in periodic boundary is

\(\gamma = i \int_0^{2\pi} d\theta \langle \phi_{gs}(\theta) \mid \partial_\theta \phi_{gs}(\theta) \rangle = -\textrm{Im }log \prod_\theta \langle \phi_{gs}(\theta) \mid \phi_{gs}(\theta+\delta \theta) \rangle \).

Re: overlap of ground states at different parameters

Posted: 10 Jun 2020, 00:37
by Johannes
I don't think this works, even for finite MPS or with exact diagonalization.

The issue is that you need to pin the phase of the ground state, which is not well defined from the perspective of a variational algorithm: if \(|\Psi\rangle\) is a ground state, so is \(e^{i \phi} |\Psi\rangle\), so any variational, numerical algorithm like DMRG or ED returns the state with an arbitrary phase.
For that reason, \(\langle \phi_{gs}(\theta) |\phi_{gs}(\theta + \delta \theta) \rangle\) has an arbitrary phase, the only thing you can extract is the absolute value.

(Apart from that, as I said before, the overlap is not really well defined in the thermodynamic limit.)

Re: overlap of ground states at different parameters

Posted: 10 Jun 2020, 00:47
by steven_tao
The wilson loop \(\prod_{\theta \in \{0, 2\pi\}} \langle \phi_{gs}(\theta) \mid \phi_{gs}(\theta+\delta \theta) \rangle\) should be gauge free, although \( \langle \phi_{gs}(\theta) \mid \phi_{gs}(\theta+\delta \theta) \rangle\) is gauge dependent. Therefore, this formula can be used to numerically evaluate the berry phase. By the way, do you have any good idea to calculate the berry phase using DMRG ? Thanks.

Re: overlap of ground states at different parameters

Posted: 10 Jun 2020, 01:13
by Johannes
You're right of course. Okay, let me just say that I never tried it...

You should probably still make sure that you follow the evolution with \(\theta\) adiabatically.
In other words, use the result from the DMRG run with \(\theta\) as an initial guess for the \(\theta + \delta \theta\) DMRG, similarly as is done e.g. in examples/chern_insulateors/chiral_pi_flux.py.

Re: overlap of ground states at different parameters

Posted: 20 Jun 2023, 07:54
by Jerry Chen
I think there are two good paper to do correct overlap(fidelity), first one is MPS fidelity(sec 2.1): https://arxiv.org/abs/cond-mat/0701428v3, the other one is traditional DMRG(In the appendex of this paper, I think it is correct, not only inifinite DMRG but finite DMRG) https://arxiv.org/abs/0804.0537v1.

Actually, I implement the tradinational DMRG fidelity on 1D TFI model code in jupyter-notebook(I add the onsite term \delta \sigma x for each site and setting $\delta$ = 1e^-9 to make ground state be same direction rather than superposition state),the fidelity result shows one foot(minimal value) at g=1 which is critical point and satisfying theoretical result. But when I try to use tfi_phase_transition.py file to calculate the fidelity and changing the bc_MPS=finite and L=200 of model_params (also I add \delta \sigma x for each site in the file of tenpy/model/tf_ising.py). the fidelity shows many foots(minimal values). I think the algorithm for the overlap function should be modified.

Re: overlap of ground states at different parameters

Posted: 22 Jun 2023, 08:26
by Jerry Chen
Sorry, Finally, I check the fidelity of TFI with same parameters of the paper https://arxiv.org/abs/0811.3127. your overlap function is correct.