# $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. Commented Jan 22, 2015 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.] Commented Jan 22, 2015 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. Commented Jan 22, 2015 at 16:08
• Just to illustrate the issue: img Commented Feb 21, 2015 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. Commented Apr 22, 2015 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.

• That is because the limit over reals is indeed 1, the limit over complexes does not exist. See my answer. The reason here is that you are not allowed to set assumption like that. Commented Jul 1, 2023 at 9:11
 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}


You are in no way allowed to assume -> variable (or variables). Simplify hack is one of the last left that it does not warn upon.

The limit over complexes is not the same as limit over reals. In fact, this correctly says limit does not exist.

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


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. Commented Jan 22, 2015 at 12:53