The problem of Computing momentum entanglement spectrum in infinite dmrg

How do I use this algorithm? What does that parameter do?
Post Reply
kevln
Posts: 18
Joined: 12 May 2022, 07:02

The problem of Computing momentum entanglement spectrum in infinite dmrg

Post by kevln »

Hello, this is the first time to use Tenpy, it is quite good and has so many features.

For the last few day I have been trying to calculate the momentum entanglement spectrum in arXiv:1407.6985 with Tenpy. I want to get Fig3.b without considering charge.

In fact, using tenpy/example/chern insulators/haldan.py as an example, I tried some calculations. My naive idea is,
  • Change the filling factor to 1/3
  • \(\phi_{y}=2\pi\)
  • using compute_k()
  • change model_params
The corresponding code is

Code: Select all

    prod_state = ['full']
    if 2 * model_params['Lx'] * model_params['Ly'] % 3 != 0:
        warnings.warn("Total filling factor = 1/3 cannot be achieved with this unit cell geometry.")
    for i in range(1, 2 * model_params['Lx'] * model_params['Ly']):
        if i % 3 == 0:
            prod_state.append('full')
        else:
            prod_state.append('empty')
    print(prod_state)

Code: Select all

    model_params['phi_ext'] = 1

Code: Select all

    print("Computing momentum...")
    psi.canonical_form()
    u, w, q, o, t = psi.compute_K(M.lat,swap_op='auto')
 
    print('compute_k: ov = ', o)
    k = np.angle(w)/np.pi
    p = -np.log(np.abs(w))

    data['ent_spectrum'].append(p)
    data['momentum'].append(k)

Code: Select all

    t1_value = -1
    phi = np.arccos(3 * np.sqrt(3 / 43))
    t2_value = (np.sqrt(129) / 36) * t1_value * np.exp(1j * phi)  # optimal band flatness

    model_params = dict(conserve='N',
                        t1=t1_value,
                        t2=t2_value,
                        mu=0,
                        V=t1_value,
                        bc_MPS='infinite',
                        order='default',
                        Lx=1,
                        Ly=6,
                        bc_y='cylinder',
                        verbose=0)
Besides these, I didn't make any other changes to tenpy's haldan.py, including some parameters related to dmrg sweep, but my results were terrible,like

Image
in Ly=3,and
Image
in Ly=6
l want to know the reason for this error, any reply and help from you will help me a lot in in using Tenpy!!!Thanks for your help!!!
kevln
Posts: 18
Joined: 12 May 2022, 07:02

Re: The problem of Computing momentum entanglement spectrum in infinite dmrg

Post by kevln »

Why my questions can not be seen by others? Is there something wrong with my content?
Post Reply