6
$\begingroup$

I am trying to plot the function$$W(z^2)W\left(\dfrac{1}{z}\right)$$ in Desmos 3D, where $W(z)$ is the product log function and $z=x+iy$. You can check out my related Math.SE question here.

When I plugged the function into Wolfram Alpha (substituting in $z=x+iy$), I noticed one of the outputs labeled a "complex map", as you can see here:

enter image description here

I managed to plot the graph on the right using:

ComplexContourPlot[
  {Re[ProductLog[z^2] ProductLog[1/z]], Im[ProductLog[z^2] ProductLog[1/z]]},
  {z, 10}
]

enter image description here

How would I recreate the graph on the left? It also looks very interesting.

$\endgroup$
2
  • 1
    $\begingroup$ Would you mind rewriting your question more clearly? Is it what you are looking for ComplexContourPlot[{Re[z], Im[z]}, {z, 10}]? Or perhaps would you rather make it more creative like e.g. here? $\endgroup$
    – Artes
    Dec 22, 2023 at 0:54
  • 1
    $\begingroup$ Since it's a map $z \mapsto W(z^2)W(1/z)$, the grid on the left should be ComplexContourPlot[{Re[z], Im[z]}, {z, 10}]. I'm not sure how the black lines are defined, though. $\endgroup$
    – Goofy
    Dec 22, 2023 at 1:50

1 Answer 1

11
$\begingroup$
  • We use ParametricPlot to plot the mapping x+I*y -> ReIm[f[x+I*y]].
  • We subdivide the original domain to 11x11 parts.
f[z_] := ProductLog[z^2] ProductLog[1/z];
plots = Block[{z = x + I*y}, 
    ParametricPlot[#, {x, -4, 4}, {y, -4, 4}, 
     Mesh -> {Subdivide[-4, 4, 11], Subdivide[-4, 4, 11]}, 
     MeshStyle -> {{Thick, Opacity[1], Blue}, {Thick, Opacity[1], 
        Orange}}, PlotStyle -> None, Exclusions -> All, 
     PlotPoints -> 100, MaxRecursion -> 2, Frame -> False, 
     Axes -> False]] & /@ {ReIm[z], ReIm[f[z]]}
GraphicsRow[plots]

enter image description here

  • To plot the black lines.
{f1, f2, f3, f4} = {BSplineFunction[{{.15, -4}, {.15, -.6}}], 
  BSplineFunction[{{.15, 4}, {.15, .6}}], 
  BSplineFunction[{{-2.8, 0.1}, {-.1, 0.1}, {-.3, .12}, {-.15, .2}}], 
  BSplineFunction[{{-2.8, -0.1}, {-.1, -0.1}, {-.3, -.12}, {-.15, \
-.2}}]}; F = ReIm@*f@*({1, I} . # &);
plot1 = Block[{z = x + I*y}, 
   ParametricPlot[{f1@s, f2@s, f3@s, f4@s}, {s, 0, 1}, 
    PlotPoints -> 100, MaxRecursion -> 2, AspectRatio -> Automatic, 
    PlotRange -> All, PlotStyle -> Directive@{Thick, Black}]];
plot2 = ParametricPlot[{F@*f1@s, F@*f2@s, F@*f3@s, F@*f4@s}, {s, 0, 
    1}, PlotPoints -> 100, MaxRecursion -> 2, 
   AspectRatio -> Automatic, PlotRange -> All, Exclusions -> None, 
   PlotStyle -> Black];
GraphicsRow@{Show[plots[[1]], plot1], Show[plots[[2]], plot2]}

enter image description here

$\endgroup$
4
  • $\begingroup$ What are the black lines? What do they represent? $\endgroup$
    – MarcoB
    Dec 22, 2023 at 17:07
  • 1
    $\begingroup$ @MarcoB since z==0 is a singular point, we using the black lines as the trails to approaching z==0. $\endgroup$
    – cvgmt
    Dec 23, 2023 at 0:14
  • $\begingroup$ Ah! I see. Thank you. (+1) $\endgroup$
    – MarcoB
    Dec 23, 2023 at 1:58
  • $\begingroup$ @cvgmt very nice +1 :) $\endgroup$
    – ubpdqn
    Dec 23, 2023 at 4:28

Your Answer

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

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