Bivariate Limits
The limit command has been enhanced for the case of limits of quotients of two bivariate analytic functions (i.e., functions in two variables for which a Taylor expansion exists at the limit point). Many such limits that could not be determined previously are now computable. In Maple 2016, the following limit calls would return unevaluated, but they can now be computed in Maple 2017.
f≔sinx y2−cosx−cosy:
limitf,x=0,y=0
−1..1
g≔cosx2+y3−1x2+y2:
limitg,x=0,y=0
0
Plot these two functions in the neighborhood of the origin:
pf≔plot3df,x=−0.5..0.5,y=−0.5..0.5,axes=boxed:pf
pg≔plot3dg,x=−0.5..0.5,y=−0.5..0.5,axes=boxed:pg
In the latter example, you can visually verify the existence of the limit.
In the first example, by inspecting the graph you can identify two different directions with different limits, namely y=x and y=−x. Indeed:
f__1≔fx=a|f(x)y=x;limx→0f__1
f__1≔sin⁡x22−2⁢cos⁡x
1
f__2≔fx=a|f(x)y=−x;limx→0f__2
f__2≔−sin⁡x22−2⁢cos⁡x
−1
withplots:
c1≔spacecurvex,x,1,x=−0.5..0.5,color=red,thickness=3:
c2≔spacecurvex,−x,−1,x=−0.5..0.5,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:withLinearAlgebra:
df≔normal~Jacobianf,x,y
df≔−y⁢cos⁡x⁢y⁢cos⁡x+y⁢cos⁡x⁢y⁢cos⁡y−2⁢y⁢cos⁡x⁢y+sin⁡x⁢y⁢sin⁡x−2+cos⁡x+cos⁡y2−x⁢cos⁡x⁢y⁢cos⁡x+x⁢cos⁡x⁢y⁢cos⁡y−2⁢x⁢cos⁡x⁢y+sin⁡x⁢y⁢sin⁡y−2+cos⁡x+cos⁡y2
dC≔JacobianC,x,y
dC≔2⁢x2⁢y
eq≔numernormalDeterminantdf,dC
eq≔2⁢cos⁡x⁢cos⁡x⁢y⁢x2−2⁢cos⁡x⁢cos⁡x⁢y⁢y2+2⁢cos⁡y⁢cos⁡x⁢y⁢x2−2⁢cos⁡y⁢cos⁡x⁢y⁢y2−2⁢sin⁡x⁢y⁢sin⁡x⁢y+2⁢sin⁡x⁢y⁢sin⁡y⁢x−4⁢cos⁡x⁢y⁢x2+4⁢cos⁡x⁢y⁢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 order to solve this equation, first approximate it by a multivariate Taylor series at the origin, up to terms of order 8 or higher.
eq2≔mtayloreq,x,y,8
eq2≔−x4+y4+112⁢x6+14⁢x4⁢y2−14⁢x2⁢y4−112⁢y6
Now consider y the main variable and try to solve the equation eq2=0 in terms of univariate Taylor series y=sx, and start by looking at the lowest degree terms of eq2, specifically
selectdegree=4,eq2
−x4+y4
factor
−x−y⁢x+y⁢x2+y2
You see that there are two approximate solutions which make the lowest degree terms of eq2 vanish, specifically, y=x and y=−x. In this example, these actually make the original equation eq vanish identically:
eqx=a|f(x)y=x
eqx=a|f(x)y=−x
Indeed, these are exactly the same two paths from above leading to the extremal values 1 and −1. Since you have found two directions with different limits, you can conclude that the bivariate limit does not exist. The third factor, x2+y2, does not admit any real solutions and can therefore be ignored. The following graph depicts both critical paths in the x, y-plane.
implicitploteq,x=−0.5..0.5,y=−0.5..0.5,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
dg≔−2⁢x⁢sin⁡x2⁢x2+sin⁡x2⁢y2+y3+cos⁡x2−1x2+y22−y⁢−3⁢x2⁢y−y3+2⁢cos⁡x2−2x2+y22
eq≔numernormalDeterminantdg,dC
eq≔−2⁢x⁢y⁢2⁢sin⁡x2+3⁢y
implicitploteq,x=−0.5..0.5,y=−0.5..0.5,numpoints=100000,thickness=3
In this example, eq factors into linear factors, and you obtain the following solutions for the critical paths:
paths ≔ Vector3:paths1≔x=solveop2,eq,x:paths2≔y=solveop3,eq,y:paths3≔y=solveop4,eq,y:paths
The limits along all of the critical paths are identical:
g__1≔gx=a|f(x)paths1;limy→0g__1
g__1≔y
g__2≔gx=a|f(x)paths2;limx→0g__2
g__2≔cos⁡x2−1x2
g__3≔gx=a|f(x)paths3;limx→0g__3
g__3≔cos⁡x2−8⁢sin⁡x2327−1x2+4⁢sin⁡x229
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:
curve__1≔plotsspacecurverhspaths1,y,g__1,y=−0.5..0.5,color=red,thickness=3:
curve__2≔plotsspacecurvex,rhspaths2,g__2,x=−0.5..0.5,color=red,thickness=3:
curve__3≔plotsspacecurvex,rhspaths3,g__3,x=−0.5..0.5,color=red,thickness=3:
displaypg,curve__1, curve__2,curve__3
In general, the critical equation does not factor into linear factors, and then series approximations for all the critical paths are used.
See Also
updates/Maple17/BivariateLimits, updates/Maple2015/BivariateLimits, limit, limit/multi - multidimensional limits
Download Help Document