Planar Grossman–Larson Hopf Algebra
The kauri.pgl sub-package implements the planar (ordered) Grossman-Larson
Hopf algebra
\((H, \Delta_{PGL}, \cdot_{PGL}, \varepsilon_{PGL}, \bullet, S_{PGL})\),
defined as follows.
\(H\) is the set of all planar (ordered) rooted trees, where sibling order matters.
The unit is the single-vertex tree \(\bullet\).
The counit map is defined by \(\varepsilon_{PGL}(\bullet) = 1\), \(\varepsilon_{PGL}(t) = 0\) for all \(|t| > 1\).
The coproduct \(\Delta_{PGL}\) is cocommutative, and splits the children of the root into all possible subsets, preserving sibling order on both sides: for \(t = B_+(t_1, \ldots, t_k)\),
\[\Delta_{PGL}(t) = \sum_{S \subseteq \{1,\ldots,k\}} B_+(t_i : i \in S) \otimes B_+(t_j : j \notin S)\]The product \(\cdot_{PGL}\) (planar grafting) sums over all monotone assignments of the children of the right tree to vertices of the left tree (preserving left-to-right order), interleaving assigned branches at all positions among existing children. The product is noncommutative.
The antipode \(S_{PGL}(\bullet) = \bullet\) and
\[\begin{split}S_{PGL}(t) = -t - \sum_{\substack{S \subset \{1,\ldots,k\} \\ S \neq \emptyset,\, S \neq \{1,\ldots,k\}}} S_{PGL}(B_+(t_i : i \in S)) \cdot_{PGL} B_+(t_j : j \notin S)\end{split}\]
Example: Planar GL coproduct
import kauri as kr
import kauri.pgl as pgl
t = kr.PlanarTree([[],[[]]])
kr.display(pgl.coproduct(t))
Example: Planar GL grafting product
import kauri as kr
import kauri.pgl as pgl
t1 = kr.PlanarTree([[],[]])
t2 = kr.PlanarTree([[]])
kr.display(pgl.product(t1, t2))
- counit = <kauri.maps.Map object>
The counit \(\varepsilon_{PGL}\) of the planar Grossman-Larson Hopf algebra.
- Type:
Example usage:
print(pgl.counit(PlanarTree([]))) # Returns 1 print(pgl.counit(PlanarTree([[]]))) # Returns 0
1 0
- antipode = <kauri.maps.Map object>
The antipode \(S_{PGL}\) of the planar Grossman-Larson Hopf algebra.
Since the planar GL algebra is noncommutative, the antipode is an anti-homomorphism: \(S(t_1 t_2) = S(t_2) S(t_1)\). This map uses
anti=Trueto ensure forests are processed in reversed order.- Type:
Example usage:
t = PlanarTree([[[]],[]]) kr.display(pgl.antipode(t))
- coproduct(t: PlanarTree) TensorProductSum[source]
The coproduct \(\Delta_{PGL}\) of the planar Grossman-Larson Hopf algebra.
For a tree \(t = B_+(t_1, \ldots, t_k)\):
\[\Delta_{PGL}(t) = \sum_{S \subseteq \{1,\ldots,k\}} B_+(t_i : i \in S) \otimes B_+(t_j : j \notin S)\]where sibling order is preserved on both sides.
- Parameters:
t (PlanarTree) – planar tree
- Return type:
Example usage:
t = PlanarTree([[[]],[]]) kr.display(pgl.coproduct(t))
- product(s, t)[source]
The planar Grossman-Larson grafting product.
For trees \(s\) and \(t = B_+(b_1, \ldots, b_k)\), sums over all monotone assignments of \(b_1, \ldots, b_k\) to vertices of \(s\) (preserving left-to-right order), interleaving assigned branches at all positions among existing children.
Extends bilinearly to ForestSum arguments.
- Parameters:
- Return type:
Example usage:
kr.display(pgl.product(PlanarTree([[]]), PlanarTree([[]])))