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

TreeModule(symmetric_sequence_cls, ...[, ...])

Common dg-module for tree-decorated composites S M.

class uconf.algebraic.tree_module.TreeModule(symmetric_sequence_cls, inner_module, *, vertex_degree_shift=0, name)[source]

Bases: CombinatorialFreeModule

Common dg-module for tree-decorated composites S M.

Basis keys are (tree, m_tuple) where internal vertices are decorated by elements of S and leaves by basis keys of M.

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_iter on its components (quasi-planar operads such as Associative, Surjection, BarrattEccles, or ShiftedOperad wrapping any of these). Only planar vertex decorations are enumerated, yielding one representative per S_n-orbit via the isomorphism P(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 d and weight w.

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 (w bounds 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]

graded_basis_by_weight[source]

/home/runner/work/uconf/uconf/src/uconf/algebraic/tree_module.py (starting at line 568) Cached family of basis elements of degree d and weight w.

Type:

File

TreeModule.Element[source]

alias of Element