$L = \lim\limits_{z \to 1} \frac{1-z}{1-z^\ast}$ evaluates incorrectly

I'm about 90% certain this is a Mathematica issue, not me making a silly mistake.

I'm trying to evaluate $$L = \lim_{z \to 1} \frac{1-z}{1-z^\ast}.$$

Naively entering

Simplify[
Limit[(1 - z)/(1 - Conjugate[z]), z -> 1]
,
Element[z, Complexes]
]

Mathematica says $L = 1$.

However taking $z = x + i (1-x) , \, x \rightarrow 1$ looks like it gives $L=-i$, while $z = 1 + i y , \, y \rightarrow 0$ gives $L = -1$. I carefully verified the algebra of these last two in Mathematica. Together they imply the limit does not exist.

What is the issue here?

More interestingly, is there a general approach for troubleshooting where and why such things happen?

• Limits of real-valued functions of real variables can depend upon the limit direction (e.g., lim x->0+ or lim x->0-). That's why Mathematica allows specification of limit direction (mathematica.stackexchange.com/questions/6392/…). So too, limits of complex-valued functions of complex variables can depend upon the direction the limit point is approached. Jan 22 '15 at 4:54
• Ah thanks @David for pointing me in the right direction! This is partially discussed under "Possible Issues" in the Limits Mathematica documentation. Is there any way to track what Mathematica was using for Direction in the default Direction->Automatic? In particular, why would it choose a direction and report that as the answer when the standard notion of a limit says this doesn't exist? [Maybe this should be addended to the original rather than in a comment? Not sure on protocol.] Jan 22 '15 at 5:40
• I don't think Limit will handle Conjugate very well. Probably better to use explicitly real variables e.g. x+/-I*y. Then specify the path because, as you and others have noted, it matters. To approach from above fix x at 1 and have y->0. To approach along the unit circle, from the top, reparametrize as Cos[t]+I*Sin[t] and have t->0. Etc. Jan 22 '15 at 16:08
• Just to illustrate the issue: img Feb 21 '15 at 19:30
• Just to expand on what David G. Stork said: the limit of a complex-valued function $f(z)$ is direction-independent at all points in the complex plane (so long as said limit exists) if and only if it can be written as a function of $z$ only. Such a function is called holomorphic. Apr 22 '15 at 15:34

From

Trace[
Limit[(1 - z)/(1 - Conjugate[z]), z -> 1],
TraceInternal -> True]

one may observe a couple of things: First, Mathematica substitutes z -> z + 1, essentially transforming the limit to

Limit[z/Conjugate[z], z -> 0]

Second, it is using the default direction Direction -> -1, which may be observed in the assumption found in the details of the trace, namely, 0 < z < 1/4096. Indeed this second observation is consistent with the behavior described in the documentation for Limit:

Limit[expr, x -> Subscript[x, 0]] uses the setting Direction -> Automatic, which determines the direction from assumptions that have been given, using Direction -> -1 as the default. For limit points at infinity, the direction is determined from the direction of the infinity.

So indeed a limit of 1 is the correct documented behavior.

Limit[(1 - z)/(1 - Conjugate[z]), z -> 1, Direction -> #,
Assumptions -> Element[z, Complexes]] & /@ {-1, 1, I, -I}

(* {1, 1, -1, -1} *)

Output is identical to that of

Limit[z/Conjugate[z], z -> 0, Direction -> #,
Assumptions -> Element[z, Complexes]] & /@ {-1, 1, I, -I}

Try run this in Mathematica... I got 1. So I dont know how you got -1..

Limit[(1 - z + (1 - z)*I)/(1 - Conjugate[z + (1 - z)*I]), z -> 1]
• To me it looks like you're evaluating a limit that differs considerably from the one in the question. Perhaps you should add why evaluating it in this way sheds light into the issue. Jan 22 '15 at 12:53