Skip to main content
Another example.
Source Link
Jens
  • 98.4k
  • 7
  • 217
  • 541

Michael's function states that the limit doesn't exist. Here the dependence on the path again shows up. What this shows is that getting an angle-independent result in the radial approach doesn't guarantee that a unique limit exists. Only the converse is true: you'll find an existing limit easily this way.

Michael's function states that the limit doesn't exist. Here the dependence on the path again shows up.

Michael's function states that the limit doesn't exist. Here the dependence on the path again shows up. What this shows is that getting an angle-independent result in the radial approach doesn't guarantee that a unique limit exists. Only the converse is true: you'll find an existing limit easily this way.

Another example.
Source Link
Jens
  • 98.4k
  • 7
  • 217
  • 541

Another example from Michael's answer:

radialLimit[(x y^2)/(x^2 + x^3 + y^4), {x, y}] 

e

Michael's function states that the limit doesn't exist. Here the dependence on the path again shows up.

Another example from Michael's answer:

radialLimit[(x y^2)/(x^2 + x^3 + y^4), {x, y}] 

e

Michael's function states that the limit doesn't exist. Here the dependence on the path again shows up.

Clarified non-uniqueness
Source Link
Jens
  • 98.4k
  • 7
  • 217
  • 541

As I said in my comment, the limit in the multidimensional space doesn't exist if the linear limit depends on the way you approach the point of interest (which can be chosen as the origin unless it's infinity). But if a limit exists, then of course you can find it by approaching from any direction.

A counter-example is

$$\frac{x}{x+y}$$

for $x, y\to 0$, which generically should"should" be $0$. But there is an exception for the line $y=0$ along which a linear limit gives $1$. And you can get other values by following other paths to the origin, see below.

Here is a limiting procedure that identifies generic values automatically if they exist, under the condition that we approach the limit radially. There are many other ways of approach, but this choice will always work if a true limit exists. The function radialLimit works in arbitrary number of dimensions, specified by the list of variables supplied in the second argument:

