Bivariate Limits - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Math Apps : Calculus : Multivariate : MathApps/BivariateLimits

Bivariate Limits

Main Concept

In this MathApp we are concerned with limits of real rational bivariate functions f that map as f :  ℝ2  ℝ, i.e. they map a pair of real values x,yℝ2  to a single real number. We will be interested in the limiting behavior of this function at a critical point which we choose to be x,y=0,0. For univariate functions there exist maximally two ways to approach a point in their domain  (from the left and from the right). Thus, to check the existence of a limit, we need to calculate the two one-sided limits and compare their values. For bivariate functions though, there are in general infinitely many ways to approach a point in 2 whose limits have to agree to confirm the existence of a bivariate limit. This makes their calculation significantly more involved.

By means of the Lagrange multiplier technique, one can reformulate the problem of a bivariate limit calculation to the calculation of only a finite number of one-dimensional limits. Instead of having to compute the limits of f for all, in principle infinitely many, paths, we can concentrate on a finite set of critical paths obtained via this technique. If their limits exist and coincide, then the bivariate limit exists and corresponds to the limiting value of f along these critical paths. Otherwise, it does not exist and the method gives a lower and upper bound for the values of f at that point.


Calculation of Bivariate Limits as Constrained Optimization Problem

In order to understand the behavior of a bivariate function f when approaching a point in 2, let us first look at its behavior in a small neighborhood around this point. In particular, we are interested in the minima and maxima of the function in this region and their behavior as we approach the limit point. Let us illustrate this by looking at the function


and by studying its behavior for x,y  0,0. We start by examining f on small circles in the x,y-plane about the origin. Their radius shall be denoted by r and we will later let r  0.

Fig.1 shows a contour plot of f__. Hover over the plot to see its values in the different regions. Furthermore, a circle is drawn about the origin. The solid circles and squares indicate the positions of minima and maxima, respectively, of f__  along the circle. Using the slider you can increase and decrease the radius of the circle and thus track the position of these points. By checking the "Show curves of minima and maxima" checkbox the plot displays the paths connecting these minima and maxima. Clicking on "Play" will animate the process r  0.




  Radius r :  


  Animation :  
  Speed :     

                                      slow                                       fast




Fig.1: Visualization of   f__   near the origin

If the function f__ approaches the same value for r  0 along these paths, then all possible paths will approach this value since they cannot give a larger or smaller value than that of the maximum or minimum, respectively. If they instead give different limiting values, then the bivariate limit does not exist and the procedure returns an upper and lower bound of the values of f at that point. Thus, finding the paths that connect minima and maxima of a function near the origin reduces the calculation of its bivariate limit to a finite number of one-dimensional limits along these paths which can be calculated by the standard means for one-dimensional limits.

Lagrange Multiplier Technique to Calculate Critical Paths

In general, the Lagrange multiplier technique is a strategy for finding the extrema of a function subject to equality constraints, see LagrangeMultipliers. One application is the calculation of the critical curves in bivariate limit problems.

To find the critical curves corresponding to the minima and maxima (and saddle points) of a function f we look for the stationary points of fx,y on the circle parameterized by x2+y2=r2. We formulate the circle condition as gx,y=0 with gx,yx2+y2r2. The stationary points correspond to those points where the contour lines of  fx,y and gx,y are parallel, i.e. the gradients of the two functions are parallel        

∇__x,y  f x,y=λ ∇__x,y gx,y

with λ being the Lagrange multiplier. Equivalently, we can demand that the 2 ×2matrix formed by the two vectors ∇__x,y  f and ∇__x,y g  has a vanishing determinant, i.e.

  Det∂__x  f     ∂__x g∂__y  f     ∂__y g∂__x  f  ∂__y g∂__x g  ∂__y  f  2 y ∂__x  f 2 x ∂__y  f   =0.            (*)

The solutions of relation (*) correspond to curves in the x,y-plane, e.g. parameterized by x as y=yx. Note that they are independent of the radius r. If we were interested in the position of a stationary point along a specific circle, we could insert this curve into the circle condition and obtain the exact points e.g. as x,yx,r. Instead, here we are interested in the curves themselves since the behavior of f along these curves, when approaching the origin, is crucial in the understanding of the limiting behavior of f as explained above.


Finding all solutions to the constraint equation (*) yields parametrizations for all critical paths. Their limiting behavior proves the existence or non-existence of the bivariate limit. Note that sometimes the relations (*) cannot be solved exactly and approximations are necessary. In the examples below, we will only be interested in the behavior of bivariate functions around x,y=0,0. Thus we may expand the solutions into series around this point to simplify the problem when necessary.


Implementation of Bivariate Limits in Maple

In Maple you can calculate the bivariate limit of real rational functions via the usual limit command and its multidimensional extension limit/multi. It calculates the limit via the technique explained above: using the Lagrange multiplier technique to find critical paths and calculating the one-dimensional limits along these curves. So one can calculate the bivariate limit of the example above via


fx+yxy22x2+y2: limitf,x=0,y=0



Thus the bivariate limit of this function does not exist, but the function approaches values in the interval 0..2 at the origin depending on the path. You may verify this result visually by plotting the function as a three-dimensional surface plot:


plot3df, x=0.5..0.5, y=0.5..0.5

Using the eval command you can also calculate the one-dimensional limit along a specific curve:


limitevalf,  y=x,  x=0



limitevalf,  y=x^2,  x=0



limitevalf,  y=x,  x=0




Further details, like the explicit form of the constraint equation, the critical curves and their one-dimensional limits, are given in the example f__14 below. For further information on the implementation of the bivariate limit command, please visit the Maple help pages BivariateLimits2017, BivariateLimits17 and BivariateLimits2015.

1) First, pick one of the predefined bivariate functions whose limit at the origin x,y=0,0 you are interested in.

2) Determine the constraint equation (*) for the critical curves by clicking the button "Find constraint".

3) Afterward, find the solutions of this constraint by hitting "Find critical curves". If you want to study the curves in a plot before proceeding, jump to 5). Via "Insert curves into f" the table gets extended to include the bivariate function evaluated along the critical paths. Via "Find critical limits" the one-dimensional limits of the resulting functions at the origin are evaluated.

4) By hitting "Result" the final result for the bivariate limit of the function gets displayed. Further explanation is provided when checking "Show explanation".

5) Finally, you can plot the critical curves in the x,yplane by hitting "Plot critical curves 2D". Plot the critical curves alongside a three-dimensional surface plot of the function by pressing "Plot critical curves 3D".


























Pick a function:


 f__1x,y=x6+4 x3 y3+y6x2+y22    

 f__2x,y=x2 y2x4+y4

 f__3x,y= x2 y2x2+4 y22


 f__5x,y=x8+16 x4 y4+y8x2+y23

 f__6x,y=x22 x yy2x2+y2


 f__7x,y=xy2x2x y+y23    

   f__8x,y=3 x4x2+ y3y2x2+y2


   f__9x,y=x2 y2x4 x2 y2+y4

 f__10x,y=x4x4 y4+y4x4+y4

f__11x,y=y10x2+6 y24

 f__12x,y=6 x3 y9 x6+y2



 f__14x,y= x+yxy22x2+y2

































More MathApps