In this page, I hope to collect information regarding the Hopf algeboid structure on . The main point of this page is the maxima code at the end that gives explicit formulas. Recall that the structure of a Hopf algebroid involves maps
- .
All of these maps are ring maps. Moreover, is a -bimodule via and , and and are -bimodule maps. Recall also that
- with .
- with .
Choice of generators
The elements are not "well-defined". There are two standard choicse. Our formulas below will be expressed in terms of auxiliary variables , and the two choices correspond to how is expressed in terms of .
The Hazewinkel generators are defined by
The Araki generators are defined by
Formulas
Explicit formulas for the Hopf algebroid structure are as follows:
For the purposes of applying the last two formulas, it is useful to note that has degree ; and has degree , etc.
Maxima code
The following contains code for computing , and in maxima:
p : 3; /* Define some edge cases */ t[0] : 1; s[0] : 1; c[0] : 1; v[0] : p; /* Hazewinkel */ l[n] := if is(equal(n, 0)) then 1 else 1/p * sum(l[i] * (v[n-i])^(p^i) ,i, 0, n-1); m(n) := n-1; /* Araki */ /* l[n] := if is(equal(n, 0)) then 1 else 1/(p - p^(p^n)) * sum(l[i] * (v[n-i])^(p^i) ,i, 0, n-1); m(n) := n; */ /* Actual code */ etaRl[n] := sum(l[i] * t[n-i]^(p^i),i, 0, n); etaR[n] := if is(equal(n, 0)) then p else expand(p * etaRl[n] - sum(etaRl[i] * (etaR[n-i]^(p^i)), i, 1, m(n))); d[n] := expand(sum(sum(l[i] * t[j]^(p^i) * s[n-i-j]^(p^(i+j)), j, 0, n-i),i, 0, n) - sum(l[i] * d[n-i]^(p^i), i, 1, n)); c[n] := expand(l[n] - sum(sum(l[i] * t[n-k-i]^(p^i) * c[k]^(p^(n-k)), i, 0, n-k), k, 0, n-1));
To use this in maxima, Then import/paste in the above code. You can then type etaR[n] to compute , and d[n] and c[n] to compute and respectively. Note that the computation time needed grows very quickly with n.
By default, this does calculations at the prime 3, which can be customized in the first line.
Also, by default, this uses the Hazewinkel generators. If you want to use the Araki generators, comment out the two lines following /* Hazewinkel */ and uncomment those following /* Araki */.