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 */
.