uconf.core.quasi_planar¶
Quasi-planar structure for operads and cooperads.
A quasi-planar operad/cooperad is free as a symmetric module:
P(n) = P_pl(n) ⊗ k[S_n]
with planarize decomposing any element into its planar part and symmetric
group factor. The differential then splits as:
d(x ⊗ id) = Σ_σ d_σ(x) ⊗ σ
where each d_σ is a degree -1 map P_pl(n) → P_pl(n).
This module provides:
QuasiPlanarMixin— adds a genericd_sigmamethod to any graded module that already hasplanarizeandboundary.
Classes
Mixin providing |
|
|
Structural contract for a quasi-planar operad/cooperad component. |
- class uconf.core.quasi_planar.QuasiPlanarProtocol(n, base_ring)[source]¶
Bases:
ComponentProtocol,ProtocolStructural contract for a quasi-planar operad/cooperad component.
A class satisfies this protocol when it exposes
planarizeandboundary(both linear maps) andarity().- Parameters:
n (int)
- class uconf.core.quasi_planar.QuasiPlanarMixin[source]¶
Bases:
objectMixin providing
d_sigmafromboundaryandplanarize.Mix this into any
CombinatorialFreeModulecomponent that already implementsplanarize(element → C_pl ⊗ k[S_n]) andboundary.The
d_sigmamethod computes the σ-component of the differential restricted to planar generators:d_σ(x) = π_σ(d(x))
where
π_σis the projection onto the σ-factor of the symmetric decompositionP(n) = P_pl(n) ⊗ k[S_n].- is_planar_key(key)[source]¶
Return
Trueifkeyis a planar basis key.A key is planar when
planarize(term(key))yields only the identity permutation factor.- Parameters:
key (Any)
- Return type:
bool
- d_sigma(x, sigma)[source]¶
Return the
sigma-component ofboundary(x).Given a planar element
x ∈ P_pl(n)(or any element), computeboundary(x)and project onto thesigma-factor:d_σ(x) = Σ_{basis b in d(x)} coeff(b) · planar(b) where planarize(b) has σ-componentParameters¶
x : element of this component sigma : permutation in
S_n(Sage element, list, or tuple)Returns¶
The planar element
d_σ(x) ∈ P_pl(n)such that the σ-component ofd(x)isd_σ(x) ⊗ σ.- Parameters:
x (Any)
sigma (Any)
- Return type:
Any
- d_sigma_decompose(x)[source]¶
Decompose
boundary(x)into all σ-indexed components at once.Returns a dictionary
{σ: d_σ(x)}containing only the non-zero components. This is equivalent to callingd_sigma(x, σ)for everyσ ∈ S_n, but computesboundaryandplanarizeonly once instead of once per permutation query.Parameters¶
x : element of this component
Returns¶
- dict
Mapping from permutation σ to the non-zero planar element
d_σ(x) ∈ P_pl(n).
- Parameters:
x (Any)
- Return type:
dict[Any, Any]
- d_sigma_iterate(x, sigmas)[source]¶
Apply
d_sigmaiteratively for a sequence of permutations.Computes
d_{σ₁} ∘ d_{σ₂} ∘ ··· ∘ d_{σₖ}(x)wheresigmas = (σ₁, σ₂, ..., σₖ).Parameters¶
x : element of this component sigmas : iterable of permutations
Returns¶
The result of applying d_{σₖ}, then d_{σ_{k-1}}, …, then d_{σ₁}.
- Parameters:
x (Any)
sigmas (Iterable[Any])
- Return type:
Any