# 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