Function Repository Resource:

EisensteinE

Source Notebook

Evaluate the Eisenstein series

Contributed by: Jan Mangaldan

ResourceFunction["EisensteinE"][n,q]

gives the Eisenstein series En(q).

Details and Options

Mathematical function, suitable for both symbolic and numerical manipulation.
ResourceFunction["EisensteinE"] is defined only for positive even n and inside the unit q-disk.
For certain special arguments, ResourceFunction["EisensteinE"] automatically evaluates to exact values.
ResourceFunction["EisensteinE"] can be evaluated to arbitrary numerical precision.
ResourceFunction["EisensteinE"] automatically threads over lists.

Examples

Basic Examples (3) 

Evaluate numerically:

In[1]:=
ResourceFunction["EisensteinE"][8, 0.3]
Out[1]=

Plot E8(q) over a subset of the reals:

In[2]:=
Plot[ResourceFunction["EisensteinE"][8, q], {q, -1, 1}]
Out[2]=

Series expansion at the origin:

In[3]:=
Series[ResourceFunction["EisensteinE"][8, q], {q, 0, 7}]
Out[3]=

Scope (4) 

Evaluate for complex arguments:

In[4]:=
ResourceFunction["EisensteinE"][2, 0.5 + 0.3 I]
Out[4]=

Evaluate to high precision:

In[5]:=
N[ResourceFunction["EisensteinE"][2, Exp[I Pi/6]/3], 50]
Out[5]=

EisensteinE threads elementwise over lists:

In[6]:=
ResourceFunction["EisensteinE"][{4, 6, 8}, q]
Out[6]=

Simple exact values are generated automatically:

In[7]:=
ResourceFunction["EisensteinE"][10, 0]
Out[7]=

Applications (1) 

Plot near the unit circle in the complex q-plane:

In[8]:=
Plot[Re[ResourceFunction["EisensteinE"][2, 0.9 Exp[I \[Phi]]]], {\[Phi], -\[Pi], \[Pi]}]
Out[8]=
In[9]:=
Plot[Im[ResourceFunction["EisensteinE"][2, 0.9 Exp[I \[Phi]]]], {\[Phi], -\[Pi], \[Pi]}]
Out[9]=

Properties and Relations (2) 

EisensteinE[n,q] for n>2 can be expressed in terms of EllipticTheta:

In[10]:=
ResourceFunction["EisensteinE"][12, q] // FullSimplify
Out[10]=

WeierstrassInvariants can be expressed in terms of EisensteinE[4,q] and EisensteinE[6,q]:

In[11]:=
{\[Omega]1, \[Omega]3} = N[{2, 2 I}, 20];
WeierstrassInvariants[{\[Omega]1, \[Omega]3}] // Chop
Out[12]=
In[13]:=
2 {60, 140} Zeta[{4, 6}] ResourceFunction["EisensteinE"][{4, 6}, Exp[I \[Pi] \[Omega]3/\[Omega]1]]/(2 \[Omega]1)^{4, 6} // Chop
Out[13]=

Possible Issues (1) 

EisensteinE[n,q] is only defined for positive even n:

In[14]:=
N[ResourceFunction["EisensteinE"][3, 1/2]]
Out[14]=

Neat Examples (1) 

Visualize a function with a boundary of analyticity:

In[15]:=
With[{r = 0.995},
 ContourPlot[
  Arg[ResourceFunction["EisensteinE"][2, qx + I qy]], {qx, -1, 1}, {qy, -1, 1}, {ColorFunction -> (Hue[
Mod[#/(2 Pi), 1]]& ), ColorFunctionScaling -> False, Contours -> 60, ContourLines -> False, Frame -> False, MaxRecursion -> 1, PlotPoints -> 30, PlotRange -> All, RegionFunction -> (Norm[{#, #2}] < r& )}]]
Out[15]=
In[16]:=
ParametricPlot3D[{qr Cos[q\[Phi]], qr Sin[q\[Phi]], Abs[ResourceFunction["EisensteinE"][2, qr Exp[I q\[Phi]]]]}, {q\[Phi], -\[Pi], \[Pi]}, {qr, 0, 0.99}, BoxRatios -> {1, 1, 0.66}]
Out[16]=

Version History

  • 1.0.0 – 09 December 2020

Source Metadata

Related Resources

License Information