Surjection operad

Surjection elements

class clesto.surjection.surjection.Surjection_element(data=None, torsion=None, convention=None)[source]

Elements in the surjection operad

Examples

>>> s = Surjection_element()
>>> print(s)
0
>>> s = Surjection_element({(1,2,1,3,1,3): 1})
>>> print(s)
(1,2,1,3,1,3)

References

[McS]: J. McClure, and J. Smith. “Multivariable cochain operations and little n-cubes.” Journal of the American Mathematical Society 16.3 (2003): 681-704.

[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.

default_convention = 'Berger-Fresse'
property arity

Arity of self

Defined as None if self is not homogeneous. The arity of a basis surjection agrees with the max value it attains.

>>> Surjection_element({(1,2,1,3,1): 1}).arity
3
property degree

Degree of self

Defined as None if self is not homogeneous. The degree of a basis surjection agrees with the cardinality of its domain minus its arity.

>>> Surjection_element({(1,2,1,3,1): 1}).arity
3
property complexity

Returns the complexity of self, defined as None if self is not homogeneous.

For elements in arity 2, the complexity agrees with the degree. For higher arity elements, it is the max of its arity 2 components.

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

boundary of self

Up to signs, it is defined by taking the sum of all elements obtained by removing one entry at the time. The sign of each summand depends on the convention, either ‘McClure-Smith’ or ‘Berger-Fresse’. See [McCS] and [BF] for details.

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

Left action: other * self

Left multiplication by a symmetric group element or an integer.

>>> surj = Surjection_element({(1,2,3,1,2): 1})
>>> print(- surj)
- (1,2,3,1,2)
>>> rho = SymmetricRing_element({(2,3,1): 1})
>>> print(rho * surj)
(2,3,1,2,3)
orbit(representation='trivial')[source]

Returns the preferred element in the symmetric orbit of an element.

The preferred representative in the orbit of basis surjections is the one satisfying that the first occurence of each integer appear in increasing order.

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

>>> s = Surjection_element({(1,3,2): 1})
>>> print(s.orbit(representation='trivial'))
(1,2,3)
>>> print(s.orbit(representation='sign'))
- (1,2,3)
__call__(other, coord=1)[source]

Action on an element in the normalized chains of a standard cube or simplex represented by an arity 1 element in the (cubical) Eilenberg-Zilber operad.

>>> from clesto.simplicial import SimplicialEZ
>>> s = Surjection_element({(1,2,1):1}, convention='McClure-Smith')
>>> x = SimplicialEZ.standard_element(2)
>>> print(s(x))
- ((0,1,2),(0,1)) + ((0,2),(0,1,2)) - ((0,1,2),(1,2))
>>> from clesto.cubical import CubicalEZ
>>> x = CubicalEZ.standard_element(2)
>>> print(s(x))
- ((2,2),(1,2)) + ((2,1),(2,2)) + ((0,2),(2,2)) - ((2,2),(2,0))
compose(other, position)[source]

Operadic compositions: self o_position other

We think of other being inserted into self and in the Berger-Fresse convention this pair is ordered: self tensor other.

From [BF] 1.6.2:

>>> x = Surjection_element({(1,2,1,3): 1}, convention='Berger-Fresse')
>>> y = Surjection_element({(1,2,1): 1}, convention='Berger-Fresse')
>>> print(x.compose(y, 1))
(1,3,1,2,1,4) - (1,2,3,2,1,4) - (1,2,1,3,1,4)
suspension()[source]

Returns the image in the suspension of the surjection operad

Given a basis element u in arity r and degree d the suspension is in degree d-r+1 and is 0 if (u(1),…,u(r)) is not a permutation and sgn(u(1),…,u(r)) (u(r),…,u(r+d)) otherwise.

>>> x = Surjection_element({(1,3,2,1,2):1}, convention='Berger-Fresse')
>>> print(x.suspension())
- (2,1,2)
class clesto.surjection.surjection.Surjection[source]

Class producing instances of Surjection_elements of interest.

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

Returns a representative of the requested Steenrod product

Constructed recursively by mapping the minimal resolution W(r) of Z[S_r] to Surj(r). We use the chain homotopy equivalence of Surj(r) and Z defined using the chain contraction (i, p, s) relating Surj(r-1) and Surj(r).

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

Chain level representative of P_s or bP_s

Over the prime p acting on an element of degree q.

static basis(arity, degree, complexity=None)[source]

Basis of the chain complex

In the given arity, degree and complexity.