How to plot this set of complex numbers?

I want to plot this set of complex numbers in Mathematica: $$D := \left\{\frac{1}{z}: z \in \mathbb{C}, \text{Im}(z) \ge 1, \text{Re}(z) \le \text{Im}(z), |z-1-i| \le 1\right\}$$

The domain of the mapping 1/z is

reg=ImplicitRegion[{y >= 1, x <= y, Abs[x + I*y - 1 - I] <= 1}, {x, y}]
RegionPlot[reg, AspectRatio -> Automatic]
RegionPlot[{x, y} ∈ reg, {x, -2, 2}, {y, -2, 2},
PlotPoints -> 80, MaxRecursion -> 2]
RegionPlot[RegionMember[reg, {x, y}], {x, -2, 2}, {y, -2, 2},
PlotPoints -> 80, MaxRecursion -> 2]



The range of the map 1/z is

ParametricPlot[ReIm[1/(x + I*y)], {x, y} ∈reg]


For the old version such 12.2, we have to use (maybe a bug)

ParametricPlot[
ReIm[1/(x + I*y)], {x, y} ∈ DiscretizeRegion@reg]


• Thanks, that works. I know want to change the output range (the part with AspectRation -> Automatic, I tried using RegionPlot[reg, {x, -2, 2}, {y, -2, 2}] but I get an empty plot. How can I do this?
– Tim
Dec 13, 2023 at 13:45
• @Tim see the updated. Dec 13, 2023 at 13:55
• @herbertfederer Nice answer! Any idea why it doesn't work in Mathematica v12.2? Thanks! Dec 13, 2023 at 18:52
• @UlrichNeumann Seems be a bug. Now ParametricPlot[ ReIm[1/(x + I*y)], {x, y} ∈ DiscretizeRegion@reg] Dec 13, 2023 at 19:58
• @herbertfederer Clever, that works. Thanks! Dec 13, 2023 at 20:00

Just for illustrative purposes:

Parametrizing

f[r_, t_, g_] :=
ReIm@g[ExpToTrig[(Sqrt[2] Exp[I Pi/4] + r Exp[I t])]]


Visualizing:

Manipulate[
Column[{ParametricPlot[f[r, t, Identity], {r, 0, 1}, {t, Pi/4, Pi},
Epilog -> {Red, Point[f[1, a, Identity]], Green,
Point[f[s, Pi/4, Identity]], Black, Point[f[w, Pi, Identity]]}],
ParametricPlot[f[r, t, 1/# &], {r, 0, 1}, {t, Pi/4, Pi},
Epilog -> {Red, Point[f[1, a, 1/# &]], Green,
Point[f[s, Pi/4, 1/# &]], Black, Point[f[w, Pi, 1/# &]]}]}], {a,
Pi/4, Pi}, {s, 0, 1}, {w, 0, 1}]


Perhaps this will be useful for the purposes of visualizing complex numbers.

We can use ComplexListPlot

With

complex = 1/(x + I y);


we do

ComplexListPlot[
Callout[#, #] & /@
Flatten[Table[
If[Im[complex] >= 1 && Re[complex] <= Im[complex] &&
Abs[complex - 1 - I] <= 1, complex, Nothing], {x, -5, 5, 1/
50}, {y, -5, 5, 1/50}]] // Rationalize[#, 0] & // Quiet]