steenroder.compute_steenrod_matrix

steenroder.compute_steenrod_matrix(k, coho_reps, filtration_by_dim, spx2idx, n_jobs=- 1)[source]

Compute the k-th Steenrod matrices in each dimension.

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

  • coho_reps (list of numba.typed.List) – For each dimension d, a list of representatives of persistent relative cohomology classes in degree d. In the same format as returned by compute_barcode_and_coho_reps.

  • filtration_by_dim (list of list of ndarray) – For each dimension d, a list of 2 aligned int arrays: the first is a 1D array containing the (ordered) positional indices of all d-dimensional simplices in filtration; the second is a 2D array whose i-th row is the (sorted) collection of vertices defining the i-th d-dimensional simplex.

  • spx2idx (tuple of numba.typed.Dict) – One dictionary per simplex dimension. The dimension-d dictionary has the filtration d-simplices (tuples of ints) as keys; the corresponding values are the positional indices of those simplices relative to the d-dimensional portion of the filtration.

  • n_jobs (int, optional, default: -1) – [Experimental] Controls the number of threads to be used during parallel computation of the Steenrod squares. -1 means using all available physical cores.

Returns

steenrod_matrix – One list per simplex dimension. steenrod_matrix[d][j] is the result of computing the Steenrod square of coho_reps[d - k][j].

Return type

list of numba.typed.List