###################################################################### ##JON.txt: Save this file as JON.txt # ## To use it, stay in the # ##same directory, get into Maple (by typing: maple ) # ##and then type: read JON.txt # ##Then follow the instructions given there # ## # ##Written by Doron Zeilberger, Rutgers University , # #zeilberg at math dot rutgers dot edu # ###################################################################### #Created: print(`Created: Sept. 16, 2016`): print(` This is JON.txt `): print(`It a very short package that accompanies the talk `): print(` "Jon Borwein (1951-2016) a PiONEER of Experimental Mathematics`): print(`by Doron Zeilberger`): print(`http://www.math.rutgers.edu/~zeilberg/mamarim/mamarimhtml/JonBorwein.html .`): print(``): print(`Please report bugs to zeilberg at math dot rutgers dot edu`): print(``): print(`---------------------------------------`): print(`For a list of the MAIN procedures type ezra();, for help with`): print(`a specific procedure, type ezra(procedure_name); .`): print(``): print(`---------------------------------------`): with(combinat): ezra:=proc() if args=NULL then print(`The procedures are: BB3seq, BB4seq, SBseq, Sipur `): print(` `): elif nops([args])=1 and op(1,[args])=BB3seq then print(`BB3seq(N): inputs an integer N and outputs the number of correct digits of 1/Pi in the Borwein-Borwein cubic algorithm `): print(`that are less than Digits/2 (to be safe)`): print(`Try:`): print(`BB3seq(8); `): elif nops([args])=1 and op(1,[args])=BB4seq then print(`BB4seq(N): inputs an integer N and outputs the number of correct digits of 1/Pi in the Borwein-Borwein quartic algorithm `): print(`that are less than Digits/2 (to be safe)`): print(`Try:`): print(`BB4seq(8); `): elif nops([args])=1 and op(1,[args])=SBseq then print(`SBseq(N): inputs an integer N and outputs the number of correct digits of Pi in the Salamin-Brent algorithm`): print(`that are less than Digits/2 (to be safe)`): print(`Try:`): print(`SBseq(8); `): elif nops([args])=1 and op(1,[args])=Sipur then print(`Sipur(N): inputs a positive integer N and outputs an article about the number of correct decimal digits`): print(`in each iteration of the Salamin-Brent, Borwein cubic, and Borwein quartic.`): print(`Try:`): print(`Sipur(10);`): else print(`There is no ezra for`,args): fi: end: Digits:=500000: #SBseq(N): The number of correct (decimal) digits of the Salamin-Brent quadratic algorithm for Pi SBseq:=proc(N) local k,a,b,s,p,pL,Newa,Newb,c,i,lu: a:=1.: b:=1/sqrt(2.): s:=1/2.: pL:=[]: for k from 1 to N do Newa:=(a+b)/2: Newb:=sqrt(a*b): a:=Newa: b:=Newb: c:=a^2-b^2: s:=s-2^k*c: p:=2*a^2/s: pL:=[op(pL), p]: od: lu:=[seq(trunc(-log[10](abs(pL[i]-Pi))),i=1..nops(pL))]: for i from 1 to nops(lu) while lu[i]