comch.barratt_eccles: Barratt-Eccles operad

comch.barratt_eccles.BarrattEcclesElement([...])

Element in the Barratt-Eccles operad

comch.barratt_eccles.BarrattEccles()

Produces Barratt-Eccles elements of interest.

class comch.barratt_eccles.BarrattEcclesElement(data=None, torsion=None)[source]

Element in the Barratt-Eccles operad

For a non-negative integer \(r\) define the simplicial set \(E(\mathrm S_r)\) by

\[\begin{split}\begin{aligned} E(\mathrm S_r)_n &= \{ (\sigma_0, \dots, \sigma_n)\ |\ \sigma_i \in \mathrm{S}_r\}, \\ d_i(\sigma_0, \dots, \sigma_n) &= (\sigma_0, \dots, \widehat{\sigma}_i, \dots, \sigma_n), \\ s_i(\sigma_0, \dots, \sigma_n) &= (\sigma_0, \dots, \sigma_i, \sigma_i, \dots, \sigma_n), \end{aligned}\end{split}\]

corresponding to the unreduced bar construction on the monoid \(\mathrm S_r\). It is equipped with a left \(\mathrm S_r\)-action defined on basis elements by

\[\sigma (\sigma_0, \dots, \sigma_n) = (\sigma \sigma_0, \dots, \sigma \sigma_n).\]

The chain complex resulting from applying the functor of integral normalized chains to it is denoted \(\mathcal E(r)\), which corresponds to the arity \(r\) part of the Barratt-Eccles operad.

References

[BF]: C. Berger, and B. Fresse. “Combinatorial operad actions on cochains.” Mathematical Proceedings of the Cambridge Philosophical Society. Vol. 137. No. 1. Cambridge University Press, 2004.

__init__(data=None, torsion=None)[source]

Initializes self.

Parameters:
  • data (dict or None, default: None) – Dictionary representing a linear combination of basis elements. Items in the dictionary correspond with pairs basis_element: coefficient. Each basis_element must create a tuple of commch.symmetric.SymmetricGroupElement and coefficient must be an int.

  • torsion (int) – The non-neg int \(n\) of the ring \(\mathbb Z/n \mathbb Z\).

Examples

>>> x = BarrattEcclesElement()
>>> print(x)
0
>>> y = BarrattEcclesElement({((1,3,2), (2,1,3)): -1})
>>> print(y)
- ((1,3,2),(2,1,3))
property arity

Arity of self.

Defined as None if self is not homogeneous. The arity of a basis Barratt-Eccles element agrees with arity of any of the symmetric group elements contained in it.

Returns:

The arity of self.

Return type:

int

Example

>>> x = BarrattEcclesElement({((1,3,2), (2,3,1)): 1})
>>> x.arity
3
property degree

Degree of self.

Defined as None if self is not homogeneous. The degree of a basis Barratt-Eccles element agrees with the cardinality of the tuple minus one.

Returns:

The degree of self.

Return type:

int

Example

>>> x = BarrattEcclesElement({((1,3,2), (2,3,1)): 1})
>>> x.degree
1
property complexity

Complexity of self.

Defined as None if self is not homogeneous. The complexity of a finite binary sequence of elements in \(\Sigma_2\) is defined as the number of consecutive distinct elements in it. For example, \(((12),(21),(21),(12))\) and \(((12),(12),(12),(21))\) have complexities 2 and 1 respectively. For any basis Barratt-Eccles element, and any pair of positive integers \(i < j\) less than its arity, we can form a sequence as above by precomposing each permutation by the order-preserving inclusion sending \(1\) and \(2\) respectively to \(i\) and \(j\). The complexity of a basis Barratt-Eccles element is defined as the maximum over $i < j$ of the complexities of these. Notice that for arity 2, the complexity of an element is equal to its degree plus 1. It is proven in [BF] that the subcomplex generated by basis Barratt-Eccles elements of complexity at most \(n\) define a suboperad of \(\mathcal E\) modeling an \(E_{n+1}\)-operad.

Returns:

The complexity of self.

Return type:

int

Example

>>> BarrattEcclesElement({((1,2,3), (1,3,2), (1,2,3)): 1}).complexity
2
boundary()[source]

Boundary of self.

