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

Reply via email to