{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "" -1 256 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 257 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 260 "" 0 14 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 262 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 266 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 267 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 272 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal " -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {SECT 1 {PARA 3 "" 0 "" {TEXT -1 103 "Euro Summer School in Or thogonal Polynomials and Special Functions, Leuven, Belgium, August 12 -17, 2002" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 91 "Wolfram Koepf: Comp uter Algebra Algorithms for Orthogonal Polynomials and Special Functio ns" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 257 40 "What is a Computer Algebra System about? " }{TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "40!;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "binomial(123,45);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "40!/binomial(123,45);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "evalf(Pi,100);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "p:=(x+y)^10-(x-y)^10;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "expand(p);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "factor(p);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "solve(\{x^2+y^2/2=1,-x^2+y^2+1=0\},\{x,y\});" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "plots[implicitplot](\{x^2+y^ 2/2=1,-x^2+y^2+1=0\},x=-3..3,y=-3..3);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "plot3d(x^2-y^2,x=-1..1,y=-1..1);" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 27 "Co mputation of Power Series" }{TEXT 256 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "series(exp(x),x);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 131 "The following algorithm is from\nKoepf, Wolfram: Power Series \+ in Computer Algebra, Journal of Symbolic Computation 13, 1992, 581-603 " }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "read \"FPS.mpl\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "FPS(exp(x) ,x);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "infolevel[FPS]:=5: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "FPS(exp(x),x);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "FPS(exp(x^2),x);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 16 "a Puiseux series" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "FPS(exp(sqrt(x)),x);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "FPS(arcsin(x),x);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "infolevel[FPS]:=0:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 20 "computation in steps" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "f[0]:=arcsin(x);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "f[1]:=diff(f[0],x);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "normal(f[1]/f[0]);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "f[2]:=diff(f[1],x);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "ansatz:=sum(c[k]*f[k],k=0..2 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "normal(subs(c[0]=0,an satz));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "sol:=solve(norma l(subs(c[0]=0,ansatz)),\{c[1],c[2]\});" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "DE:=c[0]*F(x)+c[1]*diff(F(x),x)+c[2]*diff(F(x),x$2); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "collect(numer(normal(su bs(sol,c[0]=0,DE/c[2]))),diff)=0;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 32 "procedures combining these steps" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "DE:=HolonomicDE(arcsin(x),F(x));" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "dsolve(DE,F(x));" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "RE:=SimpleRE(arcsin(x),x,a(k ));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "rsolve(RE,a(k));" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "some final examples: a Laurent se ries" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "FPS(arcsin(x)^2/x^5 ,x);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 24 "and an asymptotic series " }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "FPS( (erf(x)-1)*exp(x^2),x=infinity);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 17 "special functions" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "FPS(LaguerreL(n,x),x);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 47 "Computation of Holonomic Differential Equations" }}{EXCHG {PARA 0 "" 0 "" {TEXT 261 10 "Exercise 1" }{TEXT -1 63 ": Find a holonomic differential equa tion for f(x)=sin(x)*exp(x)" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 9 "Solution:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "f[0]:=sin(x)*exp(x);" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 19 "f[1]:=diff(f[0],x);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "normal(f[1]/f[0]);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "f[2]:=diff(f[1],x);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "ansatz:=expand(sum(c[k]*f[k],k=0..2));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "sol:=solve(\{c[0]+c[1]=0,c[1]+2*c[2 ]=0\},\{c[0],c[1],c[2]\});" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "DE:=c[0]*F(x)+c[1]*diff(F(x),x)+c[2]*diff(F(x),x$2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "DE:=collect(numer(normal(subs(sol,D E/c[0]))),diff)=0;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "f:='f' :" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 36 "example from Olde Daalhuis' \+ lecture:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 84 "HolonomicDE(-(-z)^alpha*exp(-z*lambda)*GAMMA(1+alpha)*GAMMA(-alpha ,-z*lambda),F(z));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 89 "Holon omicDE(-(-z)^alpha*exp(-z*lambda)*GAMMA(1+alpha)*GAMMA(-alpha,-z*lambd a),F(lambda));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {SECT 1 {PARA 3 "" 0 "" {TEXT -1 30 "Algebra of Holonomic Functions" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "read \"FPS.mpl\";" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "with(share): with(gfun);" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 34 "The function sin(x)*exp(x), again :" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "DE1 :=diff(F(x),x$2)+F(x)=0;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "DE2:=diff(F(x),x)-F(x)=0;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "`diffeq*diffeq`(DE1,DE2,F(x));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 35 "and the sum sin(x)+exp(x) satisfies" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "`diffeq+diffeq`(DE1,DE2,F(x) );" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 44 "Now a more complicated exam ple: exp(x)*Ai(x)" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "DE1:=diff(F(x),x)-F(x)=0;" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 30 "DE2:=SimpleDE(AiryAi(x),F(x));" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 30 "`diffeq*diffeq`(DE1,DE2,F(x));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "`diffeq+diffeq`(DE1,DE2,F(x));" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 121 "Similar algorithms exist for sequ ences an recurrence equations. Assume we want to find a recurrence equ ation w.r.t. k for" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "binom ial(n,k)+binomial(k,n);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 79 "The bi nomial coefficient binomial(n,k) (first summand) satisfies the equat ion" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "S (k+1)/S(k)=expand(binomial(n,k+1)/binomial(n,k));" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 55 "w.r.t. k. This gives the holonomic recurrence equa tion " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 88 "RE1:=collect(numer (normal(S(k+1)-expand(binomial(n,k+1)/binomial(n,k))*S(k))),S,factor); " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 80 "The binomial coefficient bin omial(k,n) (second summand) satisfies the equation" }{MPLTEXT 1 0 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "S(k+1)/S(k)=expand(bino mial(k+1,n)/binomial(k,n));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 55 "w. r.t. k. This gives the holonomic recurrence equation " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 88 "RE2:=collect(numer(normal(S(k+1)-ex pand(binomial(k+1,n)/binomial(k,n))*S(k))),S,factor);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 28 "Therefore we get for the sum" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "`rec+rec`(RE1,RE 2,S(k));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 63 "Just for fun we compu te the recurrence equation for the product" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "`rec*rec`(RE1,RE2,S(k));" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 " " {TEXT -1 42 "Identification of Hypergeometric Functions" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 20 "We are interested in" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "s:=Sum(binomial(n,k)^2,k= 0..infinity);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "F:=k->bino mial(n,k)^2;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "r:=F(k+1)/F (k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "expand(r);" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 5 "Hence" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "s=hypergeom([-n,-n],[1],1); " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 5 "Check" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "convert(s,hypergeom);" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 92 "Maple simplifies completely, hence we don't see the hypergeometric form. The same applies to" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "simplify(hyperge om([-n,-n],[1],1));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 35 "This gives the hypergeometric form:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "sumtools[Sumtohyper](F(k),k);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 15 "Another example" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "F:=binomial(n,k)*binomial(-n-1,k)*( (1-x)/2)^k;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "Sum(F,k=0..n )=sumtools[Sumtohyper](F,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "with(sumtools);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "?s umtools;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "interface(verbo seproc=2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "print(sumtool s[Sumtohyper]);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 72 "Details of thi s algorithm and an implementation can be found in the book" }}{PARA 0 "" 0 "" {TEXT -1 15 "Wolfram Koepf: " }{TEXT 263 24 "Hypergeometric Su mmation" }{TEXT -1 38 ", Vieweg, Braunschweig/Wiesbaden, 1998" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 56 "We can combin e the FPS and the identification algorithm:" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "s:=FPS(exp(x),x,k);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "op(1,s);" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 22 "Sumtohyper(op(1,s),k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "s:='s':" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 262 11 "Exercise 3:" }{TEXT -1 41 " Write cos(x) in hypergeometric notatio n." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 9 "Solution:" }{MPLTEXT 1 0 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "Sumtohyper((-1)^k/(2*k) !*x^(2*k),k);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 27 "or, combining FP S and hsum:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "fps:=FPS(cos(x),x,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "Sumtohyper(op(1,fps),k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 64 "Computation of Recur rence Equations for Hypergeometric Functions" }}{EXCHG {PARA 0 "" 0 " " {TEXT -1 32 "How does one generate the result" }{MPLTEXT 1 0 0 "" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "Sum(binomial(n,k),k=0..n)=s um(binomial(n,k),k=0..n);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 56 "We d o the following more complicated example with Maple:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "Sum(k*binomial(n,k),k= 0..n)=sum(k*binomial(n,k),k=0..n);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "F:=(n,k)->k*binomial(n,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "ansatz:=sum(sum(a(j,i)*F(n+j,k+i),i=0..1),j=0..1); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "ansatz:=ansatz/F(n,k); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "ansatz:=expand(ansatz); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "ansatz:=normal(ansatz); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "ansatz:=numer(ansatz); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "eqs:=\{coeffs(ansatz,k) \};" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "sol:=solve(eqs,\{seq (seq(a(j,i),j=0..1),i=0..1)\});" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "re:=sum(sum(a(j,i)*f(n+j,k+i),i=0..1),j=0..1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "re:=subs(sol,re);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "re:=numer(normal(re/a(1,1)));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "RE:=subs(\{seq(seq(f(n+j,k+i)=s(n+j ),i=0..1),j=0..1)\},re)=0;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 43 "Now we use the implementation from the book" }}{PARA 0 "" 0 "" {TEXT -1 15 "Wolfram Koepf: " }{TEXT 258 24 "Hypergeometric Summation" }{TEXT -1 38 ", Vieweg, Braunschweig/Wiesbaden, 1998" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read \"hsum6.mpl\";" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 104 "libname:=libname,\"C:/Dokum ente und Einstellungen/koepf/Eigene Dateien/Koepf/Vortr\344ge/SummerSc hool/hsum\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "?hsum" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "fasenmyer(k*binomial(n,k),k, s(n),1,1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "fasenmyer(bin omial(n,k)^2,k,s(n),1,1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "fasenmyer(binomial(n,k)^2,k,s(n),2,1);" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 38 "fasenmyer(binomial(n-k,k),k,s(n),2,1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "[seq(sum(binomial(n-k,k),k=0..n),n= 0..10)]; n:='n':" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "fasenmy er((-1)^k*binomial(n,k)^2,k,s(n),2,2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "fasenmyer(binomial(n,k)^3,k,s(n),2,1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "fasenmyer(binomial(n,k)^3,k,s(n),3, 1);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 20 "Legendre polynomials" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "Sum(bin omial(n,k)*binomial(-n-1,k)*((1-x)/2)^k,k=0..n);" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 53 "This corresponds to the hypergeometric representat ion" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "S umtohyper(binomial(n,k)*binomial(-n-1,k)*((1-x)/2)^k,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 65 "fasenmyer(binomial(n,k)*binomial(-n -1,k)*((1-x)/2)^k,k,s(n),2,1);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 264 11 "Exercise 5:" }{TEXT -1 71 " Compute a three-term recurrence equati on for the Laguerre polynomials." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 8 "Solution" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 63 "The Laguerre polynomials have the hypergeometric representation" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "Laguerr eL(n,x)=hypergeom([-n],[1],x);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 16 "Therefore we get" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "fasenmyer(hyperterm([-n],[1],x,k),k,s(n),2,1);" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 75 "The generalized Laguerre polynomia ls have the hypergeometric representation" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "LaguerreL(n,alpha,x)=binomia l(n+alpha,n)*hypergeom([-n],[1+alpha],x);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 16 "Therefore we get" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "fasenmyer(binomial(n+alpha,n)*hyperterm([-n], [1+alpha],x,k),k,s(n),2,1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 20 "Indefinite Summation" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 22 "Indefinite sum of k*k!" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "s:=sum(k*k!,k); " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 6 "Check:" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "difference:=subs(k=k+1,s)-s; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "simplify(difference);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "simplify(difference-k*k!) ;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "infolevel[sum]:=5:" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "sum((-1)^k*binomial(n,k),k) ;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "with(sumtools);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "gosper((-1)^k*binomial(n,k), k);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 260 48 "Example from SIAM Reviews 36, 1994, Problem 94-2" }{MPLTEXT 1 0 0 "" }{TEXT 259 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "Sum((-1)^(k+1)*(4*k+1)*(2*k)!/(k!*4 ^k*(2*k-1)*(k+1)!),k=1..infinity);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "sum((-1)^(k+1)*(4*k+1)*(2*k)!/(k!*4^k*(2*k-1)*(k+1)!) ,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "sum((-1)^(k+1)*(4*k +1)*(2*k)!/(k!*4^k*(2*k-1)*(k+1)!),k=1..infinity);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "infolevel[sum]:=0:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 32 "We do a more complicated example" }{MPLTEXT 1 0 0 "" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "s:=k!*binomial(n,k)/(n-k); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "a:=subs(k=k+3,s)-s;" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "b:=gosper(a,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "gosper(b,k);" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 17 "read \"hsum6.mpl\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "gosper(b,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "a:='a': b:='b':" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 28 "Gosper's Al gorithm in Detail" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read \" hsum6.mpl\";" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "first example" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "a:=k*k!; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "rat:=subs(k=k+1,a)/a;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "rat:=normal(expand(rat)); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "q:=numer(rat);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "r:=denom(rat);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "p:=1;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 46 "q(k) and r(k+j) have a nontrivial gcd for j=1:" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "gcd(q,s ubs(k=k+1,r));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "pqr:=upda te(p,subs(k=k-1,q),subs(k=k-1,r),k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "p:=op(1,pqr); q:=op(2,pqr); r:=op(3,pqr);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "f:='f':" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 46 "RE:=subs(k=k+1,q)*f(k)-subs(k=k+1,r)*f(k-1)=p;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "rsolve(RE,f(k));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "f:=findf(p,q,r,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "s:=r/p*subs(k=k-1,f)*a;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 14 "second example" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "a:=(-1)^k*binomial(n,k);" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "rat:=subs(k=k+1,a)/a;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "rat:=normal(expand(rat));" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "q:=numer(rat);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "r:=denom(rat);" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 5 "p:=1;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 120 "q(k) and r(k+j) have no nontrivial gcd for n a symbol, but for ne gative integer n. We will come back to this case later." }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "pqr:=update(p,subs (k=k-1,q),subs(k=k-1,r),k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "p:=op(1,pqr); q:=op(2,pqr); r:=op(3,pqr);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "f:='f':" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "RE:=subs(k=k+1,q)*f(k)-subs(k=k+1,r)*f(k-1)=p;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "sol:=rsolve(RE,f(k));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "f:=findf(p,q,r,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "s:=r/p*subs(k=k-1,f)*a;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 42 "Now we consider the particular case n=-10." }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "a:=(-1)^k*binomi al(-10,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "rat:=subs(k=k +1,a)/a;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "rat:=normal(exp and(rat));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "q:=numer(rat) ;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "r:=denom(rat);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "p:=1;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 46 "q(k) and r(k+j) have a nontrivial gcd for j=9:" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "gcd(q,s ubs(k=k+9,r));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "pqr:=upda te(p,subs(k=k-1,q),subs(k=k-1,r),k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "p:=op(1,pqr); q:=op(2,pqr); r:=op(3,pqr);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "f:='f':" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 46 "RE:=subs(k=k+1,q)*f(k)-subs(k=k+1,r)*f(k-1)=p;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "sol:=rsolve(RE,f(k));" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "f:=findf(p,q,r,k);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "specials:=r/p*subs(k=k-1,f)* a;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "difference:=simplify( specials-subs(n=-10,s));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "simplify(difference);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "[ seq(difference,k=1..10)]; k:='k':" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "third example" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "a:=binomial(n,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "rat:=subs(k=k+1,a)/a;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "rat:=normal(expand(rat));" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 14 "q:=numer(rat);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "r:=denom(rat);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "p:=1;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "pqr:=update (p,subs(k=k-1,q),subs(k=k-1,r),k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "p:=op(1,pqr); q:=op(2,pqr); r:=op(3,pqr);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "f:='f':" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 46 "RE:=subs(k=k+1,q)*f(k)-subs(k=k+1,r)*f(k-1)=p;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "rsolve(RE,f(k));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "f:=findf(p,q,r,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "gosper(a,k);" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 47 "a:='a': s:='s': p:='p': q:='q': r:='r': f:='f' :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 " " 0 "" {TEXT -1 22 "Zeilberger's Algorithm" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 15 "with(sumtools);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "sumrecursion(k*binomial(n,k),k,s(n));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "sumrecursion((-1)^k*binomial(n,k)^2 ,k,s(n));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "sumrecursion(b inomial(n,k)^3,k,s(n));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 65 "With Z eilberger's algorithm, we can do more complicated examples." } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 17 "The Ap\351ry \+ numbers" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "Sum(binomial(n,k)^2*binomial(n+k,k)^2,k=0..n);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 31 "satisfy the recurrence equation" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "sumrecursion(binomial( n,k)^2*binomial(n+k,k)^2,k,A(n));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 59 "Four different representations of the Legendre polynomials:" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 28 "(a) We consid er the summand:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "legendre1:=binom ial(n,k)*binomial(-n-1,k)*((1-x)/2)^k;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "The sum" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "Sum(legendre 1,k=0..n);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "has the hypergeomet ric representation" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "Sumtohyper(le gendre1,k);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "and satisfies the \+ recurrence equation" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "sumrecursion (legendre1,k,P(n));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 28 "(b) We con sider the summand:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "legendre2:=1/ 2^n*binomial(n,k)^2*(x-1)^(n-k)*(x+1)^k;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "The sum" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "Sum(legendre 2,k=0..n);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "has the hypergeomet ric representation" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "Sumtohyper(le gendre2,k);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "and satisfies the \+ recurrence equation" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "sumrecursion (legendre2,k,P(n));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 28 "(c) We con sider the summand:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "legendre3:=1/ 2^n*(-1)^k*binomial(n,k)*binomial(2*n-2*k,n)*x^(n-2*k);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "The sum" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "Sum(legendre3,k=0..floor(n/2));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "has the hypergeometric representation" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "Sumtohyper(legendre3,k);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "and satisfies the recurrence equation" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 31 "sumrecursion(legendre3,k,P(n));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 28 "(d) We consider the summand:" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 55 "legendre4:=x^n*hyperterm([-n/2,(1-n)/2],[1],1-1/x^2 ,k);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "The sum" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "Sum(legendre4,k=0..floor(n/2));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "has the hypergeometric representation" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "Sumtohyper(legendre4,k);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "and satisfies the recurrence equation" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "sumrecursion(legendre4,k,P(n));" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 19 "Dougall's identity:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 136 "TIME:=time():\nsu mrecursion(hyperterm([a,1+a/2,b,c,d,1+2*a-b-c-d+n,-n],[a/2,1+a-b,1+a-c ,1+a-d,b+c+d-a-n,1+a+n],1,k),k,s(n));\ntime()-TIME;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 94 "term:=hyperterm([a,1+a/2,b,c,d,1+2*a-b-c- d+n,-n],[a/2,1+a-b,1+a-c,1+a-d,b+c+d-a-n,1+a+n],1,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "A:=term+sigma(1)*subs(n=n+1,term); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "rat:=simpcomb(subs(k=k+ 1,A)/A);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "closedform(term ,k,n);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "Proof of Clausen's form ula by Cauchy product:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "s ummand:=j->hyperterm([a,b],[a+b+1/2],1,j);" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 17 "read \"hsum6.mpl\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "Closedform(summand(j)*summand(k-j),j,k);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 73 "example from Joris van der Jeugt's talk: \+ Whipple's transformation (2.10):" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 82 "RE1:=sumrecursion(subs(f=a+b+c-n+1-d-e,hy perterm([-n,a,b,c],[d,e,f],1,k)),k,S(n));" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 166 "RE2:=sumrecursion(subs(f=a+b+c-n+1-d-e,pochhammer( e-c,n)*pochhammer(f-c,n)/pochhammer(e,n)/pochhammer(f,n)*hyperterm([-n ,d-a,d-b,c],[d,d+e-a-b,d+f-a-b],1,k)),k,S(n));" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 20 "op(1,RE1)-op(1,RE2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }{TEXT -1 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 29 "A Generating Function Problem" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 61 "RE:=sumrecursion(binomial(alpha+n-1,n)*legendre4*z^ n,n,s(k));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "sol:=rsolve(R E,s(k));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 29 "We compute the initia l value:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "s(0)=Sum(binomial(alpha+n-1,n)*subs(k=0,legendre4)*z^n,n=0..infini ty);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 74 "aw:=s(0)=sum(binomi al(alpha+n-1,n)*subs(k=0,legendre4)*z^n,n=0..infinity);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 30 "Therefore we get the solution:" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "sol:=su bs(aw,sol);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "which we put into \+ hypergeometric form:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "Sumtohyper(sol,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 13 "Infinite Su ms" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read \"hsum6.mpl\";" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "read \"infhsum.mpl\";" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 14 "Gauss identity" }{MPLTEXT 1 0 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "infclosedform(hyperterm ([a,b],[c],1,k),k,c);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 17 "Kummer's identity" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "infclosedform(hyperterm([a,b],[1+a-b],-1,k),k,a);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 25 "Pfaff-Saalsch\374tz identity" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "infclosedform(hy perterm([a,b,c],[d,1+a+b+c-d],1,k),k,d);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 82 "Note that this is an non-obvious generalization of the Pf aff-Saalsch\374tz identity. " }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 13 "The \+ WZ Method" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read \"hsum6.mp l\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 86 "WZcertificate:=proc (F,n,k) \nlocal G;\nG:=gosper(subs(n=n+1,F)-F,k);\nsimpcomb(G/F);\nend :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "WZcertificate(binomial (n,k),n,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "F:=binomial( n,k)/2^n;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "R:=WZcertifica te(F,n,k);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 95 "Knowing this certif icate function, we have only to check that two rational functions are \+ equal:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 98 "rationalproof:=(F ,n,k,R)->[simpcomb(subs(n=n+1,F)/F)-1,subs(k=k+1,R)*simpcomb(subs(k=k+ 1,F)/F)-R]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "rationalproo f(F,n,k,R);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Dougall's theorem: " }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 168 "F:= hyperterm([a,1+a/2,b,c,d,1+2*a-b-c-d+n,-n],[a/2,1+a-b,1+a-c,1+a-d,b+c+ d-a-n,1+a+n],1,k)/hyperterm([1+a,a+1-b-c,a+1-b-d,a+1-c-d,1],[1+a-b,1+a -c,1+a-d,1+a-b-c-d],1,n);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "R:=WZcertificate(F,n,k);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "proof:=rationalproof(F,n,k,R);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "normal(op(1,proof)-op(2,proof));" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 46 "Di fferential Equations for Hypergeometric Sums" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read \"hsum6.mpl\";" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 47 "The differential equation of the sine function:" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "sumdiff eq((-1)^k/(2*k+1)!*x^(2*k+1),k,s(x));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 121 "The four different hypergeometric representations of the Legendre polynomials all lead to the same differential equation:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "legendre1:=binomial(n,k)*bin omial(-n-1,k)*((1-x)/2)^k; sumdiffeq(legendre1,k,P(x));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 82 "legendre2:=1/2^n*binomial(n,k)^2*(x -1)^(n-k)*(x+1)^k; sumdiffeq(legendre2,k,P(x));" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 97 "legendre3:=1/2^n*(-1)^k*binomial(n,k)*binomial (2*n-2*k,n)*x^(n-2*k); sumdiffeq(legendre3,k,P(x));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 84 "legendre4:=x^n*hyperterm([-n/2,(1-n)/2],[ 1],1-1/x^2,k); sumdiffeq(legendre4,k,P(x));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 21 "Petkovse k's Algorithm" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read \"hsum 6.mpl\";" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 82 "For the following sum Zeilberger's algorithm finds a recurrence equation of order " }{TEXT 266 1 "c" }{TEXT -1 16 "-1 instead of 1:" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "Sum((-1)^k*binomial(n,k)*bin omial(c*k,n),k=0..n)=(-c)^k;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 11 "W e compute:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "rec:=sumrecursion((-1)^k*binomial(n,k)*binomial(4*k,n),k,s(n)); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "TIME:=time():\nrechyper (rec,s(n));\ntime()-TIME;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 91 "We l oad a package which includes an implementation of a faster algorithm b y Mark van Hoeij:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 99 "libname:=`C:/D okumente und Einstellungen/Koepf/Eigene Dateien/Koepf/Vortr\344ge/Summ erSchool`,libname;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "TIME: =time():\n`LREtools/hsols`(rec,s(n));\ntime()-TIME;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 4 "For " }{TEXT 267 1 "c" }{TEXT -1 10 "=5, we get " }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "rec: =sumrecursion((-1)^k*binomial(n,k)*binomial(5*k,n),k,s(n));" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 48 "The following computation has to b e interrupted:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "TIME:=time():\nrechyper(rec,s(n));\ntime()-TIME;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "TIME:=time():\n`LREtools/hso ls`(rec,s(n));\ntime()-TIME;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 58 "W olfram Koepf: Hypergeometric Summation, Exercise 9.3 (a):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "rec:=\nsumrecursion(hyperterm([-n,a ,a+1/2,b],[2*a,(b-n+1)/2,(b-n)/2+1],1,k),k,s(n));" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 52 "TIME:=time():\nres1:=rechyper(rec,s(n));\nti me()-TIME;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "TIME:=time(): \nres2:=`LREtools/hsols`(rec,s(n));\ntime()-TIME;" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 28 "Hy perexponential Integration" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read \"hsum6.mpl\";" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 41 "Contin uous version of Gosper's algorithm." }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 17 "Does the function" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "f:=exp(x^2);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 53 "have a hyperexponential antiderivative? T he answer is" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "contgosper(exp(x^2),x);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 30 "The situation is different for" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "contgosper(x*exp(x^2),x);" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 36 "Let's do a more complicated exampl e:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "te rm:=diff((1+x^2)/(1-x^10),x);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "res:=contgosper(term,x);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "res:=normal(res);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "res:=normal(res,expanded);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 41 "Let's check Maple's internal integrator: " }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "res:=int(term,x);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "res:=normal(res);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "res:=normal(res,expanded);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 30 "Let's check Risch's algorithm: " }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "`int /risch`(term,x);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {SECT 1 {PARA 3 "" 0 "" {TEXT -1 51 "Differential and Recurrence Equat ions for Integrals" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read \+ \"hsum6.mpl\";" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 47 "A Beta type int egral. We would like to compute:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "Int(t^x*(1-t)^y,t=0..1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "integrand:=t^x*(1-t)^y;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 41 "The integrand is a hyperexponential term: " }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "cont ratio(integrand,t);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "What type \+ of result should we expect?" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 44 "[ratio(integrand,x),contratio(integrand,x)];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "[ratio(integrand,y),contr atio(integrand,y)];" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 64 "Applicatio n of the continuous version of Zeilberger's algorithm:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "REx:=intrecursion(in tegrand,t,S(x));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "rsolve( REx,S(x));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "REy:=intrecur sion(integrand,t,S(y));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 " rsolve(REy,S(y));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 46 "Therefore th e integral should be a multiple of" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "res:=GAMMA(x+1)*GAMMA(y+1)/GAMMA(x+ y+2);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 32 "We let Maple do the inte gration:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "int(integrand,t=0..1);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 42 "Ano ther example. We would like to compute:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "Int(x^2/(x^4+t^2)/(1+t^2),t=0..infi nity);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "integrand:=x^2/(x ^4+t^2)/(1+t^2);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 41 "The integrand is a hyperexponential term:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 23 "contratio(integrand,t);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "What type of result should we expect?" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "[ratio(integrand,x ),contratio(integrand,x)];" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 64 "App lication of the continuous version of Zeilberger's algorithm:" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "RE:=int recursion(integrand,t,S(x));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "DE:=intdiffeq(integrand,t,S(x));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "dsolve(DE,S(x));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "res:=int(integrand,t=0..infinity);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "assume(x>0):" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 17 "res:=normal(res);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 55 "Which recurrence equation is valid for the result S(x)?" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "ratio(r es,x);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "rat:=factor(ratio (res,x),I);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 41 "Hence the recurren ce equation for S(x) is" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 36 "denom(rat)*S(x+1)-numer(rat)*S(x)=0;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "x:='x':" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 36 "An example from Olde Daalhuis' talk:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "intdiffeq(exp(-lambda*t)* t^alpha/(z-t),t,F(z));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "i ntdiffeq(exp(-lambda*t)*t^alpha/(z-t),t,F(lambda));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 18 "Rodrigues Formulas" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read \+ \"hsum6.mpl\";" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "Rodrigues formu la of the Legendre polynomials" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 42 "P(n,x)=(-1)^n/2^n/n!*diff((1-x^2)^n,x$n); " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 99 "The following function computes the recurrence equation of the family by Cauchy's integral formula " }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "RE:=ro driguesrecursion((-1)^n/2^n/n!,(1-x^2)^n,x,P(n));" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 43 "Similarly, we get the differential equation" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "DE:=rod riguesdiffeq((-1)^n/2^n/n!,(1-x^2)^n,n,P(x));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 100 "The holonomic recurrence equation defines the Legendr e polynomials uniquely up to the initial values" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 51 "P(0,x)=simplify(subs(n=0,(-1)^n/2^n/n!*(1-x^2) ^n));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 3 "and" }{MPLTEXT 1 0 0 "" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "P(1,x)=simplify(subs(n=1,( -1)^n/2^n/n!*diff((1-x^2)^n,x$n)));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 57 "Rodrigues formula of the generalized Laguerre polynomials" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "L(n,alp ha,x)=exp(x)/n!/x^alpha*diff(exp(-x)*x^(alpha+n),x$n); " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 99 "The following function computes the recur rence equation of the family by Cauchy's integral formula " }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "RE:=rodriguesrec ursion(exp(x)/n!/x^alpha,exp(-x)*x^(alpha+n),x,L(n));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 43 "Similarly, we get the differential equati on" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "DE :=rodriguesdiffeq(exp(x)/n!/x^alpha,exp(-x)*x^(alpha+n),n,L(x));" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 100 "The holonomic recurrence equation defines the Legendre polynomials uniquely up to the initial values" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 71 "L(0,alpha,x)=simplify(subs (n=0,exp(x)/n!/x^alpha*exp(-x)*x^(alpha+n)));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 3 "and" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "L(1,alpha,x)=simplify(subs(n=1,exp(x)/n!/x^alpha*diff ((exp(-x)*x^(alpha+n),x$n))));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 59 "An exapmple from Margit R\366sler's talk: Hermite polynomials:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "rodriguesdiffeq((-1)^n*exp(x ^2),exp(-x^2),n,H(x));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "r odriguesrecursion((-1)^n*exp(x^2),exp(-x^2),x,H(n));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 20 "Generating Functions" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "rea d \"hsum6.mpl\";" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 97 "The generatin g function of the generalized Laguerre polynomials satisfies the recur rence equation" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "GFrecursion((1-z)^(-alpha-1)*exp((x*z)/(z-1)),1,z,L(n ));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 8 "compare:" }{MPLTEXT 1 0 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "RE;" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 29 "and the differential equation" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "GFdiffeq((1-z)^(-alpha-1) *exp((x*z)/(z-1)),1,z,n,L(x));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 8 " compare:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "DE;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 19 "The initial values:" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "series( (1-z)^(-alpha-1)*exp((x*z)/(z-1)),z=0,3);" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 265 1 "q" } {TEXT -1 22 "-Hypergeometric Series" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read \"qsum6.mpl\";" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 8 "special " }{TEXT 271 1 "q" }{TEXT -1 12 "-expressions" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "qsimpco mb(qpochhammer(k,q,infinity));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "qsimpcomb(qfactorial(k,q));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "qsimpcomb(qGAMMA(z,q));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "qsimpcomb(qbinomial(n,k,q));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "qsimpcomb(qbrackets(k,q));" }}}{EXCHG {PARA 0 " " 0 "" {TEXT 268 1 "q" }{TEXT -1 24 "-Chu-Vandermonde Theorem" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 67 "RE:=qsu mrecursion(qhyperterm([q^(-n),b],[c],q,c*q^n/b,k),q,k,S(n));" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 79 "qsumrecursion(qhyperterm([q^ (-n),b],[c],q,c*q^n/b,k),q,k,S(n),rec2qhyper=true);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 269 1 "q" }{TEXT -1 32 "-orthogonal polynomials: Littl e " }{TEXT 270 1 "q" }{TEXT -1 21 "-Legendre polynomials" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 65 "qsumrecursion(qhyperterm([q^(-n),q^ (n+1)],[q],q,q*x,k),q,k,P(n));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "qsumdiffeq(qhyperterm([q^(-n),q^(n+1)],[q],q,q*x,k),q,k,P(x)); " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 4 "Big " }{TEXT 272 1 "q" }{TEXT -1 21 "-Legendre polynomials" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "qsumrecursion(qhyperterm([q^(-n),q^(n+1),x],[q,c*q],q,q,k),q,k,P (n));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "qsumdiffeq(qhypert erm([q^(-n),q^(n+1),x],[q,c*q],q,q,k),q,k,P(x));" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 17 "or in other form:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 81 "qsumdiffeq(qhyperterm([q^(-n),q^(n+ 1),x],[q,c*q],q,q,k),q,k,P(x),evalqdiff=true);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 39 "examples from Dennis Stanton's lecture:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "qsumrecursion(qb inomial(N+k-1,k,q)*x^k*q^k,q,k,S(N),rec2qhyper=true);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "qsumrecursion(qbinomial(N,m,q)*x^m* y^(N-m),q,m,S(N),rec2qhyper=true);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 55 "Orthogonal \+ Polynomial Solutions of Recurrence Equations" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read \"hsum6.mpl\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "read \"retode.mpl\";" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "First example" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "RE:=P(n+2)-(x-n-1)*P(n+1)+alpha*(n+1)^2*P(n)=0; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "REtoDE(RE,P(n),x);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "REtodiscreteDE(RE,P(n),x);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "strict:=true;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "REtodiscreteDE(RE,P(n),x);" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 14 "Second example" }{MPLTEXT 1 0 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "RE:=P(n+2)-x*P(n+1)+alp ha*q^n*(q^(n+1)-1)*P(n)=0;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "REtoqDE(RE,P(n),q,x);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{MARK "0 0 0" 2 }{VIEWOPTS 1 1 0 2 1 1805 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }