I am trying to understand the behavior of the functions

$$ f(z) = e^\frac{1}{z} \qquad \text{and} \qquad \frac{1}{f(z)} = \frac{1}{e^\frac{1}{z}} $$

in the neighborhood of $z=0$.

From the power series representation of $e^{1/z}$, we know that $f$ has an essential singularity at $z=0$. Because $1/f(z) = f(-z)$ in this case, we know that $1/f$ is simply $f$ reflected about the origin, so $1/f$ should match the behavior of $f$ near $0$. In particular, $1/f$ also has an essential singularity at $z=0$.

In the newly released Mathematica 12, there is a function called ComplexPlot3D. Using the information on the documentation page, I was able to plot $g(z) = z$ and $h(z)=1/z$, as well as changing the plot range via the additional argument PlotRange → {0,100}.

This worked perfectly for $z$ and $1/z$ but only generated an empty plot with axes for $e^\frac{1}{z}$ or $1/\left(e^\frac{1}{z}\right)$.

I attempted to plot the same functions with different ranges using PlotRange but this did not change anything. This is the input I used:

 ComplexPlot3D[e^(1/z), {z, -1 - I, 1 + I}, PlotRange -> {0, 100}]

The problem shouldn't be the range, as $e^\frac{1}{z}$ should attain every value in $\mathbb{C}$ (except $0$) infinitely often in any neighborhood of $z=0$ ... there should be some points on the plot that show up, regardless of what PlotRange we choose.

So, my question is:

Why does ComplexPlot3D not work for $f(z) = e^\frac{1}{z}$? Is ComplexPlot3Dperhaps incompatible with essential singularities? Do I have some incorrect syntax or other mistake?


I think the problem is your lowercase e. That symbol is undefined in Mathematica. Either use Esc ee Esc, E, or Exp. The following seems to work fine:

ComplexPlot[Exp[1/z], {z, -1 - I, 1 + I}]

Complex Plot.

  • $\begingroup$ Thank you! I feel a bit silly knowing it's such a simple mistake ("$e$ is uppercase in mathematica"). That said, I do find it strange that $e$, $i$ (which are conventionally lowercase in pretty much all other math contexts) are uppercase in mathematica .. $\endgroup$ – Zubin Mukerjee Apr 18 at 18:06
  • 1
    $\begingroup$ @ZubinMukerjee Yeah, I agree. My guess is that it has to do with their design style where all built-in functions start with a capital letter, and they continued that to i and e, maybe? I often use Esc ee Esc and Esc ii Esc to make them seem more normal. $\endgroup$ – MassDefect Apr 18 at 18:15
  • 2
    $\begingroup$ @ZubinMukerjee: Requiring E and I is totally consistent with the rule that all built-in Mathematica names begin with upper-case letters (or with $ followed by an upper-case letter). The doubled-letter symbol you get with Esc ee Esc is just a shortcut for E. Of course you could avoid the whole issue by using the exponential function, as in Exp[1/z]. $\endgroup$ – murray Apr 18 at 20:36
  • 1
    $\begingroup$ @murray But not exp[1/z] of course. :) $\endgroup$ – Kellen Myers Apr 18 at 21:49
  • 2
    $\begingroup$ I use i as an iterator or an index all the time. IMO it’s good they stayed consistent with their naming conventions. $\endgroup$ – Chip Hurst Apr 19 at 0:38

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