The Maple notebook is chapter6.mw but you are warned that it may download as a text file.

Chapter 6

Maple code for exercises in section 6.1

8.

 > a := k -> piecewise(k=0,1/2*int(x^2,x = -1 .. 1), int(x^2*cos(k*Pi*x),x = -1 .. 1));

 > b := k -> int(x^2*sin(k*Pi*x),x = -1 .. 1) ;

11.

 > riemann := proc(x)

 > local pos::list, neg::list, negi, posi, i, l::list, sum, summands::list, j, posl::list, negl::list; negi := 1; posi := 1; posl := []; negl := []; i := 1; sum := 0; pos := []; neg := []; summands := []; l := [];

 > summands := [seq((-1)^(j-1)*cos((2*j-1)*x)/(2*j-1),j=1..100)];

 > for j from 1 to 100 do if op(j,summands) >= 0 then pos := [op(pos),op(j,summands)]; posl := [op(posl),j]; else neg := [op(neg),op(j,summands)]; negl := [op(negl),j] end if; end do;

 > while i <= 20 do while sum < 1 do sum := sum + op(posi,pos); l := [op(l),op(posi,posl)]; posi := posi + 1; i := i + 1; end do; while sum >= 1 do sum := sum + op(negi,neg); l := [op(l),op(negi,negl)]; negi := negi + 1; i := i + 1; end do; end do; print(l); print(sum); end proc;

 > riemann(.5);

The list shows the order in which the summands have been rearranged. thus, with x = 0.5, we take the first summand, then the fourth, then the second, then the seventh, and so on.

13.

The following command will calculate a numerical approximation to the value of the integral:

 > F := n -> evalf(evalf(int(sin((2*n+1)*u)*sqrt(9+2*u)/sin(u),u = 0 .. 1/2*Pi))/Pi) ;

 > plots[listplot]([seq([5*n, F(5*n)],n = 1 .. 30)],style = POINT,symbol = POINT,view = 1.5 .. 1.51);

17.

 > a := k -> piecewise(k=0,  1/2*int(2*x+1,x = -Pi .. 0)/Pi+int(1/3*x-2/3,x = 0 .. Pi)/Pi, int((2*x+1)*cos(k*x),x = -Pi .. 0)/Pi+int(1/3*(x-2)*cos(k*x),x = 0 .. Pi)/Pi); b := k -> int((2*x+1)*sin(k*x),x = -Pi .. 0)/Pi+int(1/3*(x-2)*sin(k*x),x = 0 .. Pi)/Pi ;

 > [a(k), b(k)];

Simplify Mathematica's answer by using your knowledge that k is an integer and therefore sin(k Pi) = 0 and cos( k Pi) = (-1)^k.

Maple code for exercises in section 6.2

1.

 > S1 := n -> sum(j^3/n^4-2*j^2/n^3+j/n^2,j = 0 .. n-1) ;

 > evalf(seq([n, S1(n)], n=1..20),10);

2.

In the argument of ApproxS, enter the list of points in the partition in increasing order, starting with 0 and ending with 1.

 > ApproxS := proc (P::list) local j ; sum((op(j,P)^3-2* op(j,P)^2+ op(j,P))*( op(j+1,P)- op(j,P)),j = 1 .. nops(P)-1) end proc;

 > ApproxS([0, .25, .5, .75, 1]);

 > ApproxS([0, .1, .35, .6, .85, 1]);

3.

 > S2 := n -> sum(sin(n/j)/n,j = 1 .. n-1) ;

 > evalf(seq([5*n, S2(5*n)], n=1..20),10);

5.

 > int(cos(100*Pi*x)^2,x = 0 .. 1);

 > S3 := n -> sum(cos(100*Pi*j/n)^2/n,j = 0 .. n-1) ;

 > evalf(seq([n, S3(n)], n=1..30),10);

Maple code for exercises in section 6.3

15.

The first command defines the numerator function ((x)).

 > num := x -> piecewise(x < floor(x)+1/2,x-floor(x),x = floor(x)+1/2,0,floor(x)+1/2 < x,x-floor(x)-1);

This next command simply looks at the plot of this function.

 > plot(num(x),x = -4 .. 4);

The command points[n] generates a table of the approximations to f(x) at the values x = j/1000, j = 1, 2, ..., 1000, using a summation with n summands (and thus an error that is bounded by 1/2n).

 > points := n -> [seq([1/1000*j, sum(num(1/1000*k*j)/k^2,k = 1 .. n)],j = 1 .. 1000)] ;

 > plots[listplot](points(10),style = POINT,symbol = POINT);

 > plots[listplot](points(100),style = POINT,symbol = POINT);

 > plots[listplot](points(1000),style = POINT,symbol = POINT);

19.

 > fun := (k,d)-> piecewise( k mod d = 0, (-1)^d*d , 0 ) ;

 > psi := k -> sum(fun(k,d),d = 1 .. k) ;

 > seq([k, psi(k)], k=1..100);

Maple code for exercises in section 6.4

2.

 > distance := x -> piecewise(x <= floor(x)+1/2,x-floor(x),floor(x)+1/2 < x,floor(x)+1-x) ;

 > plot(distance(x),x = -2 .. 2);

3.

 > plotF := n -> plot(distance(4^n*x)/(4^n),x = -4^(1-n) .. 4^(1-n)) ;

Notice what happens to the scale on both the x- and y-axes.

 > plotF(2);

 > plotF(3);

 > plotF(4);

4.

 > S4 := (n, x) -> sum(distance(4^k*x)/(4^k),k = 0 .. n) ;

 > plot(S4(2,x),x = -2 .. 2);

 > plot(S4(3,x),x = -2 .. 2);

 > plot(S4(4,x),x = -2 .. 2);

Why don't these look any differrent?

11.

 > S5 := (n, x) -> sum((6/7)^k*cos(7^n*Pi*x),k = 0 .. n) ;

Notice what happens to the scale on both the x- and y-axes.

 > plot(S5(1,x),x = -1 .. 1);

 > plot(S5(2,x),x = -1/7 .. 1/7);

 > plot(S5(3,x),x = -1/49 .. 1/49);