# how To Improve that ComplexPlot3D

I have in mind the result of

ComplexPlot3D[Log[MittagLefflerE[1/2, z]],{z, -50 - 50*I, 50 + 50*I},
PlotPoints -> 300,PlotRange -> All]


In particular, the plot should be seen over the whole quadrat.

Addition 1. Up to @J.M. is away sugestion,

ComplexPlot3D[Log[MittagLefflerE[1/2, z]], {z, -50 - 50*I, 50 + 50*I},
PlotPoints -> 300, PlotRange -> All,   WorkingPrecision -> 25] // AbsoluteTiming


{874.714, }

ComplexPlot3D[MittagLefflerE[1/2, z], {z, -50 - 50*I, 50 + 50*I},PlotRange -> All]


performs an empty plot.

Addition 3. Following another suggestion by @J. M. will be back soon,

ComplexPlot3D[Log[MittagLefflerE[1/2, z]], {z, -50 - 50*I, 50 + 50*I},
PlotPoints -> 300, PlotRange -> {0, 200}, WorkingPrecision -> 30]


• Some of it is due to large intermediate results not being computed accurately in machine precision; try setting WorkingPrecision -> 25, and there should be less holes in the surface. – J. M. will be back soon Sep 15 '19 at 8:44
• @J. M. is away: Thank you for your useful suggestion. – user64494 Sep 15 '19 at 9:08
• You could try increasing the setting of both WorkingPrecision and PlotPoints further, but of course this will make your plots take longer to generate. – J. M. will be back soon Sep 15 '19 at 9:23
• @J.M. will back soon: All that is not so simple. In particular, the argument of the function under consideration is not constant as the above plots show. Also the result of ComplexPlot3D[Log[MittagLefflerE[1/2, z]], {z, -50 - 50*I, 0 + 0*I}, PlotPoints -> 300, PlotRange -> All] is not correct. – user64494 Sep 15 '19 at 9:29
• "the result ... is not correct" - even after adjusting WorkingPrecision? – J. M. will be back soon Sep 15 '19 at 9:32

The branch cut structure here is very dense, which can be very hard for plotters to pick up.

Here are the cuts in a part of your domain:

Quiet @ Show[
ComplexPlot[
Log[MittagLefflerE[1/2, z]], {z, 0, 20 + 20 I},
Exclusions -> None, ColorFunction -> {Automatic, None}, ImageSize -> Large
],
ContourPlot[
Im[E^(x + I y)^2 Erfc[-x - I y]] == 0,
{x, 0, 20}, {y, 0, 20},
RegionFunction -> Function[{x, y, f}, Re[E^(x + I y)^2 Erfc[-x - I y]] <= 0],
PlotPoints -> 200, MaxRecursion -> 1, ContourStyle -> Black
]
]


We can turn these off with Exclusions -> None:

ComplexPlot3D[
Log[MittagLefflerE[1/2, z]],
{z, -50 - 50*I, 50 + 50*I},
Exclusions -> None,
NormalsFunction -> None,
PlotRange -> All,
WorkingPrecision -> 25
]