steenroder.compute_steenrod_barcode

steenroder.compute_steenrod_barcode(k, steenrod_matrix, idxs, reduced, barcode, filtration_values=None)[source]

Compute the Sq^k-barcode of relative cohomology.

Parameters
  • k (int) – Positive integer defining the cohomology operation Sq^k to be performed.

  • steenrod_matrix (list of numba.typed.List) – One list per simplex dimension. steenrod_matrix[d][j] is the result of computing the Steenrod square of the j``th latest (by birth) persistent relative cohomology representative in degree ``d (and this representative must represent bar barcode[d][j]). See compute_steenrod_matrix.

  • idxs (tuple of ndarray) – For each dimension d, a 1D int array containing the (ordered) positional indices of all d-dimensional simplices in the filtration.

  • reduced (tuple of numba.typed.List) – One list of int per simplex dimension, representing the d-dimensional part of the “R” matrix in R = DV. In the same format as returned by compute_reduced_triangular.

  • barcode (list of ndarray) – For each dimension d, a 2D int array of shape (n_bars, 2) containing the birth (entry 1) and death (entry 0) indices of persistent relative homology classes in degree d. Essential bars must be represented by pairs with death equal to -1. Bars must be sorted in order of decreasing birth indices.

  • filtration_values (ndarray or None, optional, default: None) – Optionally, a single 1D array of filtration values for each simplex in the filtration and in all dimensions contained in idxs and reduced. Steenrod bars with equal birth and death filtration values are discarded.

Returns

steenrod_barcode – The (relative) Sq^k-barcode. For each dimension d, a 2D int array of shape (n_bars, 2) containing the birth (entry 1) and death (entry 0) indices of Steenrod bars. Essential Steenrod bars are represented by pairs with death equal to -1.

Return type

list of ndarray