BCK Hopf Algebra
The kauri.bck sub-package implements the Butcher-Connes-Kreimer (BCK) [CK99] Hopf algebra
\((H, \Delta_{BCK}, \mu, \varepsilon_{BCK}, \emptyset, S_{BCK})\), defined as follows.
\(H\) is the set of all non-planar rooted trees.
The unit \(\emptyset\) is the empty forest.
The counit map is defined by \(\varepsilon_{BCK}(\emptyset) = 1\), \(\varepsilon_{BCK}(t) = 0\) for all \(\emptyset \neq t \in H\).
Multiplication \(\mu : H \otimes H \to H\) is defined as the commutative juxtaposition of two forests.
Comultiplication \(\Delta : H \to H \otimes H\) is defined as
\[\Delta_{BCK}(t) = t \otimes \emptyset + \emptyset \otimes t + \sum_{s \subset t} [t \setminus s] \otimes s\]where the sum runs over all proper rooted subtrees \(s\) of \(t\), and \([t \setminus s]\) is the forest of all trees remaining after erasing \(s\) from \(t\).
The antipode \(S_{BCK}\) is defined by \(S_{BCK}(\bullet) = -\bullet\) and
\[S_{BCK}(t) = -t - \sum_{s \subset t} S_{BCK}([t \setminus s]) \, s.\]
Example: BCK coproduct
import kauri as kr
import kauri.bck as bck
t = kr.Tree([[],[[]]])
kr.display(bck.coproduct(t))
Example: BCK antipode
import kauri as kr
import kauri.bck as bck
t = kr.Tree([[],[[]]])
kr.display(bck.antipode(t))
- counit = <kauri.maps.Map object>
The counit \(\varepsilon_{BCK}\) of the BCK Hopf algebra.
- Type:
Example usage:
print(bck.counit(Tree(None))) # Returns 1 print(bck.counit(Tree([]))) # Returns 0
1 0
- antipode = <kauri.maps.Map object>
The antipode \(S_{BCK}\) of the BCK Hopf algebra.
- Type:
Example usage:
t = Tree([[[]],[]]) kr.display(bck.antipode(t))
- coproduct(t: Tree) TensorProductSum[source]
The coproduct \(\Delta_{BCK}\) of the BCK Hopf algebra.
- Parameters:
t (Tree) – tree
- Return type:
Example usage:
t = Tree([[[]],[]]) kr.display(bck.coproduct(t))
- map_product(f: Map, g: Map) Map[source]
Returns the product of maps in the BCK Hopf algebra, defined by
\[(f \cdot g)(t) := \mu \circ (f \otimes g) \circ \Delta_{BCK} (t)\]Note
bck.map_product(f,g) is equivalent to the Map operator f * g
Example usage:
f = bck.map_product(ident, bck.antipode) print(f(Tree([[]])))
0
- map_power(f: Map, exponent: int) Map[source]
Returns the power of a map in the BCK Hopf algebra, where the product of functions is defined by
\[(f \cdot g)(t) := \mu \circ (f \otimes g) \circ \Delta_{BCK} (t)\]and negative powers are defined as \(f^{-n} = (f \circ S_{BCK})^n\), where \(S_{BCK}\) is the BCK antipode.
Note
bck.map_power(f, n) is equivalent to the Map operator f ** n
- Parameters:
f (Map) – f
exponent (int) – exponent
Example usage:
S = bck.map_power(ident, -1) # antipode print(S(Tree([[]])))
-1 * [[]] + 1 * [] []