Planes, trains and Kummer Surfaces

Here’s a short blog post for the holiday season, inspired by this article from Wolfram MathWorld. The topic is Kummer Surfaces, which are a particular family of algebraic varieties in 3-dimensional space. They make beautiful mathematical pictures, like these from their wikipedia page:


A Kummer surface is the points in space where a particular equation is satisfied. One way to describe them is as the zero-sets of equations like:

{(x^2 + y^2 + z^2 - \mu^2 )}^2 - \lambda (-z-\sqrt{2} x) ( -z + \sqrt{2} x) ( z + \sqrt{2} y ) ( z - \sqrt{2} y ).

The variables x, y , z are coordinates in 3-dimensional space, and \lambda and \mu are two parameters, related by the equation \lambda ( 3 - \mu^2) = 3 \mu^2 - 1. As we change the value of the parameter, the equation changes, and its zero set changes too.

What does the Kummer Surface look like as the parameter \mu changes?

When the parameter \mu^2 = 3, the non-linearity of the Kummer surface disappears, the surface degenerates to a union of four planes.


When the parameter is close to 3, we’re between planes and Kummer surfaces:


And for \mu^2 = 1.5, we see the 16 singular points surrounding five almost-tetrahedra, in the center. A zoomed in version is in my other blog post that featured Kummer Surfaces.


Ok, I can see “planes” and “Kummer surface”, but what about “trains”? Well, I guess you say that when a parameter is changing, often something is being trained. Though, er, not here.

This equation is not for a Kummer surface, but it’s not so dissimilar either. It came up recently in one of my research projects:

{\left( x^2 + y^2 + z^2 - 2( x y + x z + y z ) \right)}^2  - 2(x + y - z )( x - y + z ) ( - x + y + z )

P.S. The code (language=Mathematica) that I used to make the video is here:

anim = Animate[
 ContourPlot3D[{(x^2 + y^2 + z^2 - 
 musq)^2 - ((3*musq - 1)/(3 - musq))*(1 - z - 
 sq2*x)*(1 - z + sq2*x)*(1 + z + sq2*y)*(1 + z - sq2*y) == 
 0}, {x, -5, 5}, {y, -5, 5}, {z, -5, 5}, 
 PerformanceGoal -> "Quality", BoxRatios -> 1, 
 PlotRange -> 1], {musq, 3.001, 1, 0.0002}];

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s