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
|
The canonical |
- class uconf.algebraic.hadamard_algebra.HadamardTensorAlgebra(left_algebra, right_algebra)[source]¶
Bases:
OperadAlgebraThe canonical
(P ⊙ Q)-algebra onA ⊗ B.- Parameters:
left_algebra (OperadAlgebra) – A
P-algebra wrapper.right_algebra (OperadAlgebra) – A
Q-algebra wrapper.
- basis_iter(d)[source]¶
Iterate over basis elements of degree d.
Yields all
(left_key, right_key)tensor-module basis elements withdeg_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 ⊗ Bwith degreed.- Return type:
Iterator
- basis_weight_iter(d, w)[source]¶
Iterate over basis elements of degree
dand weightw.Yields all
(left_key, right_key)tensor-module basis elements wheredeg(left) + deg(right) = dandweight(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 ⊗ Bwith degreedand weightw.- Return type:
Iterator