It is defined as the alternating sum of the face maps. Explicitly, for basis Barrat-Eccles elements, we have

\[\begin{equation*} \partial(\sigma_0, \dots, \sigma_n) = \sum_{i=0}^n(\sigma_0, \dots, \widehat{\sigma}_i, \dots, \sigma_n). \end{equation*}\]
Returns:

The boundary of self.

Return type:

comch.barratt_eccles.BarrattEcclesElement

Example

>>> x = BarrattEcclesElement({((1,3,2), (2,3,1), (1,2,3)): 1})
>>> print(x.boundary())
((2,3,1),(1,2,3)) - ((1,3,2),(1,2,3)) + ((1,3,2),(2,3,1))
__rmul__(other)[source]

Left action: other * self.

Left multiplication by a symmetric group element or an integer. Defined on basis Barratt-Eccles elements by acting coordinatewise. Explicitly,

\[\sigma (\sigma_0, \dots, \sigma_n) = (\sigma \sigma_0, \dots, \sigma \sigma_n).\]
Parameters:

other (int or comch.symmetric.SymmetricRingElement.) – The element to left act on self with.

Returns:

The product: other * self.

Return type:

comch.barratt_eccles.BarrattEcclesElement

Example

>>> x = BarrattEcclesElement({((1,3,2), (2,3,1)): 1})
>>> print(-x)
- ((1,3,2),(2,3,1))
>>> rho = SymmetricRingElement({(2,3,1): 1})
>>> print(rho * x)
((2,1,3),(3,1,2))
orbit(representation='trivial')[source]

The preferred representative of the symmetric orbit of self.

The preferred representative in the orbit of a basis element is one whose first symmetric group element is the identity.

The representation used can be either ‘trivial’ or ‘sign’.

Returns:

The preferred element in the symmetric orbit of self.

Return type:

comch.barratt_eccles.BarrattEcclesElement

Example

>>> x = BarrattEcclesElement({((1,3,2), (1,2,3)): 1})
>>> print(x.orbit())
((1,2,3),(1,3,2))
>>> print(x.orbit('sign'))
- ((1,2,3),(1,3,2))
compose(other, position)[source]

Operadic compositions: self \(\circ_{position}\) other.

The operadic composition can be described in terms of the composition of symmetric group elements using the Eilenberg-Zilber map. Let us notice that at the level of the simplicial set \(E\) we have compositions induced coordinate-wise

\[{\circ}_{i}: E(r) \times E(s) \to E(r + s - 1).\]

We define the composition of \(\mathcal E\) by precomposing

\[N_\bullet(\circ_i) \colon N_\bullet(E(r) \times E(s)) \longrightarrow N_\bullet(E(r + s - 1)) = \mathcal E(r+s-1)\]

with the iterated Eilenberg-Zilber map

\[\mathcal E(r) \otimes \mathcal E(s) = N_\bullet(E(r)) \otimes N_\bullet(E(s)) \longrightarrow N_\bullet(E(r) \times E(s)).\]
Parameters:
Returns:

The operadic composition of self and other.

Return type:

comch.barratt_eccles.BarrattEcclesElement

Example

>>> x = BarrattEcclesElement({((1, 2), (2, 1)): 1})
>>> print(x.compose(x, 1))
- ((1,2,3),(2,1,3),(3,2,1)) + ((1,2,3),(3,1,2),(3,2,1))
suspension()[source]
table_reduction()[source]

Table reduction of self.

The table reduction morphisms \(TR : \mathcal E \to \mathcal X\) from the Barratt-Eccles to the surjection operad is a surjective weak equivalence of operads introduced in [BF]. For a basis Barratt-Eccles element \((\sigma_0, \dots, \sigma_n) \in \mathcal E(r)_n\) we have that

\[TR(\sigma_0, \dots, \sigma_n) = \sum_{a} s_{a}\]

with surjections

\[s_{a} : \{1, \dots, n+r \} \to \{1, \dots, r\}\]

parametrized by all tuples of positive integers \(a = (a_0, \dots, a_n)\) with \(a_0 + \cdots + a_n = n + r\). For one such tuple \(a\) we now describe the surjection \(s_a\). Define recursively

\[A_{-1} = 0 \qquad A_i = A_{i-1} + a_{i.}\]

