uconf.algebraic.tree_module¶
Shared tree-decorated composite module over a symmetric sequence and module.
This module implements the common dg-module machinery for composites of the form
S ∘ M
where S is an arity-indexed symmetric sequence (operad-like or cooperad-like for our use-cases) and M is an inner dg-module.
Classes
|
Common dg-module for tree-decorated composites |
- class uconf.algebraic.tree_module.TreeModule(symmetric_sequence_cls, inner_module, *, vertex_degree_shift=0, name)[source]¶
Bases:
CombinatorialFreeModuleCommon dg-module for tree-decorated composites
S ∘ M.Basis keys are
(tree, m_tuple)where internal vertices are decorated by elements ofSand leaves by basis keys ofM.- Parameters:
symmetric_sequence_cls (VertexDecorationLike)
inner_module (CombinatorialFreeModule)
vertex_degree_shift (int)
name (str)
- property connectivity: int¶
Minimum degree of any basis element.
Leaf-only elements (arity 1) have degree
connectivity(M). Tree elements (arity ≥ 2) have degree≥ vertex_degree_shift + connectivity(S) + 2 · connectivity(M).
- degree_on_basis(key)[source]¶
Degree = vertex contribution plus leaf-module contribution.
- Return type:
int
- basis_iter(d)[source]¶
Iterate over basis elements of total degree
d.Requires the symmetric sequence to support
planar_basis_iteron its components (quasi-planar operads such asAssociative,Surjection,BarrattEccles, orShiftedOperadwrapping any of these). Only planar vertex decorations are enumerated, yielding one representative perS_n-orbit via the isomorphismP(n) ⊗_{S_n} M^{⊗n} ≅ P_pl(n) ⊗ M^{⊗n}.- Raises:
NotImplementedError – when the symmetric sequence does not expose
planar_basis_iter(e.g.Commutative,Lie).ValueError – when the arity is unbounded in the requested degree (both S and M admit degree-0 generators).
- Parameters:
d (int)
- Return type:
Iterator[Any]
- graded_basis[source]¶
/home/runner/work/uconf/uconf/src/uconf/algebraic/tree_module.py (starting at line 463)
- Type:
File
- basis_weight_iter(d, w)[source]¶
Iterate over basis elements of total degree
dand weightw.Weight is additive: the weight of
(tree, m_tuple)is the sum of the weights of its leaf-module elements. The weight of an inner-module key is given by the inner module’s_weight_on_basis(); plain dg-modules without this attribute default to weight 1 per key.Unlike
basis_iter(), this method is always finite (wbounds the arity).- Raises:
NotImplementedError – when the symmetric sequence does not expose
planar_basis_iter(e.g.Commutative,Lie).- Parameters:
d (int)
w (int)
- Return type:
Iterator[Any]