uconf.algebraic.hadamard_algebra

Hadamard-product algebra wrapper.

Given a P-algebra A and a Q-algebra B, this module builds the canonical (P Q)-algebra structure on A B where denotes the Hadamard product of operads.

For homogeneous pure tensors, the action is:

(p ⊗ q) · ((a_1 ⊗ b_1), ..., (a_n ⊗ b_n))
  = ε · (p·(a_1,...,a_n)) ⊗ (q·(b_1,...,b_n)),

where ε is the Koszul sign from the graded interchange:

p ⊗ q ⊗ a_1 ⊗ b_1 ⊗ … ⊗ a_n ⊗ b_n
↦ p ⊗ a_1 ⊗ … ⊗ a_n ⊗ q ⊗ b_1 ⊗ … ⊗ b_n:

ε = (-1)^{ |q| Σ_i |a_i|  +  Σ_{i<j} |b_i| · |a_j| }.

The differential on A B is the tensor one:

d(a ⊗ b) = da ⊗ b + (-1)^|a| a ⊗ db.

Classes

HadamardTensorAlgebra(left_algebra, ...)

The canonical (P Q)-algebra on A B.

class uconf.algebraic.hadamard_algebra.HadamardTensorAlgebra(left_algebra, right_algebra)[source]

Bases: OperadAlgebra

The canonical (P Q)-algebra on A B.

Parameters:
basis_iter(d)[source]

Iterate over basis elements of degree d.

Yields all (left_key, right_key) tensor-module basis elements with deg_A(left_key) + deg_B(right_key) = d. Both factors are enumerated via _module_basis_keys_in_degree().

Parameters:

d (int) – Homological degree to enumerate.

Yields:

Elements of the tensor module A B with degree d.

Return type:

Iterator

basis_weight_iter(d, w)[source]

Iterate over basis elements of degree d and weight w.

Yields all (left_key, right_key) tensor-module basis elements where deg(left) + deg(right) = d and weight(left) + weight(right) = w. Weights are obtained via _module_basis_keys_in_weight_and_degree() on each factor.

Parameters:
  • d (int) – Homological degree.

  • w (int) – Weight to enumerate.

Yields:

Elements of the tensor module A B with degree d and weight w.

Return type:

Iterator

graded_basis_by_weight[source]

/home/runner/work/uconf/uconf/src/uconf/algebraic/hadamard_algebra.py (starting at line 289) Family of basis elements of degree d and weight w.

Type:

File

boundary(a)[source]

Tensor differential induced from the two dg-module differentials.