Invariants

This submodule contains functions for calculating the topological invariants from the result of a WCC / Wilson loop calculation.

z2pack.invariant.chern(surface_result)[source]

Computes the Chern number corresponding to a given surface result.

Parameters

surface_result (SurfaceResult or SurfaceData) – Result of a WCC calculation on a Surface.

Example code:

result = z2pack.surface.run(...)
print(z2pack.invariant.chern(result)) # Prints the Chern number
z2pack.invariant.z2(surface_result, check_kramers_pairs=True)[source]

Computes the \(\mathbb{Z}_2\) invariant corresponding to a given surface result.

Parameters
  • surface_result (SurfaceResult or SurfaceData) – Result of a WCC calculation on a Surface.

  • check_kramers_pairs (bool) – Check whether the WCC at the edge of the surface come in degenerate pairs. This is a requirement for having a well-defined Z2 invariant.

Example code:

result = z2pack.surface.run(...)
print(z2pack.invariant.z2(result)) # Prints the Z2 invariant