uconf.models.surjection_dual

Linear dual model associated to the surjection operad.

Classes

SurjectionDual(n, base_ring)

Linear dual companion of uconf.models.surjection.Surjection.

class uconf.models.surjection_dual.SurjectionDual(n, base_ring)[source]

Bases: Surjection

Linear dual companion of uconf.models.surjection.Surjection.

The basis is dual to the surjection basis, with degree equal to the negative of the primal surjection degree.

EXAMPLES:

sage: from sage.all import QQ
sage: from uconf import SurjectionDual
sage: SD2 = SurjectionDual(2, QQ)
sage: x = SD2((1, 2, 1))
sage: x.arity()
2
sage: SD2.degree_on_basis((1, 2, 1))
-1
Parameters:

n (int)

connectivity: ClassVar[int] = 0

Elements live in non-positive degrees; the minimum degree is n - (n+d) = -d <= 0 for primal degree d >= 0. We use k = 0 as the connectivity convention (inherited from the primal surjection operad) since the cobar construction uses the arity bound n - 1 for the weight, independent of the sign of the degree.

__init__(n, base_ring)[source]

Initialize fixed-arity linear dual component.

Parameters:

n (int)

basis_iter(d)[source]

Iterate over basis elements in dual degree d (non-positive).

Parameters:

d (int)

degree_on_basis(basis_element)[source]

Return dual homological degree (negative primal degree).

Parameters:

basis_element (tuple)

Return type:

int

static counit(x)[source]

Return the cooperadic counit evaluation.

The counit is nonzero only on the arity-1 basis element (1,).

Parameters:

x (Element)

static reduced(x)[source]

Project to the reduced part.

This removes the arity-1 counit component and is the identity in higher arity.

Parameters:

x (Element)

Return type:

Element

static infinitesimal_cocompose(x, i, m, n)[source]

Partial cocomposition dual to Surjection.compose().

Parameters

x:

Element of SurjectionDual(m + n - 1).

i:

Input slot on the left factor.

m, n:

Arities of the left and right output cooperad factors.

Returns

Sage tensor element

An element of SurjectionDual(m) \otimes SurjectionDual(n).

EXAMPLES:

sage: from sage.all import QQ
sage: from uconf import SurjectionDual
sage: x = SurjectionDual(2, QQ)((1, 2))
sage: x.infinitesimal_cocompose(1, 1, 2).parent().base_ring() == QQ
True
Parameters:
  • x (Element)

  • i (int)

  • m (int)

  • n (int)

factory

alias of SurjectionDual

SurjectionDual.Element[source]

alias of Element