CEM Hopf Algebra
The kauri.cem sub-package implements the Calaque, Ebrahimi-Fard and Manchon (CEM) [CEFM11] Hopf algebra
\((\widetilde{H}, \Delta_{CEM}, \mu, \varepsilon_{CEM}, \bullet, S_{CEM})\), defined as follows.
\(\widetilde{H}\) is the space of non-empty trees, defined as \(\widetilde{H} = H / J\) where \(J\) is the ideal generated by \(\bullet - \emptyset\).
The unit is the single-node tree, \(\bullet\).
The counit map is defined by \(\varepsilon_{CEM}(\bullet) = 1\), \(\varepsilon_{CEM}(t) = 0\) for all \(\bullet \neq t \in \widetilde{H}\).
Multiplication \(\mu : \widetilde{H} \otimes \widetilde{H} \to \widetilde{H}\) is defined as the commutative juxtaposition of two forests.
Comultiplication \(\Delta : \widetilde{H} \to \widetilde{H} \otimes \widetilde{H}\) is defined as
\[\Delta_{CEM}(t) = \sum_{s \subset t} s \otimes t / s\]where the sum runs over all possible subforests \(s\) of \(t\), and \(t / s\) is the tree obtained by contracting each connected component of \(s\) onto a vertex [CEFM11].
The antipode \(S_{CEM}\) is defined by \(S_{CEM}(\bullet) = \bullet\) and
\[S_{CEM}(t) = -t - \sum_{t, \bullet \neq s \subset t} S_{CEM}(s) \, t / s.\]
Note
We adopt the singleton-reduced coproduct, where the singleton tree \(\bullet\) appears in each forest at most once. This defines a Hopf algebra on \(\widetilde{H} = H / J\). There are alternative forms of the coproduct defined directly on \(H\), but these do not define a Hopf algebra.
Note
Since \(\bullet\) is the unit, characters \(\phi\) on the resulting Hopf algebra must satisfy \(\phi(\bullet) = 1\).
Example: CEM coproduct
import kauri as kr
import kauri.cem as cem
t = kr.Tree([[],[[]]])
kr.display(cem.coproduct(t))
- counit = <kauri.maps.Map object>
The counit \(\varepsilon_{CEM}\) of the CEM Hopf algebra.
- Type:
Example usage:
print(cem.counit(Tree([]))) # Returns 1 print(cem.counit(Tree([[]]))) # Returns 0
1 0
- antipode = <kauri.maps.Map object>
The antipode \(S_{CEM}\) of the CEM Hopf algebra.
- Type:
Example usage:
t = Tree([[[]],[]]) kr.display(cem.antipode(t))
- coproduct(t: Tree) TensorProductSum[source]
The coproduct \(\Delta_{CEM}\) of the CEM Hopf algebra.
- Parameters:
t (Tree) – tree
- Return type:
Example usage:
t = Tree([[[]],[]]) kr.display(cem.coproduct(t))
- map_product(f: Map, g: Map) Map[source]
Returns the product of maps in the CEM Hopf algebra, defined by
\[(f \cdot g)(t) := \mu \circ (f \otimes g) \circ \Delta_{CEM} (t)\]Note
cem.map_product(f,g) is equivalent to the Map operator f ^ g
Example usage:
f = cem.map_product(ident, cem.antipode) print(f(Tree([[]])))
0
- map_power(f: Map, exponent: int) Map[source]
Returns the power of a map in the CEM Hopf algebra, where the product of functions is defined by
\[(f \cdot g)(t) := \mu \circ (f \otimes g) \circ \Delta_{CEM} (t)\]and negative powers are defined as \(f^{-n} = (f \circ S_{CEM})^n\), where \(S_{CEM}\) is the CEM antipode.
- Parameters:
f (Map) – f
exponent (int) – exponent
Example usage:
S = cem.map_power(ident, -1) # antipode print(S(Tree([[]])))
-1 * [[]]