Introduction
Introduction
The 1800s were a high point for German mathematics during which seminal ideas of Euler and Gauss came into sharper focus through the work of Jacobi, Riemann, Weierstrass, Klein, Fricke, Fuchs and many others. A new chapter in algebraic geometry was initiated by L. Fuchs around 1870, and subsequently his work on Hyperelliptic integrals was echoed in the later Fricke-Klein analysis of the Weierstrass normal form for elliptic curves (found in this textbook from about 1890). The story, as told by Jeremy Gray, reveals the foibles of our favorite heroes. At times they seem to bear a distant kinship to characters of the silver-screen classic "Treasure of the Sierra Madre". But the lustre of gold is not the type of beauty that drives a mathematician mad with passion and sets them into all hours of the night doing calculations.
One or two hundred years later, it’s easy enough to look back on the 1800s as the distant past. One view is that elliptic curve aficionados are behaving anachronistically if they dare to write a thesis about classical geometry. Another view, which we will take up again now, is that the intensity of some topics lends a longevity comparable to timelessness--As if the vein of precious materia runs so deep through the corners of the universe, that our findings here on earth could someday make a valuable trade to spacefaring aliens. According to the subject’s sheer difficulty, it can happen that important work goes relatively unnoticed, and later could use a bringing to light. The purpose of this memo is to show how to make the classical theory computable, and then use it to decode the results of Stephan Herfurtner's work on combinatorial algebraic geometry.
The Fuchsian Approach
The Fuchsian Approach
Elliptic curves in Weierstrass normal form are a special case of the Hyperelliptic curves considered by Fuchs. Thus we can adapt to the present problem specific methods we've previously used to re-prove Fuchs's theorem. First let us define the basic primitives of the Weierstrass normal form:
In[]:=
qhsWeierstrass=4q^3-G2[x]q-G3[x];p^2==qhsWeierstrassdpWeierstrass=D[(1/2)qhsWeierstrass,q]
Out[]=
2
p
3
q
Out[]=
1
2
2
q
Where G2[x] and G[3] are invariants, also sometimes called “Weierstrass data”. This data entirely determines integral periods taken over the complexified surface of the elliptic curve. Unfortunately, our built in function WeierstrassHalfPeriods does not lend itself well to series expansion in the modulus x, so we need to write down the invariant differential and find it’s closure with regard to differentiation under the integral sign.
This time we are not using a matrix method, but the calculation can be reformulated as such later. Yet again we start with an Ansatz for the Hermite reduction:
In[]:=
deg=3funU=Sum[f1[m]*q^m,{m,0,deg-2}]funV=Sum[f2[m]*q^m,{m,0,deg-1}]vars=Join[f1/@Range[0,1],f2/@Range[0,2]]
Out[]=
3
Out[]=
f1[0]+qf1[1]
Out[]=
f2[0]+qf2[1]+f2[2]
2
q
Out[]=
{f1[0],f1[1],f2[0],f2[1],f2[2]}
In[]:=
funW=Expand[funU*qhsWeierstrass-funV*dpWeierstrass]
Out[]=
4f1[0]+4f1[1]-6f2[0]-6f2[1]-6f2[2]-qf1[0]G2[x]-f1[1]G2[x]+f2[0]G2[x]+qf2[1]G2[x]+f2[2]G2[x]-f1[0]G3[x]-qf1[1]G3[x]
3
q
4
q
2
q
3
q
4
q
2
q
1
2
1
2
1
2
2
q
We also need the invariant differential and it’s next derivations:
In[]:=
invdiff=1/Sqrt[qhsWeierstrass]testForms=Apart[D[invdiff,{x,#}]&/@Range[0,2]];testForms2=Refine[Apart[p[q[t],x]testForms]/.qhsWeierstrass->p[q[t],x]^2,p[q[t],x]>0]
Out[]=
1
4-qG2[x]-G3[x]
3
q
Out[]=
1,+[x],+++-G2[x][x]-+--
q[x]
′
G2
2
2
p[q[t],x]
′
G3
2
2
p[q[t],x]
3[x]
2
q
2
′
G2
4
4
p[q[t],x]
3q[x][x]
′
G2
′
G3
2
4
p[q[t],x]
3[x]
2
′
G3
4
4
p[q[t],x]
2[x]
4
q
′′
G2
4
p[q[t],x]
2
q
′′
G2
2
4
p[q[t],x]
qG3[x][x]
′′
G2
2
4
p[q[t],x]
2[x]
3
q
′′
G3
4
p[q[t],x]
qG2[x][x]
′′
G3
2
4
p[q[t],x]
G3[x][x]
′′
G3
2
4
p[q[t],x]
Quite fortunately, the powers of q never exceed four, so it’s already looking hopeful that our previous procedure will go off without a flaw, and indeed it does. The first reduction is accomplished and checked as follows:
In[]:=
in1=Coefficient[p[q[t],x]^2*testForms2[[2]],q,#]&/@Range[0,4];
In[]:=
in1
Out[]=
[x],[x],0,0,0
′
G3
2
′
G2
2
In[]:=
CoefficientList[funW,q]
Out[]=
f2[0]G2[x]-f1[0]G3[x],-f1[0]G2[x]+f2[1]G2[x]-f1[1]G3[x],-6f2[0]-f1[1]G2[x]+f2[2]G2[x],4f1[0]-6f2[1],4f1[1]-6f2[2]
1
2
1
2
1
2
In[]:=
sol1=Solve[MapThread[Equal,{in1,CoefficientList[funW,q]}],vars][[1]];
In[]:=
Factor[funW/.sol1]/qhsWeierstrass;Factor[Dot[D[Divide[funV/.sol1,p],#]&/@{p,q},{dpWeierstrass,p}]];Factor[Factor[Plus[%%,-%]]/.p->Sqrt[qhsWeierstrass]];checkRed1=Factor[CoefficientList[%,q]];
In[]:=
reduced1=Factor[CoefficientList[funU-D[funV,q]/.sol1,q]]
Out[]=
-[x]-18G3[x][x],
2
G2[x]
′
G2
′
G3
4(-27)
3
G2[x]
2
G3[x]
3(-3G3[x][x]+2G2[x][x])
′
G2
′
G3
2(-27)
3
G2[x]
2
G3[x]
In[]:=
Together[reduced1-checkRed1]
Out[]=
{0,0}
The second reduction takes two steps of Hermite reduction, and again we can check both of them:
In[]:=
in2a=Expand[Coefficient[p[q[t],x]^4*testForms2[[3]],q,#]&/@Range[0,4]];
In[]:=
sol2a=Solve[MapThread[Equal,{in2a,CoefficientList[funW,q]}],vars][[1]];
In[]:=
Factor[funW/.sol2a]/p^4;Factor[Dot[D[Divide[funV/.sol2a,3p^3],#]&/@{p,q},{dpWeierstrass,p}]];Factor[Factor[p^2Plus[%%,-%]]/.p->Sqrt[qhsWeierstrass]];check2a=Factor[CoefficientList[%,q]];
In[]:=
With[{res=funU-1/3*D[funV,q]/.sol2a},in2b=Factor[Coefficient[res,q,#]]&/@Range[0,4]];
In[]:=
check2a-in2b[[1;;2]]
Out[]=
{0,0}
In[]:=
sol2b=Solve[MapThread[Equal,{in2b,CoefficientList[funW,q]}],vars][[1]];
In[]:=
Factor[funW/.sol2b]/qhsWeierstrass;Factor[Dot[D[Divide[funV/.sol2b,p],#]&/@{p,q},{dpWeierstrass,p}]];Factor[Factor[Plus[%%,-%]]/.p->Sqrt[qhsWeierstrass]];check2b=Factor[CoefficientList[%,q]];
In[]:=
reduced2=Factor[CoefficientList[funU-D[funV,q]/.sol2b,q]]
Out[]=
-(-5[x]-189G2[x][x]+432G3[x][x][x]-60[x]-2268[x]+4[x]-108[x]-72G3[x][x]+1944[x])16,3(9G3[x][x]-7[x][x]-135[x][x]+108G2[x]G3[x][x]-3G3[x][x]+81[x]+2[x]-54G2[x][x])
4
G2[x]
2
′
G2
2
G3[x]
2
′
G2
2
G2[x]
′
G2
′
G3
3
G2[x]
2
′
G3
2
G3[x]
2
′
G3
5
G2[x]
′′
G2
2
G2[x]
2
G3[x]
′′
G2
3
G2[x]
′′
G3
3
G3[x]
′′
G3
2
(-27)
3
G2[x]
2
G3[x]
1
2
2
(-27)
3
G2[x]
2
G3[x]
2
G2[x]
2
′
G2
3
G2[x]
′
G2
′
G3
2
G3[x]
′
G2
′
G3
2
′
G3
3
G2[x]
′′
G2
3
G3[x]
′′
G2
4
G2[x]
′′
G3
2
G3[x]
′′
G3
In[]:=
reduced2-check2b
Out[]=
{0,0}
The difficult part is done. Now we just need to find the nullspace:
In[]:=
diffRules={G2[x]->G2[0],[x]->G2[1],[x]->G2[2],G3[x]->G3[0],[x]->G3[1],[x]->G3[2]};
′
G2
′′
G2
′
G3
′′
G3
In[]:=
With[{coefficients=ReplaceAll[NullSpace[Transpose@{{1,0},reduced1,reduced2}],diffRules]},weierstrassPFCs=Cancel[Divide[#,PolynomialGCD@@#]&@coefficients[[1]]]]
Out[]=
{-21G2[0]G3[0]+18G3[1]+8G2[2]G3[1]-216G2[2]G3[1]+108G2[1]G3[0]-120G2[0]-8G2[1]G3[2]+216G2[1]G3[2],-16(9G3[0]-3G2[2]G3[0]+81G2[2]-7G2[1]G3[1]-135G2[1]G3[1]+108G2[0]G3[0]+2G3[2]-54G2[0]G3[2]),16(-27)(-3G2[1]G3[0]+2G2[0]G3[1])}
3
G2[1]
2
G2[0]
2
G2[1]
3
G2[0]
2
G3[0]
2
G3[1]
3
G3[1]
3
G2[0]
2
G3[0]
2
G2[0]
2
G2[1]
3
G2[0]
3
G3[0]
3
G2[0]
2
G3[0]
2
G3[1]
4
G2[0]
2
G3[0]
3
G2[0]
2
G3[0]
These coefficients multiply T(x), T’(x) and T’’(x) respectively, contributing to a differential equation, which (again) describes integrals taken along the elliptic surface:
In[]:=
Equal[0,Dot[weierstrassPFCs,D[T[x],{x,#}]&/@{0,1,2}]]
Out[]=
0(-21G2[0]G3[0]+18G3[1]+8G2[2]G3[1]-216G2[2]G3[1]+108G2[1]G3[0]-120G2[0]-8G2[1]G3[2]+216G2[1]G3[2])T[x]-16(9G3[0]-3G2[2]G3[0]+81G2[2]-7G2[1]G3[1]-135G2[1]G3[1]+108G2[0]G3[0]+2G3[2]-54G2[0]G3[2])[x]+16(-27)(-3G2[1]G3[0]+2G2[0]G3[1])[x]
3
G2[1]
2
G2[0]
2
G2[1]
3
G2[0]
2
G3[0]
2
G3[1]
3
G3[1]
3
G2[0]
2
G3[0]
2
G2[0]
2
G2[1]
3
G2[0]
3
G3[0]
3
G2[0]
2
G3[0]
2
G3[1]
4
G2[0]
2
G3[0]
′
T
3
G2[0]
2
G3[0]
′′
T
This is probably the equation we need, but before rushing on to Quality Analysis and Applications, let’s first see if we can also derive the same equation from the Fricke-Klein theory by change of variables.
Following Fricke and Klein
Following Fricke and Klein
Recent treatments of the Fricke-Klein derivation are given elsewhere. The procedure is similar to what we’ve just done, but with slightly different conventions how to choose the modulus. Perhaps with reckless abandon, we will jump into the derivation about midway and see where we can get from there. In this instance, we’re looking for an ODE constraining Ω[J], and have the following to start with
References to H[J] and its first derivative can be eliminated as follows:
The coefficients are then extracted as:
This is the typical result, which we will now modify by changing the independent variable:
Or with a little more care juggling differentials, we can derive the same result directly from the second order differential equation:
These two results agree, but not with our earlier calculation. Going back to the source text, we find that:
This requires yet another change of variables, this time on the dependent magnitude:
Now we can have a sense of certainty to the correctness of either derivation, because both of them agree exactly:
For convenience sake, we can wrap these coefficients in a function:
It is always prudent when obtaining a new function to double check its input/output map by running a few tests against known records.
Quality Analysis
Quality Analysis
Kontsevich and Zagier have given A broad overview of “Periods” in modern times, which also has nice test cases in Section 2 around page 10. We will run through them briefly:
Considering that G2, G3 are only twice derived in the periods annihilator, the second test especially looks sufficient to put down any remaining doubts.
A few Herfurtner results
A few Herfurtner results
Thanks again to Duco Van Straten’s close reading of the literature, and his willingness to share information, we can now proceed to extrapolate a few results from Stephan Herfurtner’s work. Comprehensive tabulation is to follow, for now let’s just look at a few highlights. It is certainly possible to do a better job deriving recurrence relations, but in this first pass we’ll choose a quick and easy Ansatz method:
1,2,3,6: OEIS in the lead again:
1,2,3,6: OEIS in the lead again:
Result: https://oeis.org/A000172
Result: https://oeis.org/A093388
Result: https://oeis.org/A002893
3,3,3,3: Into the Ramanujan Stratosphere:
3,3,3,3: Into the Ramanujan Stratosphere:
Result: https://oeis.org/A006480
Result: nAn
2,3,5,II: Hitting the Icosahedral vein?:
2,3,5,II: Hitting the Icosahedral vein?:
Result: nAn
Result: nAn
From what we can see here, these sequences are possibly a narrow miss of a few seemingly important integer sequences we found about five years ago (for example: https://oeis.org/A318495). Duco Van Straten claims to know another integrand or transformation which makes the analogy more clear. We are now waiting for him to clarify details. Stay tuned...
Acknowledgements
Acknowledgements
Thanks again Duco and Don for taking interest and sharing results! Exciting times...
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Weierstrass Periods after Fricke-Klein
by Brad Klee
Wolfram Community, STAFF PICKS, May 26 2023
https://community.wolfram.com/groups/-/m/t/2926119
by Brad Klee
Wolfram Community, STAFF PICKS, May 26 2023
https://community.wolfram.com/groups/-/m/t/2926119