EulerIntegrator: Euler characteristic integration

class simplicial.EulerIntegrator(a=None, default_value=0)

Integration for simplicial complexes.

The Euler characteristic is a global value defined over simplicial complexes. It can also be used as the basis for integration, by generating sub-complexes and summing the characteristic over them. By choosing a suitable collection of sub-complexes, different problems can be represented as integrals of this kind.

The default implementation integrates using the value of a selected attribute of simplices, which should contain a number. Overriding the metric() method generates different metrics.

The metric should be a non-negative number. The metric assignment has to be monotone with respect to simplex order: the metric associated with a simplex s should be greater than or equal to the values associated with all simplices in the closure of s, i.e., all faces of s, or faces of those faces, and so forth. This isn’t (currently) checked, but the integration will behave unpredictably if the condition doesn’t hold.

Parameters
  • a (Optional[str]) – the attribute on simplices defining the metric to integrate against

  • default_value (int) – the default value if the attribute is missing (defaults to 0)

For more details see Curry et alia [CGR12]. See Baryshnikov and Ghrist [BG09] for a detailed application.