Multivariable LimitsWorksheet by Mike May, S.J.- maymk@slu.eduEdited by Russell Blyth - blythrd@slu.eduThis worksheet investigates limits for functions of two variables.QyRJKHJlc3RhcnRHJSpwcm90ZWN0ZWRHIiIiFunctions of one variable, a review:The limit definition in one variableBefore considering the definitions of limit and continuity for functions of several variables, it is worthwhile to review them for functions of one variable.When we say that the limit as x approaches a of f(x) is L we mean that...for every NiMlKGVwc2lsb25H > 0 there is a NiMlJmRlbHRhRw== > 0 such that NiMyLSUkYWJzRzYjLCYtJSJmRzYjJSJ4RyIiIiUiTEchIiIlKGVwc2lsb25H whenever 0 < NiMyLSUkYWJzRzYjLCYlInhHIiIiJSJhRyEiIiUmZGVsdGFH.That is quite a mouthful. To put it into more visual terms, we are claiming that the point (a,L) belongs to the natural continuation of the graph of y=f(x). We test the claim by putting a box around the point (a, L), going up and down by NiMlKGVwc2lsb25H and right and left by NiMlJmRlbHRhRw==, that is, we use the box defined by x=a-\316\264..a+\316\264 and y=L-\316\265..L+\316\265. We claim that no matter the NiMlKGVwc2lsb25H chosen we can choose NiMlJmRlbHRhRw== so that the graph exits through the sides of the viewing box rather than through the top and bottom.Example 1, Demonstrating a limit: We claim that as x approaches 2, the limit of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXN1cEdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21uR0YkNiRRIjJGJy9GNlEnbm9ybWFsRicvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2MFEiK0YnRjwvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkcvJSlzdHJldGNoeUdGRy8lKnN5bW1ldHJpY0dGRy8lKGxhcmdlb3BHRkcvJS5tb3ZhYmxlbGltaXRzR0ZHLyUnYWNjZW50R0ZHLyUlZm9ybUdRJmluZml4RicvJSdsc3BhY2VHUTBtZWRpdW1tYXRoc3BhY2VGJy8lJ3JzcGFjZUdGWS8lKG1pbnNpemVHUSIxRicvJShtYXhzaXplR1EpaW5maW5pdHlGJy1GOTYkUSIzRidGPEYu is 10. To prove this claim we would need a rule for finding a NiMlJmRlbHRhRw== for each NiMlKGVwc2lsb25H greater than 0. We will be satisfied with finding a NiMlJmRlbHRhRw== when NiMlKGVwc2lsb25H is .01. We start by trying NiMlJmRlbHRhRw== equal to .01 as well.f1 := x -> x^2+3*x;
a := 2; L := 10:
eps := 0.01: del := 0.01:
plot(f1(x), x = a-del .. a+del, y = L-eps .. L+eps, axes = boxed);It is clear from the graph that our NiMlJmRlbHRhRw== is too big. Next we try a NiMlJmRlbHRhRw== of .001.eps := 0.01: del := 0.001:
plot(f1(x), x = a-del .. a+del, y = L-eps .. L+eps, axes = boxed);That value of NiMlJmRlbHRhRw== works. Since we have zoomed in enough to make the graph look like a line we suspect that setting NiMlJmRlbHRhRw== to LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkmbWZyYWNHRiQ2KC1GIzYjLUYsNiVRKGVwc2lsb25GJy9GMFEmZmFsc2VGJy9GM1Enbm9ybWFsRictRiM2Iy1JI21uR0YkNiRRIzEwRidGPy8lLmxpbmV0aGlja25lc3NHUSIxRicvJStkZW5vbWFsaWduR1EnY2VudGVyRicvJSludW1hbGlnbkdGTC8lKWJldmVsbGVkR0Y+will work for smaller NiMlKGVwc2lsb25Hs. That is a problem for another day, however.Example 2, Disproving a limit:The reverse problem is to show that something is not a limit. To do that we need to find an NiMlKGVwc2lsb25H so that no NiMlJmRlbHRhRw== is small enough. In the problem above, suppose someone claimed that the limit is 11 rather than 10. We want to find a y range around 11 that the graph always escapes, that is, never exits the sides of the window, no matter how narrow we make the window. We will look at NiMvJShlcHNpbG9uRyQiIiYhIiI= and NiMvJSZkZWx0YUciIiM=.L := 11:
eps := .5:
del := .2:
plot(f1(x), x = a-del .. a+del, y = L-eps .. L+eps, axes = boxed);It is clear that making the box narrower will not result in the graph exiting the sides of the box, so we conclude that the value of the limit as x approaches 2 is NOT 11.Example 3, Showing a function has no limit:A harder problem is to show there is no limit at a point. This usually means that the graph is either going off to infinity or that it is trying to get close to two different y values. In the second case we make NiMlKGVwc2lsb25H one third the distance between the two y values so that no box includes both of these values.Consider the function f(x) = abs(x)/x. Looking at the graph we see that as x gets close to 0 we need to include both 1 and -1. If NiMlKGVwc2lsb25H is 2/3, there is no L we can choose to put both 1 and -1 in the range [L-2/3,L+2/3].f3 := x -> abs(x)/x;
a := 0; L := 0:
eps := 1.2:
del := .1:
plot(f3(x), x = a-del .. a+del, y = L-eps .. L+eps, axes = boxed, discont = true);Exercises:1) Give evidence that the limit of NiMqJiwmKiQpJSJ4RyIiJCIiIkYpIiIpISIiRiksJkYnRikiIiNGK0Yr as x approaches 2 is 12 by finding values of delta that work in the definition when epsilon is .1, .01. and .001.2) Explain why NiMtJSRzaW5HNiMqJiIiIkYnJSJ4RyEiIg== has no limit as x approaches 0. (Hint, you should explain why a box around the limit needs to include both of the y-values 1 and -1.)Limits of functions of two variables:The easy generalization of the definitionFor functions of two variables we can proceed by making minor modifications to the definition used for functions of one variable. It becomes:
When we say that the limit as (x, y) approaches (a, b) of f(x,y) is L we mean that...
for every NiMlKGVwc2lsb25H > 0 there is a NiMlJmRlbHRhRw== > 0 such that NiMyLSUkYWJzRzYjLCYtJSJmRzYkJSJ4RyUieUciIiIlIkxHISIiJShlcHNpbG9uRw== whenever NiMwNiQlInhHJSJ5RzYkJSJhRyUiYkc=, NiMyLSUkYWJzRzYjLCYlInhHIiIiJSJhRyEiIiUmZGVsdGFH, and NiMyLSUkYWJzRzYjLCYlInlHIiIiJSJiRyEiIiUmZGVsdGFH.That is even more of a mouthful. To put it into more visual terms, we are claiming that the point (a, b, L) belongs to the natural continuation of the graph of y=f(x,y). We test the claim by putting a box around the point (a, b, L), going up and down by NiMlKGVwc2lsb25H and right, left, forward, and back by LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEnJiM5NDg7RicvJSdpdGFsaWNHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNjBRIixGJ0YyLyUmZmVuY2VHRjEvJSpzZXBhcmF0b3JHUSV0cnVlRicvJSlzdHJldGNoeUdGMS8lKnN5bW1ldHJpY0dGMS8lKGxhcmdlb3BHRjEvJS5tb3ZhYmxlbGltaXRzR0YxLyUnYWNjZW50R0YxLyUlZm9ybUdRJmluZml4RicvJSdsc3BhY2VHUSQwZW1GJy8lJ3JzcGFjZUdRM3Zlcnl0aGlja21hdGhzcGFjZUYnLyUobWluc2l6ZUdRIjFGJy8lKG1heHNpemVHUSlpbmZpbml0eUYnLUY2NjBRIn5GJ0YyRjkvRjxGMUY+RkBGQkZERkYvRklRIUYnRksvRk9GTUZRRlQ=that is, we use the box defined by x=a-\316\264..a+\316\264, y=b-\316\264..b+\316\264, z=L-\316\265..L+\316\265. We claim that no matter the NiMlKGVwc2lsb25H chosen we can choose NiMlJmRlbHRhRw== so that the graph exits entirely through the sides of the viewing box rather than through the top and/or bottom.(Advanced note: The definition is slightly different from what is given in most textbooks. We are using square neighborhoods rather than round neighborhoods because square neighborhoods are easier to draw.)Example 1, an easy limit:The standard case we will consider is a function that has a hole that needs to be filled in. We look at the graph and see that it has an obvious limit. Note the function in the example below is undefined at (x,y)=(0,0), and we claim that the limit of the function as (x,y) approaches (0,0) is L=1.g1 := (x,y) -> sin(x^2+y^2)/(x^2+y^2);
a := 0: b := 0: L := 1:
eps := .5:
del := 2:
plot3d(g1(x,y), x = a-del .. a+del, y = b-del .. b+del, view = L-eps .. L+eps, axes = boxed, style = patchcontour);The graph appears to be flat near (0,0) (where the function is undefined), leading us to guess that choosing NiMlJmRlbHRhRw== equal to NiMlKGVwc2lsb25H will work in the definition. As first graphed the function does not exit through the sides of the box, so you should change NiNJJmRlbHRhRzYi as just suggested to verify that choosing \316\264 equal to \316\265 works. Also verify that choosing NiNJJmRlbHRhRzYi equal to \316\265 works if NiMlKGVwc2lsb25H is .1, .01, or .001.As in the single variable case, these few verifications do not prove the function has 1 as a limit when the input approaches the origin, but it does leave us pretty convinced of the fact.Example 2, an easy nonlimit:Now we turn to a function that does not have a limit at the origin.Note that we look at a bigger patch when trying to understand a more confusing function. Rotate the graph to see what is happening near (x,y)=(0,0).g2 := (x,y) -> x*y/(x^2+y^2);
a := 0: b := 0: L := 0:
eps := 1.2:
del := 1:
plot3d(g2(x,y), x = a-del .. a+del, y = b-del .. b+del, view = L-eps .. L+eps, axes = boxed, style = patchcontour);The picture makes us suspicious that z-values ranging from -.5 to .5 occur arbitrarily close to the origin. That means that when NiMlKGVwc2lsb25H is .4, our box is only .8 high, but it needs to cover a y-range that is 1 unit high for every choice of NiNJJmRlbHRhRzYi. Thus no NiNJJmRlbHRhRzYi will be small enough to make the graph exit the sides of the box when NiNJKGVwc2lsb25HNiI==0.4, and we conclude that this function has no limit as (x,y) approaches (0,0). Graph to see the evidence:eps := .4:
del := .1:
plot3d(g2(x,y), x = a-del .. a+del, y = b-del .. b+del, view = L-eps .. L+eps, axes = boxed, style = patchcontour);You should verify that the picture does not get any better if we make delta .01 or .001. It looks like there is no "right way" to fill in this function at the origin. To summarize, this function does not have a limit at the origin.Example 3, a hard nonlimit:Testing pathsIn the previous example we had lines coming toward our problem point (the origin) that had different limits. Sometimes when we look at the graph we see that the contours going into the origin are not lines but belong to some other family of curves. Consider the following function.g3 := (x,y) -> x^2*y/(x^4+y^2);
a := 0: b := 0: L := 0:
eps := 1.2:
del := 1:
plot3d(g3(x,y), x = a-del .. a+del, y = b-del .. b+del, view = L-eps .. L+eps, axes = boxed, style = patchcontour);The contours get confused near the origin. (The contours look like they are trying to be parabolas until they get too close to the x-axis - rotate the graph to view from above to see this. Look also at a side view with NiNJJnRoZXRhRzYi=90 and NiNJJHBoaUc2Ig===90) That means that we need to be careful about simply zooming in. Our grapher may miss interesting features. Consider the following zoom.del := 0.01:
plot3d(g3(x,y), x = a-del .. a+del, y = b-del .. b+del, view = L-eps .. L+eps, axes = boxed, style = patchcontour);When we zoomed in all the contours disappeared. Compare that with what happens when we zoom with a smaller y-range than x-range.plot3d(g3(x,y), x = a-del .. a+del, y = b-1/100*del .. b+1/100*del, view = L-eps .. L+eps, axes = boxed, style = patchcontour);When we see strange things happening in a graph we should be suspicious that simply zooming in may miss the interesting features. (As a general rule, if the resulting graph is too close to a flat plane we need to be concerned that we have eliminated interesting features with a bad viewing window.) In this case, one of the things we can do is look at what happens along a specified path. (Time to remember parametric curves from precalculus.) The contours of the original graph look like they are trying to be parabolas. Thus we compute the value of the function f as we traverse certain parabolic paths in the xy-plane.plot({g3(x,x^2), g3(x,2*x^2), g3(x,-.2*x^2)}, x = a-del .. a+del, view = L-eps .. L+eps, axes = boxed);Here we computed values of the function g3 along the (x,y) paths (x,NiMqJClJInhHNiIiIiMiIiI=) (i.e., along y=NiMqJClJInhHNiIiIiMiIiI=), (x,2NiMqJClJInhHNiIiIiMiIiI=) (i.e., along y=2NiMqJClJInhHNiIiIiMiIiI=) and along (x,-0.2NiMqJClJInhHNiIiIiMiIiI=) (i.e., along y=-0.2NiMqJClJInhHNiIiIiMiIiI=). The graph shows constant values of g3 along each of these paths (described in terms of the parameter x).So we see that this graph makes it clear that the contours are parabolas. Since the origin lies on all of these level curves, there is no right function value to give at the origin and so we conclude that the function has no limit there.(You may ask, what motivated us to check that the function has parabolic contour curves near the origin? Look at the form of the function: in both numerator and denominator the x-term is the square of the y-term. So when y was replaced by a multiple of NiMqJClJInhHNiIiIiMiIiI=, the function reduced to a constant.)Exercises:3) Let f(x,y) = NiMqKkkieEc2IiIiIkkieUdGJUYmLCYqJClGJCIiI0YmRiYqJClGJ0YrRiYhIiJGJiwmRilGJkYsRiZGLg==) when (x,y) \342\211\240(0,0).Justify the claim that the limit of f(x,y) as (x.y) approaches (0,0) is 0 by finding values of NiNJJmRlbHRhRzYi that work in the definition of the limit when NiNJKGVwc2lsb25HNiI= is 0.1, 0.01, and 0.001.(Maple hint: you can copy and paste the formula above (right side only!) into the plot3d command and it will automatically format correctly as Maple input.)4) Let f(x, y) = NiMtSSRleHBHNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHNiI2IywmSSJ4R0YoISIiSSJ5R0YoRiw=. Justify the claim that the limit of f(x,y) as (x,y) approaches (0,0) is 1 by finding NiMlJmRlbHRhRw==s that work in the definiton of limit when NiMlKGVwc2lsb25H is 0.1, 0.01, and 0.001.5) Let f(x,y) = NiMqJiwmKiQpSSJ4RzYiIiIjIiIiRioqJClJInlHRihGKUYqISIiRiosJkYlRipGK0YqRi4= when (x,y) \342\211\240 (0,0). Show that f does not have a limit at the origin.6) Let f(x,y) = NiMqJiwmSSJ4RzYiIiIiSSJ5R0YmRidGJywmRiVGJ0YoISIiRio= when x \342\211\240 y.Show that f does not have a limit at the origin.