Application Center - Maplesoft

App Preview:

Classroom Tips and Techniques: Bivariate Limits - Then and Now

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application




 

Classroom Tips and Techniques: Bivariate Limits - Then and Now

``

Robert J. Lopez

Emeritus Professor of Mathematics and Maple Fellow

Maplesoft``

NULL

Introduction

NULL

For several reasons, the bivariate limit (a limit in the plane) is one of the more difficult topics in an Advanced Calculus course. This is because the elementary techniques of single-variable calculus generally don't apply, so there is no way to determine if the limit exists, and if it does, what it might be. It is generally straightforward to show that a limit does not exist by showing that limits along different paths differ. Finding such a pair of paths might require a bit of ingenuity, but the textbook exercises on which students practice  generally yield to the paths y = m*x^k for some rational k. On the other hand, proving (by the `ϵδ`-definition) that a limit has the specific value L, even if L is known, requires a dexterity in manipulating inequalities that students typically haven't yet acquired.

 

The following examples explore how Maple might make the bivariate limit more transparent. In particular, Maple's new functionality for computing such limits is explored.

NULL

Example 1

NULL

Evaluate (lim)f(x,y), where f(x, y) = x^4*y^4/(y^4+x^2)^3.

NULL

Solution

• 

Define the function f via
Context Menu: Assign Function

f(x, y) = x^4*y^4/(y^4+x^2)^3(->)f

• 

The Order variable used in the series command has default value 6. Raise this default to 13.

• 

The role of series in computing the limit is clarified below.

Order := 13

• 

Use the syntax at the right to apply the bivariate form of the limit command. (At this time, there is no support for this form of the command in the palettes or in the Context Menu system.)

• 

Maple returns "undefined" where a calculus text would typically use "does not exist."

limit(f(x, y), {x = 0, y = 0}) = undefinedNULL

The classical approach: Find a pair of paths along which the limit has different values

• 

Evaluate f along any line y = m*x.
Along such a line the limit as proc (x) options operator, arrow; 0 end proc is clearly 0.

f(x, m*x) = x^8*m^4/(m^4*x^4+x^2)^3(=)x^2*m^4/(m^4*x^2+1)^3``

• 

Evaluate f along any curve y = c*sqrt(x), c <> 0.
Along such a curve the limit as proc (x) options operator, arrow; 0 end proc is clearly not 0.

f(x, c*sqrt(x)) = x^6*c^4/(c^4*x^2+x^2)^3(=)c^4/(c^4+1)^3``

Change to polar coordinates and graph over the unit disk

f(r*cos(theta), r*sin(theta)) = r^8*cos(theta)^4*sin(theta)^4/(r^4*sin(theta)^4+r^2*cos(theta)^2)^3(->)r^2*cos(theta)^4*sin(theta)^4/(sin(theta)^4*r^2+cos(theta)^2)^3``

• 

The simplified form of f(r*cos(theta), r*sin(theta)) is obtained via
Context Menu: Simplify_Normalized

 

• 

Figure 1 is a graph of f(r*cos(theta), r*sin(theta)) drawn parametrically in cylindrical coordinates. (The exact form of the graphing command is hidden in the table containing the figure.)

 

• 

Elementary calculus shows the maximum of f(x, c*sqrt(x)) is `&doteq;`(4/27, .148) for c = 2^(-1/4), a result consistent with Figure 1.

plot3d([r, theta, r^2*cos(theta)^4*sin(theta)^4/(sin(theta)^4*r^2+cos(theta)^2)^3], r = 0 .. 1, theta = 0 .. 2*Pi, coords = cylindrical, axes = box, numpoints = 10000)

Figure 1   Graph of f over the unit circle

NULL

Figure 1 also reflects the essential idea in [1], the paper upon which the new bivariate limit functionality ( ?limit/multi ) in Maple 17 is based. Extreme values of f are found on circles of radius r. If these extrema all tend to the same value as proc (r) options operator, arrow; 0 end proc, then that value is the limit of f. If these extreme values tend to different limits, then no limit exists.

 

