Bivariate Limits
The limit command has been enhanced for the case of limits of bivariate rational functions. Many such limits that could not be determined previously are now computable. The new algorithm specifically handles the case where the function has an isolated singularity at the limit point. In Maple 16, the following limit calls would return unevaluated, but they can be computed in Maple 17.
f≔x yx2+y2:
limitf,x=0,y=0
undefined
g≔x y2x4+y2:
limitg,x=0,y=0
0
h≔x4+x2+x y2+y2x2−x2y+y2:
limith,x=0,y=0
1
Let us plot these three functions in the neighborhood of the origin:
pf≔plot3df,x=−0.1..0.1,y=−0.1..0.1,axes=boxed:pf
pg≔plot3dg,x=−0.1..0.1,y=−0.1..0.1,axes=boxed:pg
ph≔plot3dh,x=−0.1..0.1,y=−0.1..0.1,axes=boxed:ph
In the last two examples, we can visually verify the existence of the limit.
In the first example, by inspecting the graph we can identify two different directions with different limits, namely y=x and y=−x. Indeed:
evalf,y=x
12
evalf,y=−x
−12
withplots:
c1≔spacecurvex,x,12,x=−0.1..0.1,color=red,thickness=3:
c2≔spacecurvex,−x,−12,x=−0.1..0.1,color=blue,thickness=3:
displaypf,c1,c2
How does Maple determine these limits? Let us consider a circle C given by x2+y2=r2, where we will later let r →0. Using the theory of Lagrange multipliers, the extremal values (maxima and minima) of the function f on the circle, for a fixed radius r, satisfy the condition that the gradient of the function and the gradient of the constraint equation of the circle are parallel:
C≔x2+y2−r2:
withVectorCalculus:
df≔normal~Jacobianf,x,y
dC≔JacobianC,x,y
eq≔numernormaldf1,1dC1,2−df1,2dC1,1
eq:=−2⁢x2+2⁢y2
Thus, the maximal and minimal values of f on C occur when both C=0 and eq=0. For the bivariate limit, this means that it is sufficient to consider only those critical paths satisfying eq=0. In the example, there are two such paths, namely, y=x and y=−x, and indeed they are exactly the same two paths from above leading to the extremal values 12 and −12. Since we have found two directions with different limits, we can conclude that the bivariate limit does not exist.
The following graph depicts both critical paths in the x,y-plane.
implicitploteq,x=−0.1..0.1,y=−0.1..0.1,numpoints=10000,thickness=2
Note that the critical paths are not necessarily always lines. For example, in the second example above:
dg≔normal~Jacobiang,x,y
eq≔numernormaldg1,1dC1,2−dg1,2dC1,1
eq:=−2⁢y⁢2⁢x6+3⁢x4⁢y2−y4
implicitploteq,x=−0.1..0.1,y=−0.1..0.1,numpoints=100000,thickness=2
In fact, we can give nonlinear closed form expressions for the critical paths:
paths≔solveeq,y
paths:=0,12⁢2⁢x⁢9⁢x2+8+6⁢x2⁢x,−12⁢2⁢x⁢9⁢x2+8+6⁢x2⁢x,12⁢−2⁢x⁢9⁢x2+8+6⁢x2⁢x,−12⁢−2⁢x⁢9⁢x2+8+6⁢x2⁢x
In our example, the limits along all of the critical paths are identical:
mapz→evalaNormalevalg,y=z,paths
0,14⁢x⁢9⁢x2+8+3⁢x2−4⁢x2⁢x2−1,14⁢x⁢9⁢x2+8+3⁢x2−4⁢x2⁢x2−1,14⁢−x⁢9⁢x2+8+3⁢x2−4⁢x2⁢x2−1,14⁢−x⁢9⁢x2+8+3⁢x2−4⁢x2⁢x2−1
limit~,x=0
0,0,0,0,0
This is a proof that the bivariate limit of g at the origin exists and is equal to 0.
The following graph depicts the function g as well as all of the critical paths:
curves ≔mapz→plotsspacecurvex,z,evalg,y=z,x=−0.1..0.1,color=red,thickness=3,paths:
displaypg,opcurves
See Also
limit, limit/multi - multidimensional limits
Download Help Document