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/haldane_model.md#L78-131 Best, Anton On Wed, 27 Jan 2021 at 14:04, Nayra Alvarez <[email protected]> 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