Of course, the devil is always in the details. For some functions, `#mover(mi("x"),mo("&circ;"))`[k](r), `#mover(mi("y"),mo("&circ;"))`[k](r), critical points along the circle of radius r, cannot be found explicitly except in the form of high-degree RootOf structures, in which case the limit as proc (r) options operator, arrow; 0 end proc cannot be found. Instead, f is first expressed as a polynomial in one variable with coefficients as truncated series in the other variable. This approximation suffices to determine the behavior of f on circles of decreasing radius r. However, for some functions the default degree of the truncated series used for the coefficients must be increased, and that is why in this present example it was necessary to raise Order to 13.

``

A glimpse into the underlying idea is possible via an application of the Lagrange multiplier technique. For a limit at the origin, extrema `#mover(mi("x"),mo("&circ;"))`[k](r), `#mover(mi("y"),mo("&circ;"))`[k](r)on the circle x^2+y^2 = r^2 are found by taking f as the objective function and the equation of the circle as the constraint.

``

q := [Student:-MultivariateCalculus:-LagrangeMultipliers(f(x, y), [x^2+y^2-r^2], [x, y], output = detailed)]; {seq(limit(op([4, 2], q[k]), r = 0), k = 1 .. nops(q))}

{0, 4/27}

``

For this example, the number of extrema found by the LagrangeMultipliers command is 16, some of which are complex, and some of which are repeated. That is why the extreme values of f are placed in a set, so that only the distinct values remain. The output is the set of two values, zero and 4/27, consistent with Figure 1 and the observations thereon.

``

Example 2

``

Evaluate (lim)f(x,y), where f(x, y) = (x^6-2*y^4)/(x^2+y^2).

``

Solution

Initialize

• 

Click the restart icon in the toolbar, or execute the restart command at the right.

restart

• 

Define the function f via
Context Menu: Assign Function

f(x, y) = (x^6-2*y^4)/(x^2+y^2)(->)f``

• 

Use the syntax at the right to apply the bivariate form of the limit command.

limit(f(x, y), {x = 0, y = 0}) = 0``

``

Maple declares that the limit is zero. To verify this by applying the `&varepsilon;&delta;`-definition of the bivariate limit, find delta(epsilon) > 0 for which r=sqrt(x^(2)+y^(2))<delta(epsilon) implies abs(f(x, y)+0) < delta. In general, this is a difficult task for the typical undergraduate student just beginning to learn the regime of analysis. Indeed, amongst the ten Advanced Calculus texts (Sagan, Olmsted, Spiegel, Loomis & Sternberg, Buck, Widder, Kaplan, Hildebrand) I still have on my office shelves, only one, Taylor & Mann, explains how to do this. Happily, I studied out of the original version of Talyor's text some 50 years ago, but that volume was given away when the 1972 second edition with Mann was published.

 

The first five inequalities in Table 1 are stated in Example 2 on page 133 of that text. Inequality (6) is simply the statement of a property of the real numbers.

 

(1)

abs(x)

<=

sqrt(x^2+y^2)

(2)

abs(y)

<=

sqrt(x^2+y^2)

(3)

abs(x-y)

<=

abs(x)+abs(y)

(4)

2|x y|

<=

x^2+y^2

(5)

abs(x)+abs(y)

<=

sqrt(2)*sqrt(x^2+y^2)

(6)

abs(x)^2

<

abs(x), for 0 < abs(x) and abs(x) < 1

Table 1   Useful (real) inequalities

``

The annotated calculations in Table 2 suggest for our own Example 2, the solution r < delta(epsilon) and delta(epsilon) = (1/2)*sqrt(epsilon), provided r < 1.

 

abs((x^6-2*y^4)/(x^2+y^2))

<=(x^(6)+2 y^(4))/(x^(2)+y^(2))

