Closed yangxing844 closed 11 months ago
Hi Yangxing
currently, pybinding has no support for constructing non-hermitian matrices/hamiltonians.
The eigenvalues will be complex, and this will break a lot of things in the background.
Also, when you add a hopping, lets say from site numbered (10) to a site numbered (12), the other hopping (12) -> (10) is added automatically. Setting (12) -> (10) by hand afterwards will result in an error.
However, when you have a Hamiltonian for a large system (lets say, some buckled graphene), you can add some non-hermitian element by hand by obtaining the hamiltonian with model.hamiltonian
. This will be at the k-point you set with model.set_wave_vector([kx,ky,kz])
.
Be carefull, the hamitlonian is the transpose of the normal convention; in the basis <from|H|to> instead of the <to|H|from> basis. As this only would change some factors in the normal calculations, this is normally not a problem but it worth the attention if you want to investigate non-hermitian systems.
Feel free to ask more questions if you need more help.
Best
Bert
Thank you very much!
Hi, it is possible to use solver that can solve non-Hermtian matrix, I want to use this to construct some non-hermtian hoppings that can demonstrate non-Hermitian effect