radialLimit[f_, vars_List] := Module[{r, angles, localVars, n}, n = Length[vars]; angles = Array[C, n]; localVars = Reverse@Table[ r Times @@ (Sin /@ angles[[1 ;; i - 1]]) Cos[angles[[i]]], {i, 1, n - 1}]; localVars = Insert[localVars, First[localVars] /. Cos[angles[[n - 1]]] -> Sin[angles[[n - 1]]], 2] ; {Limit[f /. Thread[vars -> localVars], r -> 0, Assumptions -> angles \[Element] Reals] // FullSimplify, Thread[vars -> localVars] /. r -> "r"} ] 

It uses hyperspherical coordinates (the generalization of polar coordinates), and returns the limit that was found, together with the mapping between the original function variables and the hyperspherical angles which are named C[i]. The limit is taken by doing $r \to 0$ where $r$ is the radial distance from the origin. If a unique limit does not exist, you'll get the dependence of the result on these angles. For example, here is the function used in Daniel's answer:

radialLimit[(x^4 - y^2 + 3*x^2*y - x^2)/(x^2 + y^2), {x, y}] 

a

The limit is unique because no dependence on angles remains after simplification. The previous non-unique example yields

radialLimit[x/(x + y), {x, y}] 

b

The example in whuber's post would be treated as follows:

f[x_, y_] := Piecewise[{{x y/(x^2 + y^2), x != 0 && y != 0}}, 0]; radialLimit[f[x, y], {x, y}] 

c

With this function, you can now also calculate limits in arbitrary dimensions, e.g., 3D:

radialLimit[Sin[x^2 + y^2 + z^2]/(x^2 + y^2 + z^2), {x, y, z}] 

d

As I said in my comment, the limit in the multidimensional space doesn't exist if the linear limit depends on the way you approach the point of interest (which can be chosen as the origin unless it's infinity). But if a limit exists, then of course you can find it by approaching from any direction.

A counter-example is

$$\frac{x}{x+y}$$

for $x, y\to 0$ which generically should be $0$. But there is an exception for the line $y=0$ along which a linear limit gives $1$.

Here is a limiting procedure that identifies generic values automatically if they exist, under the condition that we approach the limit radially. There are many other ways of approach, but this choice will always work if a true limit exists. The function radialLimit works in arbitrary number of dimensions, specified by the list of variables supplied in the second argument:

radialLimit[f_, vars_List] := Module[{r, angles, localVars, n}, n = Length[vars]; angles = Array[C, n]; localVars = Reverse@Table[ r Times @@ (Sin /@ angles[[1 ;; i - 1]]) Cos[angles[[i]]], {i, 1, n - 1}]; localVars = Insert[localVars, First[localVars] /. Cos[angles[[n - 1]]] -> Sin[angles[[n - 1]]], 2] ; {Limit[f /. Thread[vars -> localVars], r -> 0, Assumptions -> angles \[Element] Reals] // FullSimplify, Thread[vars -> localVars] /. r -> "r"} ] 

It uses hyperspherical coordinates (the generalization of polar coordinates), and returns the limit that was found, together with the mapping between the original function variables and the hyperspherical angles which are named C[i]. The limit is taken by doing $r \to 0$ where $r$ is the radial distance from the origin. If a unique limit does not exist, you'll get the dependence of the result on these angles. For example, here is the function used in Daniel's answer:

radialLimit[(x^4 - y^2 + 3*x^2*y - x^2)/(x^2 + y^2), {x, y}] 

a

The limit is unique because no dependence on angles remains after simplification. The previous non-unique example yields

radialLimit[x/(x + y), {x, y}] 

b

The example in whuber's post would be treated as follows:

f[x_, y_] := Piecewise[{{x y/(x^2 + y^2), x != 0 && y != 0}}, 0]; radialLimit[f[x, y], {x, y}] 

c

With this function, you can now also calculate limits in arbitrary dimensions, e.g., 3D:

radialLimit[Sin[x^2 + y^2 + z^2]/(x^2 + y^2 + z^2), {x, y, z}] 

d

As I said in my comment, the limit in the multidimensional space doesn't exist if the linear limit depends on the way you approach the point of interest (which can be chosen as the origin unless it's infinity). But if a limit exists, then of course you can find it by approaching from any direction.

A counter-example is

$$\frac{x}{x+y}$$

for $x, y\to 0$, which generically "should" be $0$. But there is an exception for the line $y=0$ along which a linear limit gives $1$. And you can get other values by following other paths to the origin, see below.

Here is a limiting procedure that identifies generic values automatically if they exist, under the condition that we approach the limit radially. There are many other ways of approach, but this choice will always work if a true limit exists. The function radialLimit works in arbitrary number of dimensions, specified by the list of variables supplied in the second argument:

radialLimit[f_, vars_List] := Module[{r, angles, localVars, n}, n = Length[vars]; angles = Array[C, n]; localVars = Reverse@Table[ r Times @@ (Sin /@ angles[[1 ;; i - 1]]) Cos[angles[[i]]], {i, 1, n - 1}]; localVars = Insert[localVars, First[localVars] /. Cos[angles[[n - 1]]] -> Sin[angles[[n - 1]]], 2] ; {Limit[f /. Thread[vars -> localVars], r -> 0, Assumptions -> angles \[Element] Reals] // FullSimplify, Thread[vars -> localVars] /. r -> "r"} ] 

It uses hyperspherical coordinates (the generalization of polar coordinates), and returns the limit that was found, together with the mapping between the original function variables and the hyperspherical angles which are named C[i]. The limit is taken by doing $r \to 0$ where $r$ is the radial distance from the origin. If a unique limit does not exist, you'll get the dependence of the result on these angles. For example, here is the function used in Daniel's answer:

radialLimit[(x^4 - y^2 + 3*x^2*y - x^2)/(x^2 + y^2), {x, y}] 

a

The limit is unique because no dependence on angles remains after simplification. The previous non-unique example yields

radialLimit[x/(x + y), {x, y}] 

b

The example in whuber's post would be treated as follows:

f[x_, y_] := Piecewise[{{x y/(x^2 + y^2), x != 0 && y != 0}}, 0]; radialLimit[f[x, y], {x, y}] 

c

With this function, you can now also calculate limits in arbitrary dimensions, e.g., 3D:

radialLimit[Sin[x^2 + y^2 + z^2]/(x^2 + y^2 + z^2), {x, y, z}] 

d

Source Link
Jens
  • 98.4k
  • 7
  • 217
  • 541
Loading