Dear Mohit,

Sorry, I wrote it without testing.
Indeed, we need to provide the indices  of the sites and not the sites themselves.
Please change Sites1, and Sites2 in the hamiltonian_submatrix as follows

Sites1=[syst.id_by_site[lat(5, j)]  for j in range(W)]


I hope this helps.
Adel



On Thu, Jun 18, 2020 at 12:52 AM <mohit.gupta9607@gmail.com> wrote:
Dear Abbout,
Thank you for your helpful reply it clears up a lot. I tried to obtain H12 as you mentioned:
H12=syst.hamiltonian_submatrix(to_sites=Sites1, from_sites=Sites2)
But it gives me the error that "an integer is required".
Although that is not a major issue I could try to construct H12 manually. Thanks a lot for your help.


--
Abbout Adel