I implemented a library for working with finitely-generated connected Hopf algebras over the complex numbers. The code can be found in the darcs repository. While Hopf algebras can be quite abstract, finitely-generated connected Hopf algebras can be realized as a tensor product of a polynomial algebra together with a exterior algebra.
Elements are added using
h+, multiplied using
/\and printed using
h.. The unit is
1and the co-unit is
co1. I have not implemented co-multiplication yet, since I'm not sure how to represent an element of the tensor product of two Hopf algebras.
One starts by defining some generators, and their degrees:
SYMBOLS: a b c u ;
1 a deg=
1 b deg=
1 c deg=
2 u deg=
Every Hopf algebra embeds a copy of the ground field:
3 4 h+ h.
10 2 /\ h.
Even degree generators behave like polynomial indeterminites:
u u /\ 3 /\ u 4 /\ h+ h.
4u + 3u/\u
Odd degree elements "anti-commute:"
b a /\ h.
You can also define a differential -- this is of most interest to me personally, since my masters thesis will most likely focus on cohomology of Lie algebras.
Suppose we want the derivative of
a b /\ c /\ u d=
The derivative of a product is evaluated using the Liebnitz rule (
d(u/\v)=du/\v + (-1)^deg(v) u/\dv).
Now we can differentiate some expressions:
u u /\ d h.
An expression whose derivative is zero is known as a cycle:
u a /\ d h.
An element in the range of the differential is known as a boundary. It is a theorem that all boundaries are cycles; that is, applying
dtwice yields zero:
u u /\ d d h.