Apply inequality (3) to the numerator.

``

<=2(x^(6)+ y^(4))/(x^(2)+y^(2))

Double x^6, making the numerator larger, then factor out 2.

``

<=2((x^(2)+y^(2))^(3)+(x^(2)+y^(2))^(2))/(x^(2)+y^(2))

Apply inequalities (1) and (2) to the two terms in the numerator.

``

=2((x^(2)+y^(2))^(2)+(x^(2)+y^(2)))

Cancel as appropriate.

``

<=4(x^(2)+y^(2))

Apply inequality (6) with x^2+y^2 < 1.

Table 2   Annotated solution for Example 2

``

In fact, the limit of f more readily yields to polar coordinates.

``

• 

Convert to polar coordinates, and press the Enter key.

• 

Context Menu: Factor

• 

Select the denominator and from the Smart PopUp, select Trig Identities

f(r*cos(theta), r*sin(theta))

(r^6*cos(theta)^6-2*r^4*sin(theta)^4)/(r^2*cos(theta)^2+r^2*sin(theta)^2)

(=)

r^2*(cos(theta)^6*r^2-2*sin(theta)^4)/(cos(theta)^2+sin(theta)^2)

(->)

r^2*(cos(theta)^6*r^2-2*sin(theta)^4)

``

The annotated estimates in Table 3 show, in fact, that `implies`(delta(epsilon) = sqrt((1/3)*epsilon), abs(f+0) < epsilon).  

 

abs(r^2*(cos(theta)^6*r^2-2*sin(theta)^4))

<=r^(2)(r^(2)|cos(theta)|^(6)+2 |sin(theta)|^(4))

Apply inequality (3).

``

<=r^(4)+2 r^(2)

Note that abs(sin(theta)) <= 1, abs(cos(theta)) <= 1

``

<=r^(2)+2 r^(2)

Apply inequality (6): r^4 = r^4 and r^4 <= r^2

``

=3 r^(2)

Arithmetic

Table 3   Annotated solution in polar coordinates

``

Figure 2, a graph of f, is consistent with Maple's determination that the required limit is indeed zero. Figure 3, drawn in cylindrical coordinates, compares abs(f) with 3*r^2.

 

plot3d([r, theta, r^2*(cos(theta)^6*r^2-2*sin(theta)^4)], r = 0 .. 1, theta = 0 .. 2*Pi, coords = cylindrical, axes = box, labels = [x, y, z], scaling = constrained)

Figure 2   Graph of f

plot3d([[r, theta, abs(r^2*(cos(theta)^6*r^2-2*sin(theta)^4))], [r, theta, 3*r^2]], r = 0 .. 1, theta = 0 .. 2*Pi, coords = cylindrical, axes = box, labels = [x, y, z], scaling = constrained, color = [red, green], orientation = [20, 80, 5])

Figure 3   Comparison of abs(f) and 3*r^2 

``

Finally, the dedicated reader might want to calculate the extrema on a circle of radius r. A possible set of appropriate calculations are given in Table 4.

 

Q := simplify(f(r*cos(theta), r*sin(theta))); S := [solve(diff(Q, theta) = 0, theta)]; F := convert({seq(simplify(eval(Q, theta = S[k])), k = 1 .. nops(S))}, list)

[r^4, -2*r^2, (2/27)*(-27*r^4+24*r^2*(-3*r^2+1)^(1/2)+36*r^2-8*(-3*r^2+1)^(1/2)-8)/r^2, -(2/27)*(27*r^4+24*r^2*(-3*r^2+1)^(1/2)-36*r^2-8*(-3*r^2+1)^(1/2)+8)/r^2]

Table 4   Extreme values of f on circles of radius `in`(r, RealRange(0, Open(1/sqrt(3))))

 

The behavior of two of these values is obvious. The behavior of each of the remaining two expressions can be seen in Figure 4.

 

plot([F[3], F[4]], r = 0 .. .7, -5 .. 1, color = [red, green])

