# Lesson 24. Power series, continued # ------------------------------------------- > restart; # We saw last time how to determine the Taylor series for # an implicit function. Actually Maple's "taylor" can # calculate a series for a "RootOf" expression directly. > eqn:= x^4 + y^4 = 2*x*y; 4 4 eqn := x + y = 2 x y > taylor(RootOf(eqn,y), x = 1, 5); 2 3 4 5 1 - (x - 1) - 7 (x - 1) - 49 (x - 1) - 449 (x - 1) + O((x - 1) ) # But there's something strange here. We haven't used the # condition y(1)=1. There are actually two real y values # that satisfy the equation when x=1. > with(plots):\ display({implicitplot(eqn, x=-1.5 .. 1.5, y=-1.5 .. 1.5),\ plot([[1,0],[1,1.5]])}); ** Maple V Graphics ** # How did Maple know that it should take one root of the # equation rather than the other? # The answer is that it didn't know! It chose one root, which # happened to be the one we wanted. In another case it might # not have chosen the "right" one. How can we influence its # choice? # # One way is an additional input to "RootOf" that gives the # approximate value of the root in question. > taylor(RootOf(eqn,y,1), x = 1, 5); 2 3 4 5 1 - (x - 1) - 7 (x - 1) - 49 (x - 1) - 449 (x - 1) + O((x - 1) ) > taylor(RootOf(eqn,y,1/2), x = 1, 5); / 17 2 12 \ /467 300 2 538\ 2 %1 + |---- %1 + 8/11 %1 + ----| (x - 1) + |--- %1 + --- %1 + ---| (x - 1) \ 11 11 / \121 121 121/ /33771 21796 2 40262\ 3 + |----- %1 + ----- %1 + -----| (x - 1) \ 1331 1331 1331/ /4064781 2210234 2 3410300 \ 4 5 + |------- + ------- %1 + ------- %1| (x - 1) + O((x - 1) ) \ 14641 14641 14641 / 3 2 %1 := RootOf(_Z + _Z + _Z - 1, 1/2) > evalf("); 2 .5436890127 + 2.146135923 (x - 1.) + 7.277537948 (x - 1.) 3 4 5 + 48.88487606 (x - 1.) + 448.8944622 (x - 1.) + O((x - 1.) ) # What is the radius of convergence of our series (let's take the # first one)? The coefficients seem to grow rapidly. > ts:= taylor(RootOf(eqn,y,1),x = 1, 20); 2 3 4 5 ts := 1 - (x - 1) - 7 (x - 1) - 49 (x - 1) - 449 (x - 1) - 4627 (x - 1) 6 7 8 - 51199 (x - 1) - 594085 (x - 1) - 14264587/2 (x - 1) 9 10 11 - 175702481/2 (x - 1) - 2207953761/2 (x - 1) - 28195399867/2 (x - 1) 12 13 - 182414675533 (x - 1) - 2386447732823 (x - 1) 14 15 - 31513572925963 (x - 1) - 419492527683129 (x - 1) 16 17 - 22492227943132537/4 (x - 1) - 303339206031843395/4 (x - 1) 18 19 - 4113049885482030151/4 (x - 1) - 56037827987699400917/4 (x - 1) 20 + O((x - 1) ) > convert(ts, polynom); 2 3 4 5 6 2 - x - 7 (x - 1) - 49 (x - 1) - 449 (x - 1) - 4627 (x - 1) - 51199 (x - 1) 7 8 9 - 594085 (x - 1) - 14264587/2 (x - 1) - 175702481/2 (x - 1) 10 11 12 - 2207953761/2 (x - 1) - 28195399867/2 (x - 1) - 182414675533 (x - 1) 13 14 - 2386447732823 (x - 1) - 31513572925963 (x - 1) 15 16 - 419492527683129 (x - 1) - 22492227943132537/4 (x - 1) 17 18 - 303339206031843395/4 (x - 1) - 4113049885482030151/4 (x - 1) 19 - 56037827987699400917/4 (x - 1) > subs(x=t+1,"); 2 3 4 5 6 7 8 1 - t - 7 t - 49 t - 449 t - 4627 t - 51199 t - 594085 t - 14264587/2 t 9 10 11 12 - 175702481/2 t - 2207953761/2 t - 28195399867/2 t - 182414675533 t 13 14 15 - 2386447732823 t - 31513572925963 t - 419492527683129 t 16 17 - 22492227943132537/4 t - 303339206031843395/4 t 18 19 - 4113049885482030151/4 t - 56037827987699400917/4 t > L:= [coeffs(")]; L := [1, -1, -7, -49, -449, -4627, -51199, -594085, -14264587/2, -175702481/2, -2207953761/2, -28195399867/2, -182414675533, -2386447732823, -31513572925963, -419492527683129, -22492227943132537/4, -303339206031843395/4, -4113049885482030151/4, -56037827987699400917/4] > ratios:= [seq(L[jj]/L[jj+1], jj=1..nops(L)-1)]; 49 449 4627 51199 1188170 14264587 ratios := [-1, 1/7, 1/7, ---, ----, -----, ------, --------, ---------, 449 4627 51199 594085 14264587 175702481 175702481 2207953761 28195399867 182414675533 2386447732823 ----------, -----------, ------------, -------------, --------------, 2207953761 28195399867 364829351066 2386447732823 31513572925963 31513572925963 1677970110732516 22492227943132537 ---------------, -----------------, ------------------, 419492527683129 22492227943132537 303339206031843395 303339206031843395 4113049885482030151 -------------------, --------------------] 4113049885482030151 56037827987699400917 > evalf("); [-1., .1428571429, .1428571429, .1091314031, .09703911822, .09037285884, .08618127036, .08329508594, .08118603061, .07957706547, .07830900684, .07728380347, .07643774176, .07572761548, .07512308527, .07460221882, .07414876645, .07375043203, .07339773923] # The limit of these ratios, if it exists, would be the radius # of convergence. It does appear plausible that the limit # exists and is about .07. > plot([seq([nn, ratios[nn]], nn=4..19)]); \ ** Maple V Graphics ** # Note what happens on the implicit plot for x about 1.07. # Let's find this point more exactly. > subs(x=x(y), eqn); 4 4 x(y) + y = 2 x(y) y > diff(", y); 3 / d \ 3 / d \ 4 x(y) |---- x(y)| + 4 y = 2 |---- x(y)| y + 2 x(y) \ dy / \ dy / > solve(", diff(x(y),y)); 3 4 y - 2 x(y) - ------------- 3 4 x(y) - 2 y > solve({ eqn, 4*y^3-2*x = 0}, {x,y}); 8 8 3 {y = 0, x = 0}, {y = RootOf(16 _Z - 3), x = 2 RootOf(16 _Z - 3) } > xmax:= evalf(2* (3/16)^(3/8)); xmax := 1.067592398 # Taylor series can also be used for many other purposes. # For example, integration. What is the arc length of the # ellipse x^2 + y^2/b^2 = 1? > ye:= b*sqrt(1-x^2); 2 1/2 ye := b (1 - x ) > L:= 4*Int(sqrt(diff(ye,x)^2 + 1), x=0..1); 1 / / 2 2 \1/2 | | b x | L := 4 | |------ + 1| dx | | 2 | / \1 - x / 0 # Maple can't express the integral as a closed form. But it # can write the integrand as a Taylor series, and integrate # each term of the series. Various series are possible. # But it's best to first express the integral as a proper one. > student[changevar](x=sin(t),L,t); 1/2 Pi / / 2 2 \1/2 | | b sin(t) | 4 | |- ------------- + 1| cos(t) dt | | 2 | / \ - 1 + sin(t) / 0 > simplify("); 1/2 Pi / / 2 2 2 2\1/2 | | - b + b cos(t) - cos(t) | 4 | |- ---------------------------| cos(t) dt | | 2 | / \ cos(t) / 0 > simplify(",symbolic); 1/2 Pi / | 2 2 2 2 1/2 4 I | (- b + b cos(t) - cos(t) ) dt | / 0 > L:= 4*Int(sqrt(b^2-b^2*cos(t)^2+cos(t)^2), t=0 .. Pi/2); 1/2 Pi / | 2 2 2 2 1/2 L := 4 | (b - b cos(t) + cos(t) ) dt | / 0 > value("); 1/2 Pi / | 2 2 2 2 1/2 4 | (b - b cos(t) + cos(t) ) dt | / 0 > taylor(L,b=1); 2 3 17 4 2 Pi + Pi (b - 1) + 1/8 Pi (b - 1) - 1/16 Pi (b - 1) + --- Pi (b - 1) 512 19 5 6 - ---- Pi (b - 1) + O((b - 1) ) 1024 # Note that b = 1 makes the ellipse into a circle.