# Complex map of $W(z^2)W( \frac{1}{z})$

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:

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}
]


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

• 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? Dec 22, 2023 at 0:54
• 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. Dec 22, 2023 at 1:50

• 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]


• 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]}


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