Figure 4   Graphs of the nontrivial extrema as functions of r

``

All extrema tend to zero except for spurious solutions that tend to -infinity. Such spurious extrema arise from complex solutions to the equation f[theta](r*cos(theta), r*sin(theta)) = 0.

``

Alternatively, obtain the extrema on circles of radius r by solving a constrained optimization problem via the Lagrange multiplier technique. Table 5 shows that the y-coordinate of one such extreme point is complex near the origin.

 

T := Student:-MultivariateCalculus:-LagrangeMultipliers(f(x, y), [x^2+y^2-r^2], [x, y], output = detailed); `assuming`([simplify(eval(y, T[5]))], [r >= 0, r < 1/sqrt(3)])

((1/3)*I)*(-9*r^2+6*(-3*r^2+1)^(1/2)+6)^(1/2)

Table 5   Complex y-coordinate of one extreme point obtained by the Lagrange multiplier technique

 

Example 3

NULL

Evaluate (lim)f(x,y,z), where f(x, y, z) = x*y*z/(x^2+y^2+z^2).

NULL

The update to Maple's limit command is restricted to the bivariate case, but the paradigm underlying it can be extended to higher dimensions. Here, the extrema on spheres of radius rho will be found by the Lagrange multiplier technique. Additionally, in three dimensions, f can be expressed in spherical coordinates as an analog to the use of polar coordinates in Examples 1 and 2. While the idea of using hyperspheres in dimension four or higher is reasonable, the actual algebra might require some of the more sophisticated devices used in [1].

 

Solution

Initialize

• 

Click the restart icon in the toolbar, or execute the restart command at the right.

restart

• 

Tools_Load Package:
Student Multivariate Calculus

Loading Student:-MultivariateCalculus

• 

Control-drag f(x,y,z)=.. 

• 

Context Menu: Assign Function

f(x, y, z) = x*y*z/(x^2+y^2+z^2)(->)f

By means of the Lagrange multiplier technique, obtain extreme values of f on spheres of radius rho 

q := LagrangeMultipliers(f(x, y, z), [x^2+y^2+z^2-rho^2], [x, y, z], output = detailed)

``

• 

Extract the extreme values of f  and place them in a set so that repeated extrema are eliminated.

• 

Apparently, the desired limit is zero.

{seq(op([5, 2], q[k]), k = 1 .. nops([q]))}

{0, -(1/9)*3^(1/2)*rho, (1/9)*3^(1/2)*rho}

Express f in spherical coordinates

F := simplify(f(rho*sin(phi)*cos(theta), rho*sin(phi)*sin(theta), rho*cos(phi)))

rho*sin(phi)^2*cos(theta)*sin(theta)*cos(phi)

• 

Obtain critical points on the sphere of radius rho.

Q := solve({diff(F, phi) = 0, diff(F, theta) = 0}, {phi, theta}, Explicit)

• 

Obtain (as functions of rho) the unique extreme values of F on the sphere of radius rho.

{seq(eval(F, Q[k]), k = 1 .. nops([Q]))}

{0, -(1/9)*rho*3^(1/2), (1/9)*rho*3^(1/2)}

NULL

The extreme values found for the constrained and unconstrained problems are the same, and all tend to zero as proc (rho) options operator, arrow; 0 end proc. As noted, the desired limit is zero.

``

NULL

References

NULL

[1] Limits of quotients of real analytic functions in two variables, Carlos A. Dadavid, Sergio Molina, and Juan D. Velez; http://arxiv.org/pdf/1011.1591.pdf

NULL

``

Legal Notice: © Maplesoft, a division of Waterloo Maple Inc. 2013. Maplesoft and Maple are trademarks of Waterloo Maple Inc. This application may contain errors and Maplesoft is not liable for any damages resulting from the use of this material. This application is intended for non-commercial, non-profit use only. Contact Maplesoft for permission if you wish to use this application in for-profit activities.