# WORKSHEET #28 # # INFINITE SERIES # # -------------------------------------------------------------------------------- > restart; -------------------------------------------------------------------------------- # If a(n) are the terms of a series then the infinite sum is just the limit of the partial sums, # Sum(a(n),n=1..infinity)=limit(S(N),N=infinity), where S(N)=Sum(a(n),n=1..N). -------------------------------------------------------------------------------- > A:=Sum(a(n),n=1..infinity); infinity ----- \ A := ) a(n) / ----- n = 1 -------------------------------------------------------------------------------- > value(A); infinity ----- \ ) a(n) / ----- n = 1 -------------------------------------------------------------------------------- > S:=N->Sum(a(n),n=1..N); N ----- \ S := N -> ) a(n) / ----- n = 1 -------------------------------------------------------------------------------- # EXAMPLE: # > a:=n->1/n^2; 1 a := n -> ---- 2 n -------------------------------------------------------------------------------- > A; infinity ----- \ 1 ) ---- / 2 ----- n n = 1 -------------------------------------------------------------------------------- > value(A); 2 1/6 Pi -------------------------------------------------------------------------------- # Maple knows the exact answers to some series. -------------------------------------------------------------------------------- > evalf(A); 1.644934067 > evalf(value(A)); 1.644934068 -------------------------------------------------------------------------------- # We get slightly different answers because Maple is using different procedures to arrive at # the answers. In the first case Maple uses some numerical procedure to add up the series, # whereas in the second case Maple evaluates 1/6*Pi^2. To see which is more accurate we # set Digits to 15 and redo the calculations. -------------------------------------------------------------------------------- > Digits:=15:evalf(A);evalf(value(A)); 1.64493406684823 1.64493406684823 -------------------------------------------------------------------------------- # Thus numerically evaluating the series is better than knowing its exact value. -------------------------------------------------------------------------------- > Digits:=10: -------------------------------------------------------------------------------- > a:='a': # EXAMPLE: -------------------------------------------------------------------------------- > a:=n->1/n^(2*k); 1 a := n -> ------ (2 k) n -------------------------------------------------------------------------------- > for k from 1 to 6 do value(A) od;k:='k': 2 1/6 Pi 4 1/90 Pi 6 1/945 Pi 8 1/9450 Pi 10 1/93555 Pi 691 12 --------- Pi 638512875 -------------------------------------------------------------------------------- # Maple knows these series. -------------------------------------------------------------------------------- > a:='a': -------------------------------------------------------------------------------- # EXAMPLE: > a:=n->1/n^3; 1 a := n -> ---- 3 n -------------------------------------------------------------------------------- > A; infinity ----- \ 1 ) ---- / 3 ----- n n = 1 -------------------------------------------------------------------------------- > value(A); Zeta(3) -------------------------------------------------------------------------------- # This is the famous Riemann zeta function. The definition of Zeta(s) for s>1 is: -------------------------------------------------------------------------------- > ?Zeta -------------------------------------------------------------------------------- > Zeta(s)=Sum(1/n^s,n=1..infinity); infinity ----- \ 1 Zeta(s) = ) ---- / s ----- n n = 1 -------------------------------------------------------------------------------- # Putting s=1 in this series gives the harmonic series, which we know diverges. This # definition is valid for complex numbers with real part>1. -------------------------------------------------------------------------------- > Zeta(1); Error, (in Zeta) singularity encountered -------------------------------------------------------------------------------- # Zeta(s) has a singularity at s=1. This is not s surprise, but the next calculation is. -------------------------------------------------------------------------------- > evalf(Zeta(1/2)); -1.460354509 -------------------------------------------------------------------------------- # The series in the definition of Zeta(s) diverges for s=-1/2. We can in fact extend the # definition of Zeta(s) to other values of s, but with a different formula. The following # equation is valid for s>0, s different from 1. The RHS converges for s>0 by the AST, and # therefore this formula can be taken as the definition of Zeta(s) for s>0, s different from 1. -------------------------------------------------------------------------------- > (1-2/2^(s-1))*Zeta(s)=Sum((-1)^(n-1)/n^s,n=1..infinity); infinity ----- (n - 1) / 2 \ \ (-1) |1 - --------| Zeta(s) = ) ----------- | (s - 1)| / s \ 2 / ----- n n = 1 -------------------------------------------------------------------------------- # There are other formulas that allow us to define Zeta(s) for all complex numbers s # different from 1. -------------------------------------------------------------------------------- > for k from 0 to 20 do Zeta(-k) od;k:='k': -1/2 -1/12 0 1/120 0 -1/252 0 1/240 0 -1/132 0 691 ----- 32760 0 -1/12 0 3617 ---- 8160 0 43867 - ----- 14364 0 174611 ------ 6600 0 -------------------------------------------------------------------------------- > Zeta(-100);Zeta(-102);Zeta(-104);Zeta(-106);Zeta(-108);Zeta(-110); 0 0 0 0 0 0 -------------------------------------------------------------------------------- # The values of Zeta(s) at s=-2, -4, -6,... all seem to be zero, whereas the values of Zeta(s) # at s=-1, -3, -5,... seem to be rational numbers which are negative for s=-1, -5, -9, and # positive for s=-3, -7, -11,... The real importance of Zeta(s) concerns its values on the # line Real(s)=1/2. Here we are thinking of s as a complex number with real part 1/2. -------------------------------------------------------------------------------- > for k from 1 to 20 do print(Zeta(1/2+k*I)=evalf(Zeta(1/2+k*I))) od;k:='k': Zeta(1/2 + I) = .1439364271 - .7220997435 I Zeta(1/2 + 2 I) = .4405456503 - .3116463384 I Zeta(1/2 + 3 I) = .5327366710 - .07889651343 I Zeta(1/2 + 4 I) = .6067837645 + .09111213997 I Zeta(1/2 + 5 I) = .7018123712 + .2310380084 I Zeta(1/2 + 6 I) = .8372238081 + .3402183969 I Zeta(1/2 + 7 I) = 1.021434231 + .3961894978 I Zeta(1/2 + 8 I) = 1.241615106 + .3600475884 I Zeta(1/2 + 9 I) = 1.447642452 + .1918030128 I Zeta(1/2 + 10 I) = 1.544895220 - .1153364653 I Zeta(1/2 + 11 I) = 1.419650152 - .4876753540 I Zeta(1/2 + 12 I) = 1.015936651 - .7451124722 I Zeta(1/2 + 13 I) = .4430047825 - .6554830983 I Zeta(1/2 + 14 I) = .02224114261 - .1032581233 I Zeta(1/2 + 15 I) = .1471099070 + .7047522416 I Zeta(1/2 + 16 I) = .9385454085 + 1.216587816 I Zeta(1/2 + 17 I) = 1.946654834 + .8954051920 I Zeta(1/2 + 18 I) = 2.329154873 - .1888660058 I Zeta(1/2 + 19 I) = 1.622495793 - 1.160117493 I Zeta(1/2 + 20 I) = .4299138604 - 1.064291443 I -------------------------------------------------------------------------------- # Something interesting is happening near s=1/2+14*I. -------------------------------------------------------------------------------- > for k from 0 to 10 do print(Zeta(1/2+(14+k/10)*I)=evalf(Zeta(1/2+(14+k/10)*I))) od;k:='k': Zeta(1/2 + 14 I) = .02224114261 - .1032581233 I 141 Zeta(1/2 + --- I) = .004698400183 - .02705828237 I 10 Zeta(1/2 + 71/5 I) = - .006816218159 + .05159699098 I 143 Zeta(1/2 + --- I) = - .01198782431 + .1322313685 I 10 Zeta(1/2 + 72/5 I) = - .01053795573 + .2143301116 I Zeta(1/2 + 29/2 I) = - .002229099379 + .2973425897 I Zeta(1/2 + 73/5 I) = .01313091049 + .3806853143 I 147 Zeta(1/2 + --- I) = .03568467788 + .4637454932 I 10 Zeta(1/2 + 74/5 I) = .06552127293 + .5458850989 I 149 Zeta(1/2 + --- I) = .1026725628 + .6264454436 I 10 Zeta(1/2 + 15 I) = .1471099070 + .7047522416 I -------------------------------------------------------------------------------- > evalf(Zeta(1/2+14.134725*I)); -7 -6 .1767429836*10 - .1110202889*10 I -------------------------------------------------------------------------------- # Zeta(s) has a zero near s=14.134725. -------------------------------------------------------------------------------- > (1-1/(2^(s-1)))*Zeta(s)=sum((-1)^(n-1)/n^s,n=1..infinity); infinity ----- (n - 1) / 1 \ \ (-1) |1 - --------| Zeta(s) = ) ----------- | (s - 1)| / s \ 2 / ----- n n = 1 -------------------------------------------------------------------------------- > n^(-s)=exp(-s*ln(n));\ (- s) n = exp(- s ln(n)) -------------------------------------------------------------------------------- > s:=sigma+I*t; s := sigma + I t -------------------------------------------------------------------------------- > (1-1/(2^(s-1)))*Zeta(s)=sum((-1)^(n-1)/n^s,n=1..infinity); infinity ----- (n - 1) / 1 \ \ (-1) |1 - ------------------| Zeta(sigma + I t) = ) -------------- | (sigma + I t - 1)| / (sigma + I t) \ 2 / ----- n n = 1 -------------------------------------------------------------------------------- > n^(-sigma-I*t)=n^(-sigma)*(cos(t*ln(n))-I*sin(t*ln(n))); (- sigma - I t) (- sigma) n = n (cos(t ln(n)) - I sin(t ln(n))) -------------------------------------------------------------------------------- > (1-1/(2^(s-1)))*value(Zeta(s))=sum((-1)^(n-1)*n^(-sigma)*(cos(t*ln(n))-I*sin(t*ln(n))),n=1..infinity); / 1 \ |1 - ------------------| Zeta(sigma + I t) = | (sigma + I t - 1)| \ 2 / infinity ----- \ (n - 1) (- sigma) ) (-1) n (cos(t ln(n)) - I sin(t ln(n))) / ----- n = 1 -------------------------------------------------------------------------------- > sigma:=1/2; sigma := 1/2 -------------------------------------------------------------------------------- > (1-1/(2^(s-1)))*value(Zeta(s))=sum((-1)^(n-1)*n^(-sigma)*(cos(t*ln(n))-I*sin(t*ln(n))),n=1..infinity); / 1 \ |1 - --------------| Zeta(1/2 + I t) = | (- 1/2 + I t)| \ 2 / infinity ----- (n - 1) \ (-1) (cos(t ln(n)) - I sin(t ln(n))) ) ------------------------------------------- / 1/2 ----- n n = 1 -------------------------------------------------------------------------------- > eta:=t->sum((-1)^(n-1)*n^(-1/2)*(cos(t*ln(n))-I*sin(t*ln(n))),n=1..infinity); infinity ----- (n - 1) \ (-1) (cos(t ln(n)) - I sin(t ln(n))) eta := t -> ) ------------------------------------------- / 1/2 ----- n n = 1 -------------------------------------------------------------------------------- # The zeros of Zeta(s) on the line Real(s)=1/2 are the solutions of eta(t)=0. -------------------------------------------------------------------------------- > s:='s': -------------------------------------------------------------------------------- > a(n); 1 ---- 3 n -------------------------------------------------------------------------------- > A; infinity ----- \ 1 ) ---- / 3 ----- n n = 1 -------------------------------------------------------------------------------- > S(100); 100 ----- \ 1 ) ---- / 3 ----- n n = 1 -------------------------------------------------------------------------------- > value("); 1/2 Psi(2, 101) + Zeta(3) -------------------------------------------------------------------------------- > ?psi -------------------------------------------------------------------------------- > ?GAMMA -------------------------------------------------------------------------------- > GAMMA(s) = int( exp(-t)*t^(s-1), t=0..infinity ); infinity / | (s - 1) GAMMA(s) = | exp(- t) t dt | / 0 -------------------------------------------------------------------------------- > Psi(x) = Diff( ln(GAMMA(x)), x ); d Psi(x) = ---- ln(GAMMA(x)) dx -------------------------------------------------------------------------------- > Psi(x)= Diff(GAMMA(x), x ) / GAMMA(x); d ---- GAMMA(x) dx Psi(x) = ------------- GAMMA(x) -------------------------------------------------------------------------------- > Psi(n,x) = Diff(Psi(x), x$n ); Psi(n, x) = Diff(Psi(x), x$n) -------------------------------------------------------------------------------- > evalf(Psi(2,101))/2; -.00004950249992 -------------------------------------------------------------------------------- > Zeta(3)=Sum(1/n^3,n=1..100)-(1/2)*Psi(2,101); / 100 \ |----- | | \ 1 | Zeta(3) = | ) ----| - 1/2 Psi(2, 101) | / 3 | |----- n | \n = 1 / -------------------------------------------------------------------------------- > evalf("); 1.202056903 = 1.202056903 -------------------------------------------------------------------------------- > evalf(S(100)); 1.202007401 -------------------------------------------------------------------------------- > evalf(Zeta(3)); 1.202056903 -------------------------------------------------------------------------------- > "-""; .000049502 -------------------------------------------------------------------------------- > 1.0/(2*(101)^2);evalf(A-S(100));1.0/(2*(100)^2); .00004901480247 .000049502 .00005000000000 -------------------------------------------------------------------------------- > a:='a': -------------------------------------------------------------------------------- > a:=n->1/n; a := n -> 1/n -------------------------------------------------------------------------------- > A; infinity ----- \ ) 1/n / ----- n = 1 -------------------------------------------------------------------------------- > value(A); infinity > limit(S(n)-ln(n),n=infinity); / n \ |----- | | \ | limit | ) 1/n| - ln(n) n -> infinity | / | |----- | \n = 1 / > value("); gamma > ?gamma > evalf(gamma); .5772156649 > a:='a': > a:=n->1/n^3; 1 a := n -> ---- 3 n > A; infinity ----- \ 1 ) ---- / 3 ----- n n = 1 -------------------------------------------------------------------------------- > A-S(N)<1/(2*N^2); /infinity \ / N \ | ----- | |----- | | \ 1 | | \ 1 | 1 | ) ----| - | ) ----| < ---- | / 3 | | / 3 | 2 | ----- n | |----- n | 2 N \ n = 1 / \n = 1 / -------------------------------------------------------------------------------- > 1/(2*(N+1)^2)<A-S(N); /infinity \ / N \ | ----- | |----- | 1 | \ 1 | | \ 1 | ---------- < | ) ----| - | ) ----| 2 | / 3 | | / 3 | 2 (N + 1) | ----- n | |----- n | \ n = 1 / \n = 1 / -------------------------------------------------------------------------------- > evalf(1+1/(2000)^3); 1.000000000 -------------------------------------------------------------------------------- > for k from 1250 to 1270 do evalf(1+1/(k^3)) od;k:='k': 1.000000001 1.000000001 1.000000001 1.000000001 1.000000001 1.000000001 1.000000001 1.000000001 1.000000001 1.000000001 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 1.000000000 -------------------------------------------------------------------------------- > evalf(1+1/((1259)^3));evalf(1+1/((1260)^3)); 1.000000001 1.000000000 -------------------------------------------------------------------------------- > evalf((2*10^9)^(1/3)); 1259.921050 -------------------------------------------------------------------------------- > (1259.921050)^3; 10 .2000000001*10 -------------------------------------------------------------------------------- > evalf(1/(1259)^(3)); -9 .5010981619*10 -------------------------------------------------------------------------------- > evalf(1/(1260)^(3)); -9 .4999060177*10 -------------------------------------------------------------------------------- > solve(1/n^3<(.5)*10^(-9),n); {n < 0}, {1259.921050 < n} > s[0]:=0:for n from 1 to 2000 do s[n]:=evalf(s[n-1]+1/n^3) od:n:='n':\ for n from 1 to 2000 do if modp(n,200)=0 then print(n,s[n]) fi od;n:='n': 200, 1.202044467 400, 1.202053791 600, 1.202055522 800, 1.202056121 1000, 1.202056394 1200, 1.202056594 1400, 1.202056653 1600, 1.202056653 1800, 1.202056653 2000, 1.202056653 -------------------------------------------------------------------------------- > S(10); 10 ----- \ 1 ) ---- / 3 ----- n n = 1 -------------------------------------------------------------------------------- > value(S(10)); 19164113947 ----------- 16003008000 -------------------------------------------------------------------------------- > value(S(20)); 336658814638864376538323 ------------------------ 280346265322438720204800 -------------------------------------------------------------------------------- > value(S(50)); 3251958144170050385476280040137248195072824750447564876132422113 ---------------------------------------------------------------- 2705769231561873462410773718765386619862166782990923887104000000 -------------------------------------------------------------------------------- > value(S(100)); 1/2 Psi(2, 101) + Zeta(3) -------------------------------------------------------------------------------- > convert([seq(1/n^3,n=1..100)],`+`); 8147348333074350358307418186167251193151812233617221640689414939133128970409751\ 9580221863303145356050828007873151451209887 -------------------------------------------------------------------------------- 6778118278309249584865634509184402157173419063091459022933216137995025717082809\ 8031102950264769178652556660142954086400000 -------------------------------------------------------------------------------- > numerator("); numerator( 8147348333074350358307418186167251193151812233617221640689414939133128970409751\ 9580221863303145356050828007873151451209887 -------------------------------------------------------------------------------- 6778118278309249584865634509184402157173419063091459022933216137995025717082809\ 8031102950264769178652556660142954086400000 ) -------------------------------------------------------------------------------- > denominator(""); denominator( 8147348333074350358307418186167251193151812233617221640689414939133128970409751\ 9580221863303145356050828007873151451209887 -------------------------------------------------------------------------------- 6778118278309249584865634509184402157173419063091459022933216137995025717082809\ 8031102950264769178652556660142954086400000 ) -------------------------------------------------------------------------------- > n:='n': -------------------------------------------------------------------------------- > ?convert -------------------------------------------------------------------------------- > ?Psi; > a:='a': -------------------------------------------------------------------------------- > a:=n->(-1)^(n-1)*(ln(n))^3/n; (n - 1) 3 (-1) ln(n) a := n -> ------------------ n -------------------------------------------------------------------------------- > A; infinity ----- (n - 1) 3 \ (-1) ln(n) ) ------------------ / n ----- n = 1 -------------------------------------------------------------------------------- > for j from 1 to 10 do s[j]:=evalf(s[j-1]+a(j)) od: j:='j': -------------------------------------------------------------------------------- > for j from 1 to 10 do print(j,s[j]) od;j:='j': 1, 0 2, -.1665123260 3, .2754773276 4, -.3905719762 5, .4432103360 6, -.5155010264 7, .5371158036 8, -.5868423974 9, .5917966776 10, -.6290104774 -------------------------------------------------------------------------------- > for j from 1 to 1000 do s[j]:=evalf(s[j-1]+a(j)) od: j:='j': -------------------------------------------------------------------------------- > s[999];s[1000]; .1554416297 -.1741763023 -------------------------------------------------------------------------------- > value(A); infinity ----- (n - 1) 3 \ (-1) ln(n) ) ------------------ / n ----- n = 1 -------------------------------------------------------------------------------- > evalf("); Error, (in evalf/sum1/levinu) division by zero -------------------------------------------------------------------------------- > xi:=s->(1-1/2^(s-1))*Zeta(s); / 1 \ xi := s -> |1 - --------| Zeta(s) | (s - 1)| \ 2 / -------------------------------------------------------------------------------- > 'xi(s)'=Sum((-1)^(n-1)/n^s,n=1..infinity); infinity ----- (n - 1) \ (-1) xi(s) = ) ----------- / s ----- n n = 1 -------------------------------------------------------------------------------- > Diff('xi(s)',s$3)=Sum((-1)^(n-1)*diff(n^(-s),s$3),n=1..infinity); infinity ----- \ (n - 1) (- s) 3 Diff(xi(s), s, s, s) = ) - (-1) n ln(n) / ----- n = 1 -------------------------------------------------------------------------------- > A:=-Subs(s=1,Diff('xi(s)',s$3)); A := - Subs(s = 1, Diff(xi(s), s, s, s)) -------------------------------------------------------------------------------- > diff(xi(s),s$3); 3 2 ln(2) Zeta(s) ln(2) Zeta(1, s) ln(2) Zeta(2, s) -------------- - 3 ----------------- + 3 ---------------- (s - 1) (s - 1) (s - 1) 2 2 2 / 1 \ + |1 - --------| Zeta(3, s) | (s - 1)| \ 2 / -------------------------------------------------------------------------------- > ''A''=limit(",s=1,right); 4 3 2 'A' = - 1/4 ln(2) + ln(2) gamma + 3 ln(2) gamma(2) + 3 ln(2) gamma(1) -------------------------------------------------------------------------------- > evalf("); A = .0094139502 -------------------------------------------------------------------------------- >