# Other Systems / Models¶

Z2Pack can easily be extended to work with different models / systems. The base classes defined here provide the interface to Z2Pack. Of the two classes, EigenstateSystem is the more general one and should be preferred if possible.

class z2pack.system.EigenstateSystem[source]

Abstract base class for Z2Pack System classes which can provide eigenstates (periodic part $$|u_\mathbf{k}\rangle$$).

abstract get_eig(kpt)[source]

Returns the periodic part of the eigenstates at each of the given k-points. The eigenstates are given as columns in a 2D array.

Parameters

kpt (list) – The list of k-points for which the eigenstates are to be computed.

class z2pack.system.OverlapSystem[source]

Abstract base class for Z2Pack System classes which can only provide overlap matrices.

abstract get_mmn(kpt)[source]

Returns a list of overlap matrices $$M_{m,n}$$ corresponding to the given k-points.

Parameters

kpt (list) – The list of k-points for which the overlap matrices are to be computed.