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

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)
```

in

**Ly=3**,and

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!!!