uconf.morphisms.canonical_twisting

Canonical operadic twisting morphisms.

This module provides the two fundamental twisting morphisms in operad theory:

  • canonical_projection(P): the projection π: B(P) → P, which projects a bar tree to the operad element at its root (if it is a single-vertex corolla) and zero otherwise.

  • canonical_inclusion(C): the inclusion ι: C → Ω(C), which sends an element c ∈ C(n) to the single-vertex cobar tree decorated by c.

These induce adjunctions:

  • π gives B_π: P-alg → B(P)-coalg (the standard bar construction for algebras) and Ω_π: B(P)-coalg → P-alg (the standard cobar construction for coalgebras)

  • ι gives Ω_ι: C-coalg → Ω(C)-alg (the standard cobar construction for coalgebras) and B_ι: Ω(C)-alg → C-coalg (the standard twisted bar construction)

For specific operad/cooperad pairs:

  • canonical_projection(Ω(C)): π: B(Ω(C)) → Ω(C), for a cooperad C

  • canonical_inclusion(B(P)): ι: B(P) → Ω(B(P)), for an operad P

Reference: Loday-Vallette “Algebraic Operads”, Section 6.5 and 11.3.

Functions

canonical_inclusion(cooperad)

Return the canonical inclusion ι: C → Ω(C).

canonical_projection(operad)

Return the canonical projection π: B(P) → P.

uconf.morphisms.canonical_twisting.canonical_projection(operad)[source]

Return the canonical projection π: B(P) → P.

The projection sends a bar tree to:

  • The P-decoration of its root, if the tree is a single-vertex corolla (root vertex with all children being leaves).

  • Zero otherwise.

For multi-vertex trees, the result is zero because the projection only sees the cogenerators of the cofree cooperad B(P).

The sign convention is: π sends [p] (the corolla suspended by +1) to p, with no additional sign.

Parameters:

operad (type[OperadComponent] | OperadFactory) – A connected dg-operad P.

Returns:

B(P) → P.

Return type:

A TwistingMorphism representing π

Example:

from uconf import Associative
pi = canonical_projection(Associative)
# pi.cooperad == BarConstruction(Associative)
# pi.operad == Associative
uconf.morphisms.canonical_twisting.canonical_inclusion(cooperad)[source]

Return the canonical inclusion ι: C → Ω(C).

The inclusion sends an element c ∈ C(n) (for n ≥ 2) to the single-vertex cobar tree in Ω(C)(n) decorated by c:

ι(c) = (c, 1, 2, …, n) in Ω(C)(n)

For n = 1 (the coaugmentation), the map is zero.

Parameters:

cooperad (type[CooperadComponent] | CooperadFactory) – A connected dg-cooperad C.

Returns:

C → Ω(C).

Return type:

A TwistingMorphism representing ι

Example:

from uconf import CoAssociative
iota = canonical_inclusion(CoAssociative)
# iota.cooperad == CoAssociative
# iota.operad == CobarConstruction(CoAssociative)