An experiment in the visualization of elliptic functions

January 27, 2012

An elliptic function is defined as a meromorphic function with two complex periods, such that the ratio of the two periods has nonzero imaginary part. The double periodicity in the complex plane of an elliptic function is usually visualized through surface or contour plots, as in the following example:

equianharmonic Weierstrass elliptic functions, contour plots

The functions being visualized above essentially comprise what is termed as the “equianharmonic case” of the Weierstrass elliptic function, \wp(z;g_2,g_3). The plots are of the real and imaginary parts of the Weierstrass elliptic function and its derivative. It is easily seen from these plots that the functions possess a motif, whose shape can be taken to be a rhombus:

equianharmonic Weierstrass elliptic functions, single tile

One often sees in references like this book by N.I. Akhiezer the description of the topological equivalence of the lattice forming the domain of an elliptic function with the donut-shaped surface called the torus, where the edges of each repeating unit of the elliptic function are suitably identified and sewn together appropriately to form the torus. On a lark, I decided that I wanted to visualize in Mathematica the contour plots of the Weierstrass elliptic function being wrapped on a torus. Since the repeating unit of the equianharmonic case of the Weierstrass elliptic function is a rhombus as opposed to a rectangle like in the case of the Jacobian elliptic functions or the lemniscatic case of the Weierstrass elliptic function, a bit of trickery in Mathematica was necessary. After a fair bit of coding and some amount of time waiting for the pictures to render, I got what I wanted to see (note the correspondence between this and the previous images):

equianharmonic Weierstrass elliptic functions, torus embedding

Here for instance is a bigger version of the toroidal embedding of \Im(\wp^\prime(z)):

torus embedding of the imaginary part of the derivative of the Weierstrass function

For the time being, I have opted not to share the Mathematica code I have used here, since the code is horribly unoptimized. Suffice it to say for now that I was able to make good use of version eight’s new Texture[] feature; I used it to copy a single period rhombus of the Weierstrass function (obtained through ContourPlot[]) to cover the torus appropriately. I suppose the torus visualization technique would be simpler to apply in the case of the Jacobian elliptic functions, as their repeating units are essentially rectangular. A probably stiffer challenge for visualization would be the Dixon elliptic functions, whose repeating units are hexagonal in shape. My initial success in generating these pictures has been quite encouraging; I will definitely be doing a few more experiments on torus embeddings of elliptic functions.