####################################################### ## make-win-package bailey baileyLIST NULL bailey-wmprog-maple13-win.txt 13 ## Thu Feb 7 15:30:49 EST 2013 ####################################################### ####################################################### printf("BEGIN bailey package\n"); printf("THIS VERSION DATED Thu Feb 7 15:30:49 EST 2013 \n"); bailey:=table(); bailey[alphadown]:=proc() local a,q,alpha,n,x,j: requires(qseries): if nargs=0 then printf("---------------------------------------------------------\n"); printf("alphadown(a,q,alpha,n)\n"); printf(" This proc is used to move left in a Bailey chain.\n"); printf(" In the Bailey chain \n"); printf(" .. -> (alpha[n]^(-1),beta[n]^(-1)) -> (alpha[n],beta[n]) ->\n"); printf(" this proc returns alpha[n]^(-1) given alpha.\n"); printf(" As usual we have assumed rho1,rho2=infinity.\n"); printf("---------------------------------------------------------\n"); elif nargs = 4 then a:=args[1]: q:=args[2]: alpha:=args[3]: n:=args[4]: RETURN(alpha(a,q,n)/a^n/q^(n*n)): else ERROR(`nargs must be 0 to 4.`); fi: end: bailey[alphafind]:=proc() local x,j,a,q,beta,n; requires(qseries): if nargs=0 then printf("---------------------------------------------------------\n"); printf("alphafind(a,q,beta,n)\n"); printf(" This proc is used to find alpha given beta so that \n"); printf(" (alpha,beta) is a Bailey pair.\n"); printf(" It returns alpha[n].\n"); printf("---------------------------------------------------------\n"); elif nargs = 4 then a:=args[1]: q:=args[2]: beta:=args[3]: n:=args[4]: x:=0; if n=0 then RETURN(beta(a,q,0)): else for j from 0 to n do x:=x+aqprod(a*q,q,n+j-1)*(-1)^(n-j)*q^((n-j)*(n-j-1)/2) *beta(a,q,j)/aqprod(q,q,n-j); od; RETURN(simplify(x*(1-a*q^(2*n)))); fi: else ERROR(`nargs must be 0 to 4.`); fi: end; bailey[alphaup]:=proc() local a,q,alpha,n: requires(qseries): if nargs=0 then printf("---------------------------------------------------------\n"); printf("alphaup(a,q,alpha,n)\n"); printf(" This proc is used to move right in a Bailey chain.\n"); printf(" In the Bailey chain \n"); printf(" .. -> (alpha[n],beta[n]) -> (alpha'[n],beta'[n]) ->\n"); printf(" this proc returns alpha'[n] given alpha.\n"); printf(" As usual we have assumed rho1,rho2=infinity.\n"); printf("---------------------------------------------------------\n"); elif nargs = 4 then a:=args[1]: q:=args[2]: alpha:=args[3]: n:=args[4]: RETURN(a^n*q^(n*n)*alpha(a,q,n)): fi: end; bailey[betadown]:=proc() local a,q,beta,n,x,j: requires(qseries): if nargs=0 then printf("---------------------------------------------------------\n"); printf("betadown(a,q,beta,n)\n"); printf(" This proc is used to move left in a Bailey chain.\n"); printf(" In the Bailey chain \n"); printf(" .. -> (alpha[n]^(-1),beta[n]^(-1)) -> (alpha[n],beta[n]) ->\n"); printf(" this proc returns beta[n]^(-1) given beta.\n"); printf(" As usual we have assumed rho1,rho2=infinity.\n"); printf("---------------------------------------------------------\n"); elif nargs = 4 then a:=args[1]: q:=args[2]: beta:=args[3]: n:=args[4]: x:=0: for j from 0 to n do x:= x + (-1)^(n-j)*a^(-n)*q^(1/2*(n-j-1)*(n-j)-n^2) /aqprod(q,q,n-j)*beta(a,q,j): od: RETURN(simplify(x)): else ERROR(`nargs must be 0 to 4.`); fi: end: bailey[betafind]:=proc() local x,j,a,q,alpha,n; requires(qseries): if nargs=0 then printf("---------------------------------------------------------\n"); printf("betafind(a,q,alpha,n)\n"); printf(" This proc is used to find beta given alpha so that \n"); printf(" (alpha,beta) is a Bailey pair.\n"); printf(" It returns beta[n].\n"); printf("---------------------------------------------------------\n"); elif nargs = 4 then a:=args[1]: q:=args[2]: alpha:=args[3]: n:=args[4]: x:=0; for j from 0 to n do x:=x+alpha(a,q,j)/aqprod(q,q,n-j)/aqprod(a*q,q,n+j): od; RETURN(simplify(x)); fi: end; bailey[betaup]:=proc() local a,q,beta,n,x,j: requires(qseries): if nargs=0 then printf("---------------------------------------------------------\n"); printf("betaup(a,q,beta,n)\n"); printf(" This proc is used to move right in a Bailey chain.\n"); printf(" In the Bailey chain \n"); printf(" .. -> (alpha[n],beta[n]) -> (alpha'[n],beta'[n]) ->\n"); printf(" this proc returns beta'[n] given beta.\n"); printf(" As usual we have assumed rho1,rho2=infinity.\n"); printf("---------------------------------------------------------\n"); elif nargs = 4 then a:=args[1]: q:=args[2]: beta:=args[3]: n:=args[4]: x:=0; for j from 0 to n do x:=x+a^j*q^(j*j)*beta(a,q,j)/aqprod(q,q,n-j); od; RETURN(x): fi: end; printf("TABLE TYPE bailey = %a\n",type(bailey,table)); save( bailey , "c:\\Program Files\\Maple 13\\mylib\\bailey.m"); printf("END bailey package\n"); ## mylib above must be changed to the name of the directory ## in which you want stuff stored