1
$\begingroup$

I'm trying to draw the Riemann surface defined by the polynomial $z^2=w^5-w$, where $z$ and $w$ are complex numbers. I'm a new user of Mathematica, and I tried manipulating some examples I found, but with no luck. Could someone help me, please?

$\endgroup$
4
  • $\begingroup$ Have you seen this answer? $\endgroup$
    – C. E.
    Feb 19, 2017 at 9:32
  • $\begingroup$ Yes I have seen it, but I don't know how to get to work. I'll try again. $\endgroup$
    – yaa09d
    Feb 19, 2017 at 22:16
  • $\begingroup$ I'm supposed to get a genus 2 surface but I don't get that! $\endgroup$
    – yaa09d
    Feb 19, 2017 at 23:04
  • $\begingroup$ Take a look at: mathematica-journal.com/2010/02/… $\endgroup$
    – Stratus
    Sep 17, 2017 at 15:24

2 Answers 2

3
$\begingroup$

Trott gives a simple technique in his article on rendering Riemann surfaces. At the time, he had said:

Although in principle this method works (…) for higher order polynomials the Resultant calculation will become much more expensive. Also, the generation of a high resolution ContourPlot3D requires much CPU time…

Nowadays, with more powerful computers, the method is now slightly more feasible to do:

expr = Expand[w^5 - w - z^2 /. {z -> x + I y, w -> u + I v}];

ip = Total[Expand[Cases[expr, _Complex _]/I]];
rp = Expand[expr - I ip];

resRe = Resultant[rp, ip, v];
resIm = Resultant[rp, ip, u];

{ContourPlot3D[resRe == 0, {x, -7, 7}, {y, -7, 7}, {u, -2, 2}, 
               AxesLabel -> {"x", "y", "u"}, BoundaryStyle -> None, 
               BoxRatios -> {3, 3, 2}, ContourStyle -> Opacity[2/3, ColorData[97, 3]],
               MaxRecursion -> 1, Mesh -> False, PlotLabel -> "real part",
               PlotPoints -> 55, PlotRange -> All],
 ContourPlot3D[resIm == 0, {x, -7, 7}, {y, -7, 7}, {v, -2, 2}, 
               AxesLabel -> {"x", "y", "v"}, BoundaryStyle -> None, 
               BoxRatios -> {3, 3, 2}, ContourStyle -> Opacity[2/3, ColorData[97, 1]],
               MaxRecursion -> 1, Mesh -> False, PlotLabel -> "imaginary part",
               PlotPoints -> 55, PlotRange -> All]} // GraphicsRow

Riemann surface for z^2 = w^5 - w

The artifacts along the surfaces' self-intersections is due to my inability to increase PlotPoints and MaxRecursion on my computer; a better computer than mine may be able to make a better picture.

$\endgroup$
0
$\begingroup$
ResourceFunction["RiemannSurfacePlot3D"][z^2 == w^5 - w, Re[z], {w, z}]

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.