For \(k \in \{1, \dots, n+r\}\) we identify \(i \in \{1, \dots, n\}\) such that \(A_{i-1} < k \leq A_{i}\) and define \(s_a(k)\) to be the \((k - A_{i-1})\)-th element in \((\sigma_i(1), \dots, \sigma_i(r))\) not in

\[\big\{s_a(j)\ |\ j < k \text{ and } j \neq A_0, \dots, A_{i-1}\big\}.\]

This operad map preserves the \(E_n\)-filtration.

Returns:

The image of self under the table reduction morphism

Return type:

comch.surjection.SurjectionElement

Example

>>> b = BarrattEcclesElement({((1,2,3,4), (1,4,3,2), (1,2,4,3)): 1})
>>> print(b.table_reduction())
(1,2,4,2,4,3) + (1,2,4,3,2,3)
diagonal(r=1)[source]

Alexander-Whitney diagonal.

The Alexander-Whitney chain approximation to the diagonal is the chain map \(\Delta \colon \mathcal E \to \mathcal E \otimes \mathcal E\) defined on a basis element \((\sigma_0, \dots, \sigma_n) \in \mathcal E(r)_n\) by the formula

\[\Delta (\sigma_0, \dots, \sigma_n) = \sum_{i=1}^n (\sigma_0, \dots, \sigma_i) \otimes (\sigma_i, \dots, \sigma_n).\]

It defines a Hopf structure on the Barratt-Eccles operad.

Returns:

The free module element representing the image of self under the diagonal map. The keys are pairs of elements in comch.barratt_eccles.BarrattEcclesElement coefficient 1.

Return type:

comch.free_module.FreeModuleElement

Example

>>> x = BarrattEcclesElement({((1,2), (2,1)):1})
>>> print(x.diagonal())
(((1, 2),), ((1, 2), (2, 1))) + (((1, 2), (2, 1)), ((2, 1),))
preferred_rep()[source]

Preferred representative of self.

Removes pairs basis_element: coefficient which satisfy either of: 1) the basis element has equal consecutive permutations, 2) it is the empty permutation, or 3) the coefficient is 0.

Returns:

The preferred representative of self.

Return type:

comch.barratt_eccles.BarrattEcclesElement

Example

>>> print(BarrattEcclesElement({((1,2),(1,2)):1, ():1, ((1,2),):0}))
0
class comch.barratt_eccles.BarrattEccles[source]

Produces Barratt-Eccles elements of interest.

static may_steenrod_structure(arity, degree, torsion=None)[source]

Representative of the requested Steenrod product.

Returns the image under the May-Steenrod structure constructed in [KMM] of the preferred basis element, of the given degree, of the minimal free resolution of the base ring \(R\) as an \(R[\mathrm C_r]\)-module.

Parameters:
  • arity (int) – The arity considered.

  • degree (int) – The degree considered.

  • torsion (int or None, default None) – The non-neg int \(n\) of the ring \(\mathbb Z/n \mathbb Z\).

Returns:

The image of the basis element under the May-Steenrod structure.

Return type:

comch.barratt_eccles.BarrattEcclesElement

References

[KMM]: Kaufmann, R. M., & Medina-Mardones, A. M. (2020). Chain level Steenrod operations. arXiv preprint arXiv:2010.02571.

static steenrod_operation(p, s, q, bockstein=False)[source]

Chain level representative of \(P_s\) or \(\beta P_s\).

Where

\[P_s : H_\bullet(A; \mathbb F_2) \to H_{\bullet + s}(A; \mathbb F_2)\]

and, for \(p > 2\),

\[P_s : H_\bullet(A; \mathbb F_p) \to H_{\bullet + 2s(p-1)}(A; \mathbb F_p) \qquad \beta P_s : H_\bullet(A; \mathbb F_p) \to H_{\bullet+2s(p-1)-1}(A; \mathbb F_p)\]

are the Steenrod operations.

Parameters:
  • p (int) – The prime considered.

  • s (int) – The subscript of the Steenrod operation.

  • q (int) – The degree of the class acted on.

  • bockstein (bool, default False) – Determines the use of the Bockstein homomorphism.

Returns:

The Barratt-Eccles element representative.

Return type:

comch.barratt_eccles.BarrattEcclesElement