Cubical complex reference manual¶

class
gudhi.
CubicalComplex
¶ Bases:
object
The CubicalComplex is an example of a structured complex useful in computational mathematics (specially rigorous numerics) and image analysis.

__init__
()¶ CubicalComplex constructor from dimensions and top_dimensional_cells or from a Perseusstyle file name.
 Parameters
Or
 Parameters
top_dimensional_cells¶ (anything convertible to a numpy ndarray) – A multidimensional array of cells filtration values.
Or
 Parameters
perseus_file¶ (string) – A Perseusstyle file name.

betti_numbers
()¶ This function returns the Betti numbers of the complex.
 Returns
list of int – The Betti numbers ([B0, B1, …, Bn]).
 Note
betti_numbers function requires
compute_persistence()
function to be launched first. Note
betti_numbers function always returns [1, 0, 0, …] as infinity filtration cubes are not removed from the complex.

cofaces_of_persistence_pairs
()¶ A persistence interval is described by a pair of cells, one that creates the feature and one that kills it. The filtration values of those 2 cells give coordinates for a point in a persistence diagram, or a bar in a barcode. Structurally, in the cubical complexes provided here, the filtration value of any cell is the minimum of the filtration values of the maximal cells that contain it. Connecting persistence diagram coordinates to the corresponding value in the input (i.e. the filtration values of the topdimensional cells) is useful for differentiation purposes.
This function returns a list of pairs of topdimensional cells corresponding to the persistence birth and death cells of the filtration. The cells are represented by their indices in the input list of topdimensional cells (and not their indices in the internal datastructure that includes nonmaximal cells). Note that when two adjacent topdimensional cells have the same filtration value, we arbitrarily return one of the two when calling the function on one of their common faces.
 Returns
The topdimensional cells/cofaces of the positive and negative cells, together with the corresponding homological dimension, in two lists of numpy arrays of integers. The first list contains the regular persistence pairs, grouped by dimension. It contains numpy arrays of shape [number_of_persistence_points, 2]. The indices of the arrays in the list correspond to the homological dimensions, and the integers of each row in each array correspond to: (index of positive topdimensional cell, index of negative topdimensional cell). The second list contains the essential features, grouped by dimension. It contains numpy arrays of shape [number_of_persistence_points, 1]. The indices of the arrays in the list correspond to the homological dimensions, and the integers of each row in each array correspond to: (index of positive topdimensional cell).

compute_persistence
()¶ This function computes the persistence of the complex, so it can be accessed through
persistent_betti_numbers()
,persistence_intervals_in_dimension()
, etc. This function is equivalent topersistence()
when you do not want the listpersistence()
returns. Parameters
 Returns
Nothing.

dimension
()¶ This function returns the dimension of the complex.
 Returns
int – the complex dimension.

num_simplices
()¶ This function returns the number of all cubes in the complex.
 Returns
int – the number of all cubes in the complex.

persistence
()¶ This function computes and returns the persistence of the complex.
 Parameters
 Returns
list of pairs(dimension, pair(birth, death)) – the persistence of the complex.

persistence_intervals_in_dimension
()¶ This function returns the persistence intervals of the complex in a specific dimension.
 Parameters
dimension¶ (int.) – The specific dimension.
 Returns
The persistence intervals.
 Return type
numpy array of dimension 2
 Note
intervals_in_dim function requires
compute_persistence()
function to be launched first.

persistent_betti_numbers
()¶ This function returns the persistent Betti numbers of the complex.
 Parameters
 Returns
list of int – The persistent Betti numbers ([B0, B1, …, Bn]).
 Note
persistent_betti_numbers function requires
compute_persistence()
function to be launched first.
