uconf.wrappers.hadamard_operad

Hadamard product wrapper for operads.

For operads P and Q, this module implements the aritywise tensor-product operad P Q:

  • (P Q)(n) = P(n) Q(n) as graded modules,

  • differential d(p q) = dp q + (-1)^|p| p dq,

  • symmetric action diagonal: (p q)·σ = (p·σ) (q·σ),

  • partial composition diagonal: (p q) ∘_i (p' q') = (-1)^{|q|·|p'|} (p ∘_i p') (q ∘_i q').

Classes

HadamardProduct(left_operad_cls, ...)

Factory for Hadamard-product operad components.

class uconf.wrappers.hadamard_operad.HadamardProduct(left_operad_cls, right_operad_cls)[source]

Bases: UniqueRepresentation

Factory for Hadamard-product operad components.

EXAMPLES:

sage: from sage.all import QQ
sage: from uconf import HadamardProduct, Lie, Surjection
sage: H = HadamardProduct(Lie, Surjection)
sage: x = H(2, QQ)(((1,), (1, 2)))
sage: x.arity()
2
Parameters:
property connectivity: int

Connectivity of the Hadamard product.

(P Q)(n) lives in degrees >= (k_P + k_Q)*(n-1) since the degree of a tensor (p, q) is deg_P(p) + deg_Q(q) >= k_P*(n-1) + k_Q*(n-1).

unit(base_ring)[source]

Return the diagonal operadic unit over base_ring.

Return type:

Element

unit_key()[source]

Return the basis key of the unit element in arity 1.

Return type:

tuple

compose(x, i, y)[source]

Compose two Hadamard-product elements diagonally on both factors.

Parameters:
Return type:

Element

HadamardProduct.Component[source]

alias of Component

HadamardProduct.Element[source]

alias of Element