
Hi Nayra, The Hamiltonian that you compute is a dense numpy array, so to get its eigenvectors you should directly use e.g. numpy.linalg.eigh (which returns eigenvectors and eigenvalues). As a side-remark, the topology course has an implementation of the Berry flux that could be useful as a reference, see over here: https://gitlab.kwant-project.org/qt/topocm/-/blob/master/src/w4_haldane/hald... Best, Anton On Wed, 27 Jan 2021 at 14:04, Nayra Alvarez <nayraa78@gmail.com> wrote:
Hello :)
I'm trying to calculate the Berry curvature. Is there a way to get access to the eigenvectors of H (k) for different k values just diagonalizing the following hamiltonian H_k?
-----------Code------------------------------------------------------------------------------- wrapped = kwant.wraparound.wraparound(sys).finalized()
def ham(sys,k_x,k_y=None, **params): k= momentum_to_lattice(sys, [k_x] if k_y is None else [k_x,k_y]) p=dict(zip(sys._momentum_names,k),**params) return sys.hamiltonian_submatrix(params=p,sparse=False)
H_k= ham(wrapped,kx,ky) ------------------------------------------------------------------------------------------------------ Thanks for your time and help!
Nayra