{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 1 12 0 0 255 1 0 2 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 1 14 128 0 0 1 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 1 14 0 0 128 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" 0 21 "" 0 1 0 0 0 1 0 0 0 0 2 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 1 16 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 6 6 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 2" 3 4 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 4 4 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Outpu t" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Tit le" 0 18 1 {CSTYLE "" -1 -1 "Arial Black" 1 24 5 28 176 0 2 1 2 0 0 2 0 0 0 }3 0 0 -1 12 12 0 0 0 0 0 0 19 0 }{PSTYLE "R3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Courier" 0 9 0 0 0 1 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 2" -1 257 1 {CSTYLE "" -1 -1 "" 0 10 128 0 0 1 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "restart; gc( ); " }} }{EXCHG {PARA 18 "" 0 "" {TEXT -1 13 "Ekhad (V5.03)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "interface(verboseproc=1); ever_load:= NU LL :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 22 "Routines pr\351paratoires" }}{SECT 0 {PARA 4 " " 0 "" {TEXT -1 28 "Cr\351ation de la liste savelib" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 891 "unprotect (savelib) : ssavelib:= NULL: \n savelib:= proc() local filename, values, library, pathname, f; \ngloba l savelibname, ssavelib;\n if not assigned(savelibname) then savelibn ame := op(1, [libname]) fi;\n filename := args[nargs];\n if not type (filename, \{symbol,string\}) then \n ERROR(`last argument (filena me) must be a symbol/string`) fi;\n values := args[1 .. nargs - 1];\n if not type([values], list(\{symbol, string\})) then \n ERROR(`a rguments must be symbol/string`) fi;\n if not type([savelibname], lis t(string)) then \n ERROR(`savelibname assigned improperly`) fi;\ns savelib:= ssavelib, values;\n for library in [savelibname] do\n \+ pathname := cat(library, '`/`', filename);\n f := subs('T' \+ = (values, pathname), proc() save T end);\n if traperror(f()) < > lasterror then RETURN() fi\n od;\n ERROR(`unable to save `.fil ename.` in`, savelibname)\nend :" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 4 "init" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 390 "system(dater) : fd:= fopen(\"c:/windows/date.txt\", READ):\ndate_string:= readline(f d): fclose(fd):\nmessage = \"ehkad ; author : < Shalosh B. Ekhad > \+ ; last modif (V5) : \".\n (substring(date_string, 22..35)):\n`ekhad/ init`:= subs(% , proc( ) option `Copyright Pierre L. Douillet`; \nunpr otect(gamma);\nprint(convert(message, symbol)); \nprint(nprintf(\" ty pe 'ezra()' for help \")) end ): %();" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%hoehkad~~;~~author~:~<~Shalosh~B.~Ekhad~~>~~;~~last~modif~(V5)~ :~Sam~18/03/2000G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%<~~type~~'ezra() '~~for~help~G" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 8 "xreadlib" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 249 "xreadlib:= proc(qui::uneval ) option `Copyright Pierre L. Douillet` ; local qui2, ou ; \nqui2:= ev al(qui,1); to 10 do ou:= searchtext('`/`', qui2); if ou = 0 then break fi;\nqui2:= substring(qui2, ou+1..-1): assign(qui2, readlib(qui)); od ; qui2 ;\n end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)xreadlibGR6#'%$q uiG%'unevalG6$%%qui2G%#ouG6#%=Copyright~Pierre~L.~DouilletG6\"C%>8$-%% evalG6$9$\"\"\"?(F/F7F7\"#5%%trueGC&>8%-%+searchtextG6$.%\"/GF2@$/F=\" \"!%&breakG>F2-%*substringG6$F2;,&F=F7F7F7!\"\"-%'assignG6$F2-%(readli bG6#F6F2F/F/F/" }}}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 32 "solve1:=readlib(`solve/linear`):" }}}{EXCHG {PARA 0 "" 0 "" {MPLTEXT 0 21 137 "op2us:=proc(ope, n, N, expr) local gu,i: \+ gu:=0:\n for i from 0 to degree(ope,N) do gu:= gu+coeff(ope,N,i)*subs( n=n+i, expr): od:\ngu: end: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 104 "op2us:=proc(ope, n, N, expr) local i: \n add( coeff(ope,N,i)*s ubs(n=n+i, expr), i=0..degree(ope,N))\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "rf:=proc(a,b): (a+b-1)!/(a-1)!: end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "nprint:= lprint@nprintf;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'nprintG-%\"@G6$%'lprintG%(nprintfG" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "ever_load:= ever_load, op2us , solve1, rf, ''nprint'';" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*ever_l oadG6&%&op2usG%'solve1G%#rfG.%'nprintG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {SECT 1 {PARA 3 "" 0 "" {TEXT -1 55 "Paperc : differential equation sa tisfied by an integral" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 141 "AZpapc:=proc(INTEGRAND,y, x) local D,SDZ1,gu,ope1:\ngu:=AZc(INTEGRAND,y,x,D): ope1:=gu[1]: SDZ1: =gu[2]:\npaperc(INTEGRAND,y,x,D,ope1,SDZ1):\nend:" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 106 "goremc:=proc(D,ORDER) local i,gu: gu:=0:\nf or i from 0 to ORDER do gu:=gu+(bpc.i)*D^i: od:\nRETURN(gu): end:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 193 "pashetc:=proc(p,D) local gu ,p1,mekh,i:\np1:=normal(p): mekh:=denom(p1): p1:=numer(expand(p1)): gu :=0:\nfor i from 0 to degree(p1,D) do\n gu:=gu+factor(coeff(p1,D,i))*D ^i:\nod:\nRETURN(gu,mekh):\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 148 "AZc:=proc(A,y,x,D) local ORDER,gu,KAMA: KAMA:=8:\nfo r ORDER from 0 to KAMA do gu:=duisc(A,ORDER,y,x,D):\n if gu <> 0 then \+ RETURN(gu): fi:\nod: 0: end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1863 "duisc:= proc(A,ORDER,y,x,D)\nlocal KAMA,gorem,conj, yakhas,lu1 a,LU1,P,Q,R,S,j1,g,Q1,Q2,l1,l2,mumu,\nmekb1,fu,meka1,k1,gugu,eq,ia1,va 1,va2,degg,i,shad:\n \nKAMA:=10: gorem:=goremc(D,ORDER): conj:=gorem: \+ yakhas:=0:\n\nfor i from 0 to degree(conj,D) do\nyakhas:=yakhas+normal (coeff(conj,D,i)*gzor(A,x,i)/A):\nyakhas:=normal(yakhas):\nod:\n \nlu1 a:=yakhas: LU1:=numer(yakhas): yakhas:=1/denom(yakhas):\nyakhas:=norma l(diff(yakhas,y)/yakhas+diff(A,y)/A):\nP:=LU1: Q:=numer(yakhas): R:=de nom(yakhas):\nj1:=0:\nwhile j1 <= KAMA do\ng:=gcd(R,Q-j1*diff(R,y)):\n if g <> 1 then\nQ2:=(Q-j1*diff(R,y))/g:\nR:=normal(R/g):\nQ:=normal(Q2 +j1*diff(R,y)):\nP:=P*g^j1:\nj1:=-1:\nfi:\nj1:=j1+1:\nod:\nP:=expand(P ): R:=expand(R): Q:=expand(Q): Q1:=Q+diff(R,y): Q1:=expand(Q1):\nl1:=d egree(R,y): l2:=degree(Q1,y): meka1:=coeff(R,y,l1): mekb1:=coeff(Q1,y, l2):\nif l1-1 <>l2 \nthen\nk1:=degree(P,y)-max(l1-1,l2):\nelse\n mumu: = -mekb1/meka1:\n if type(mumu,integer) and mumu > 0 \n then\n k1: =max(mumu, degree(P,y)-l2):\n else\n k1:=degree(P,y)-l2:\n fi:\nfi :\nfu:=0:\nif k1 < 0 then\nRETURN(0):\nfi:\nfor ia1 from 0 to k1 do\nf u:=fu+apc.ia1*y^ia1:\nod:\ngugu:=Q1*fu+R*diff(fu,y)-P: gugu:=expand(gu gu):\ndegg:=degree(gugu,y):\nfor ia1 from 0 to degg do\neq[ia1+1]:=coe ff(gugu,y,ia1)=0:\nod:\nfor ia1 from 0 to k1 do\nva1[ia1+1]:=apc.ia1: \nod:\nfor ia1 from 0 to ORDER do\nva2[ia1+1]:=bpc.ia1:\nod:\neq:=conv ert(eq,set):\nva1:=convert(va1,set):\nva2:=convert(va2,set):\nva1:=va1 union va2 :\nva1:=solve1(eq,va1):\nfu:=subs(va1,fu):\ngorem:=subs(va1 ,gorem):\nif fu=0 and gorem=0 then\n RETURN(0):\nfi:\nfor ia1 from 0 t o k1 do\ngorem:=subs(apc.ia1=1,gorem):\nod:\nfor ia1 from 0 to ORDER d o\ngorem:=subs(bpc.ia1=1,gorem):\nod:\nfu:=normal(fu):\nshad:=pashetc( gorem,D):\nS:=lu1a*R*fu*shad[2]/P:\nS:=subs(va1,S):\nS:=normal(S):\nS: =factor(S):\nfor ia1 from 0 to k1 do\nS:=subs(apc.ia1=1,S):\nod:\nfor \+ ia1 from 0 to ORDER do\nS:=subs(bpc.ia1=1,S):\nod:\nshad[1],S:\nend:\n " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 205 "bdokcertc:=proc(A,y,x, D,ope,S) local gu,i: gu:=0:\nfor i from 0 to degree(ope,D) do\ngu:=gu+ coeff(ope,D,i)*simplify(gzor(A,x,i)/A): gu:=normal(gu):\nod:\n \ngu:=g u/simplify(diff(S*A,y)/A): normal(gu);\nend:\n \n \n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 163 "op2usc:=proc(ope,D,x,INTEGRAND) local gu ,i: gu:=coeff(ope,D,0)*INTEGRAND:\nfor i from 1 to degree(ope,D) do gu :=gu+coeff(ope,D,i)*diff(INTEGRAND,x$i): od:\ngu: end: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 934 "paperc:=proc(INTEGRAND,y,x,D,ope1, SDZ1):\nlprint(`A PROOF OF A DIFFERENTIAL EQUATION SATISFIED BY AN INT EGRAL`):\nlprint(``):\nlprint(`By Shalosh B. Ekhad, Temple University, ekhad@math.temple.edu`):\nlprint(``):\nlprint(`I will give a short pr oof of the following result.`):\nlprint(``):\n \nlprint(`Theorem:Let`, F(x,y), `be given by`):\nlprint(``):\nprint(INTEGRAND):\nlprint(``): \nlprint(`and let`, INTEGRAL(x),`be the integral of`, F(x,y),` with`): \nlprint(`respect to`, y,`.`):\nlprint(``):\nlprint(INTEGRAL(x),` sati sfies the following linear differential equation`):\nlprint(``):\nprin t(op2usc(ope1,D,x,INTEGRAL(x))):\nprint(`=0.`):\nlprint(``):\nlprint(` PROOF: We cleverly construct`, G(x,y),`:=`):\nlprint(``):\nprint(SDZ1* INTEGRAND):\nlprint(`with the motive that`):\nlprint(``):\nprint(op2us c(ope1,D,x,F(x,y))):\nlprint(`=`,diff(G(x,y),y), `(check!)`):\nlprint( ``):\nlprint(`and the theorem follows upon integrating with respect to `, y,`.QED.`):\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 51 "Paperd : linear recurrence sati sfied by an integral" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 144 "AZp apd:=proc(INTEGRAND,x,n) local D,SDZ1, gu, ope1:\ngu:=AZd(INTEGRAND,x, n,D): ope1:=gu[1]: SDZ1:=gu[2]:\npaperd(INTEGRAND,x,n,D,ope1,SDZ1):\ne nd:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 107 "goremd:=proc(N,OR DER) local i, gu: gu:=0:\nfor i from 0 to ORDER do gu:=gu+(bpc.i)*N^i: od:\nRETURN(gu): end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 149 " AZd:= proc(A,y,n,N) local ORDER,gu,KAMA: KAMA:=8:\n \nfor ORDER from 0 to KAMA do gu:=duisd(A,ORDER,y,n,N):\n if gu<>0 then RETURN(gu): fi: \nod: 0:\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1870 "duisd:= proc(A,ORDER,y,n,N)\nlocal gorem, conj, yakhas,lu1a,LU1,P,Q,R,S,j1,g, Q1,Q2,l1,l2,mumu,\nmekb1,fu,meka1,k1,gugu,eq,ia1,va1,va2,degg,shad,KAM A,i1:\nKAMA:=10: gorem:=goremd(N,ORDER): conj:=gorem: yakhas:=0:\n \nf or i1 from 0 to degree(conj,N) do\n yakhas:=yakhas+coeff(conj,N,i1)*si mplify(subs(n=n+i1,A)/A):\nod:\n \nlu1a:=yakhas: LU1:=numer(yakhas): y akhas:=1/denom(yakhas):\nyakhas:=normal(diff(yakhas,y)/yakhas+diff(A,y )/A):\nP:=LU1: Q:=numer(yakhas): R:=denom(yakhas): j1:=0:\nwhile j1 <= KAMA do\n g:=gcd(R,Q-j1*diff(R,y)):\n if g <> 1 then\n Q2:=(Q-j1*dif f(R,y))/g: R:=normal(R/g): Q:=normal(Q2+j1*diff(R,y)):\n P:=P*g^j1: j 1:=-1:\n fi:\n j1:=j1+1:\nod:\nP:=expand(P): R:=expand(R): Q:=expand(Q ): Q1:=Q+diff(R,y): Q1:=expand(Q1):\nl1:=degree(R,y): l2:=degree(Q1,y) :\nmeka1:=coeff(R,y,l1): mekb1:=coeff(Q1,y,l2):\nif l1-1 <>l2 \nthen\n k1:=degree(P,y)-max(l1-1,l2):\nelse\n mumu:= -mekb1/meka1:\n if type (mumu,integer) and mumu > 0 \n then\n k1:=max(mumu, degree(P,y)-l2) :\n else\n k1:=degree(P,y)-l2:\n fi:\nfi:\nfu:=0:\nif k1 < 0 then \nRETURN(0):\nfi:\nfor ia1 from 0 to k1 do\nfu:=fu+apc.ia1*y^ia1:\nod: \ngugu:=Q1*fu+R*diff(fu,y)-P: gugu:=expand(gugu):\ndegg:=degree(gugu,y ):\nfor ia1 from 0 to degg do\n eq[ia1+1]:=coeff(gugu,y,ia1)=0:\nod:\n for ia1 from 0 to k1 do\n va1[ia1+1]:=apc.ia1:\nod:\nfor ia1 from 0 to ORDER do\n va2[ia1+1]:=bpc.ia1:\nod:\neq:=convert(eq,set): va1:=conve rt(va1,set): va2:=convert(va2,set):\nva1:=va1 union va2 : va1:=solve1( eq,va1): fu:=subs(va1,fu):\ngorem:=subs(va1,gorem):\nif fu=0 and gorem =0 then RETURN(0): fi:\nfor ia1 from 0 to k1 do gorem:=subs(apc.ia1=1, gorem): od:\nfor ia1 from 0 to ORDER do gorem:=subs(bpc.ia1=1,gorem): \+ od:\nfu:=normal(fu):\n \n \nshad:=pashetc(gorem,N):\nS:=lu1a*R*fu*shad [2]/P: S:=subs(va1,S): S:=normal(S): S:=factor(S):\nfor ia1 from 0 to \+ k1 do S:=subs(apc.ia1=1,S): od:\nfor ia1 from 0 to ORDER do S:=subs(bp c.ia1=1,S): od:\nRETURN(shad[1],S):\nend:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 202 "bdok certd:=proc(A,y,n,N,ope,S) local gu,i: gu:=0:\nfor i from 0 to degree( ope,N) do\ngu:=gu+coeff(ope,N,i)*simplify( subs(n=n+i,A)/A): gu:=norma l(gu): od:\ngu:=gu/simplify(diff(S*A,y)/A): normal(gu); \nend:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 926 "paperd:=proc(INTEGRAND,x,n,N,ope1,SDZ1):\nlprint(` `):\nlprint(`A PROOF OF A LINEAR RECURRENCE SATISFIED BY AN INTEGRAL`) :\nlprint(``):\nlprint(`By Shalosh B. Ekhad, Temple University, ekhad@ math.temple.edu`):\nlprint(``):\nlprint(`I will give a short proof of \+ the following result.`):\nlprint(``):\n \nlprint(`Theorem:Let`, F(n,x) , `be given by`):\nlprint(``):\nprint(INTEGRAND):\nlprint(``):\nlprint (`and let`, INTEGRAL(n),`be the integral of`, F(n,x),` with`):\nlprint (`respect to`, x,`.`):\nlprint(``):\nlprint(INTEGRAL(n),` satisfies th e following linear recurrence equation`):\nlprint(``):\nprint(op2us(op e1,N,n,INTEGRAL(n))):\nprint(`=0.`):\nlprint(``):\nlprint(`PROOF: We c leverly construct`, G(n,x),`:=`):\nlprint(``):\nprint(SDZ1*INTEGRAND): \nlprint(`with the motive that`):\nlprint(``):\nprint(op2us(ope1,N,n,F (n,x))):\nlprint(`=`,diff(G(n,x),x)):\nlprint(``):\nlprint(`and the th eorem follows upon integrating with respect to`, x,`.QED.`):\nend:" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 94 "gzor :=proc(f,x,n) local i,gu: gu:=f:\nfor i from 1 to n do gu:=diff(gu,x): od:\nRETURN(gu): end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 131 " gzor1:=proc(a,D,x) local i,gu: gu:=0:\nfor i from 0 to degree(a,D) do \ngu:=gu+diff(coeff(a,D,i),x)*D^i+coeff(a,D,i)*D^(i+1):\nod:\nend:" }} }{EXCHG {PARA 0 "" 0 "" {MPLTEXT 0 21 195 "pashetd:=proc(p,N) local gu ,p1,mekh,i:\np1:=normal(p): mekh:=denom(p1): p1:= expand(numer(p1)): g u:=0:\nfor i from 0 to degree(p1,N) do\n gu:=gu+factor(coeff(p1,N,i))* N^i:\nod:\nRETURN(gu,mekh):\nend:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 398 "bdokct o:=proc(SUMMAND1,ORDER,k,n,N) local mu,gu,i,G1,ope,lu,SUMMAND:\nSUMMAN D:=convert(SUMMAND1,factorial): mu:=ct(SUMMAND,ORDER,k,n,N):\nif mu=0 \+ then RETURN(0): fi:\nope:=mu[1]: G1:=mu[2]*SUMMAND: gu:=0:\nfor i fro m 0 to degree(ope,N) do\n gu:=gu+coeff(ope,N,i)*simplify( subs(n=n+i,S UMMAND)/SUMMAND): gu:=normal(gu): od:\nlu:=simplify(subs(k=k+1,G1)/SUM MAND)-mu[2]: lu:=normal(lu): normal(gu/lu);\nend:" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 387 "bdokct:=proc(SUMMAND1,ORDER,k,n,N) local mu ,gu,i,G1,ope,lu,SUMMAND:\nSUMMAND:=convert(SUMMAND1,factorial): mu:=ct (SUMMAND,ORDER,k,n,N):\nif mu=0 then RETURN(0):fi: \nope:=mu[1]: G1:=m u[2]*SUMMAND:gu:=0:\nfor i from 0 to degree(ope,N) do\n gu:=gu+coeff(o pe,N,i)*simplify1(SUMMAND,n,i): gu:=normal(gu): od:\nlu:=subs(k=k+1,mu [2])*simplify1(SUMMAND,k,1)-mu[2]: lu:=normal(lu): normal(gu/lu);\nend :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1107 "celine:=proc(f,ii,jj)\nlocal m,j,l,i,tt,yy,zz,rr,xx,ss,zy,\n b, \+ iii, k, n, r, zzz:\n \nm:='m':j:='j':l:='l':i:='i':\niii:=ii*(jj+1)+jj :\nxx:=seq(b[i],i=0..iii):i:='i':\nss:=numer(simplify(expand(sum(sum(b [i*(jj+1)+j]*f(n-j,k-i)/f(n,k), \n i=0..ii),j=0..jj)))):\nt t:=coeffs(collect(ss,k),k):\nyy:=solve1(\{tt\},\{xx\}):\nzz:=simplify( sum(sum(b[l*(jj+1)+m]*F(n-m,k-l),l=0..ii),m=0..jj)): \ni:='i':j:='j':l print(` ` ):lprint(` `):lprint(`The full recurrence is`):\nlprint(` ` ):\nzz:=numer(simplify(subs(yy,zz))):\nfor i from 0 to ii do for j fro m 0 to jj do \nzz:=collect(zz,F(n-j,k-i)) od od:\nlprin t(zz,`==0`);zzz:=zz:\nl:='l':j:='j':m:='m':\nr:=subs(yy,simplify(expan d(sum(sum(sum(b[l*(jj+1)+m],l=j+1..ii)*simplify(expand(f(n-m,k- j)/f(n ,k))),j=0..ii),m=0..jj)))): \n \nrr:=simplify(factor(simplify(r))):lpr int(` ` ):lprint(` `):\nlprint(`The telescoped form is`);lprint(` `); \nzy:=factor(subs(yy,sum(simplify(sum(b[l*(jj+1)+m],l=0..ii))*F(n-m,k) ,m=0..jj))):\nlprint(zy,`==G(n,k)-G(n,k-1)`); \n \nlprint(` `);\nlprin t(`where G(n,k)=R(n,k)*F(n,k) and the rational function R(n,k) is `): \nlprint(` `);\nrr;\nend:\n \n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 7 "findrec" }}{EXCHG {PARA 0 "> " 0 "findrec" {MPLTEXT 1 0 1042 "`ekhad/findrec`:= proc(f,D EGREE,ORDER,n,N) local ope,var,eq,a,i,j,kk, n0,kv,var1,eq1,mu:\n(2+DEG REE)*(1+ORDER)+1 - nops(f); if % > 0 then\n### WARNING: sprintf now ou tputs strings; nprintf can be used if names are wanted\nprint(sprintf( `Insufficient data for order = %a, degree = %a. Please, retry with %a \+ more entries. \\n`, ORDER, DEGREE, %));\nERROR():\nfi:\nope:=0: var:= \{\}:\nfor i from 0 to ORDER do for j from 0 to DEGREE do ope:=ope+a[i ,j]*n^j*N^i: var:=var union \{a[i,j]\}: od: od:\n \neq:=\{\}:\nfor n0 from 1 to (1+DEGREE)*(1+ORDER)+2 do eq1:=0:\n for i from 0 to ORDER \+ do eq1:=eq1+subs(n=n0,coeff(ope,N,i))*op(n0+i,f): od:\n eq:= eq union \{eq1\}:\nod:\nvar1:=solve1(eq,var): \n\nkv:=\{\}: for i from 1 to n ops(var1) do mu:=op(i,var1):\n if op(1,mu)=op(2,mu) then kv:= kv union \{op(1,mu)\}: fi: od:\nope:=subs(var1, ope):\n\nif nops(kv)>1 then p rint(` either DEGREE or ORDER are too high`):\n print(`The output is not the minimal possible operator`): fi:\n \nfor i from 1 to nops(kv) do ope:=subs(op(i,kv)= 1, ope): od:\n \ncollect(ope,N); end: # findre c:=\":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 91 "ekhad[findrec]:= \+ 'readlib'(`ekhad/findrec`) : savelib(`ekhad/findrec`, `ekhad/findrec.m `) :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 26 "ctold (quelle utilit\351 ???)" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 188 "RootOf1:=proc(f,x) local kv,kvi,i:\nkv:= [solve(f=0,x)]: kvi:=\{\}:\nfor i from 1 to nops(kv) do\n if type(kv [i],integer) and kv[i]>0 then\n kvi:=kvi union \{kv[i]\}\n fi:\nod: \nRETURN(kvi):\nend:" }}}{EXCHG {PARA 0 "" 0 "" {MPLTEXT 0 21 2822 "ct old:=proc(SUMMAND,ORDER,k,n,N)\nlocal gu,i,ope,POL1,SUMMAND1,yakhas,P, Q,R,j,res1,kv,hakhi,g,\nA1, B1, P1, SDZ, SDZ1,\ndegg, eq, fu, gugu, i 1, ia1, k1, kvutsa, l1, l2, meka1, mekb1, mumu, \nva1, va2,ope1,denFAC ,ope1a:\n \nif nargs<>5 then\nERROR(`Syntax: ct(SUMMAND,ORDER,summatio n_variable,auxiliary_var, Shift_n)`):\nfi:\n \n \nope:=0:\n \nfor i fr om 0 to ORDER do\n ope:=ope+bpc.i*N^i:\nod:\n \ngu:=hafel(1,convert(SU MMAND,factorial),ope,n,N):\nPOL1:=gu[1]:\nSUMMAND1:=gu[2]:\ndenFAC:=gu [3]:\nyakhas:=simplify1(SUMMAND1,k,-1):\nyakhas:=normal(1/yakhas):\n \+ \nprint(`yakhas is`,yakhas):\nP1:=1:\nQ:=numer(yakhas):\nR:=denom(yakh as):\nres1:=resultant(Q,subs(k=k+j,R),k):\nprint(`res1 is`,res1):\nkv: =RootOf1(res1,j):\n \n \n print(`kv is`,kv):\nwhile nops(kv) > 0 do\n \+ hakhi:=max(op(kv)):\n g:=gcd(Q,subs(k=k+hakhi,R)):\n Q:=normal(Q/g):\n R:=normal(R/subs(k=k-hakhi,g)):\n P1:=P1*product(subs(k=k-i1,g),i1=0. .hakhi-1):\n res1:=resultant(Q,subs(k=k+j,R),k):\n kv:=RootOf1(res1,j) :\nod:\n \nP:=POL1*P1:\n \nA1:=subs(k=k+1,Q)+R:\nA1:=expand(A1):\nB1:= subs(k=k+1,Q)-R:\nB1:=expand(B1):\n### WARNING: degree(0,x) now return s -infinity\nl1:=degree(A1,k):\nif B1=0 then\nl2:=-100:\nelse\n### WAR NING: degree(0,x) now returns -infinity\nl2:=degree(B1,k):\nfi:\nmeka1 :=coeff(A1,k,l1):\nmekb1:=coeff(B1,k,l2):\nif l1<=l2 \nthen\n### WARNI NG: degree(0,x) now returns -infinity\nk1:=degree(P,k)-l2:\nelif l2=l1 -1 \nthen\n mumu:= (-2)*mekb1/meka1:\n if type(mumu,integer) \n then \n### WARNING: degree(0,x) now returns -infinity\n k1:=max(mumu, deg ree(P,k)-l1+1):\n else\n### WARNING: degree(0,x) now returns -infinit y\n k1:=degree(P,k)-l1+1:\n fi:\nelif l2 < l1-1\nthen\n### WARNING: degree(0,x) now returns -infinity\n k1:= max( 0, degree(P,k)-l1+1 ): \nfi:\nfu:=0:\n \n \nprint(`k1 is`,k1):\nif k1 < 0 then\nRETURN(0):\nf i:\nif k1 >= 0 then\nfor ia1 from 0 to k1 do\nfu:=fu+apc.ia1*k^ia1:\no d:\ngugu:=subs(k=k+1,Q)*fu-R*subs(k=k-1,fu)-P:\ngugu:=expand(gugu):\n# ## WARNING: degree(0,x) now returns -infinity\ndegg:=degree(gugu,k):\n \nfor ia1 from 0 to degg do\neq[ia1+1]:=coeff(gugu,k,ia1)=0:\nod:\nfo r ia1 from 0 to k1 do\nva1[ia1+1]:=apc.ia1:\nod:\nfor ia1 from 0 to OR DER do\nva2[ia1+1]:=bpc.ia1\nod:\neq:=convert(eq,set):\nva1:=convert(v a1,set):\nva2:=convert(va2,set):\nva1:=va1 union va2:\nva1:=solve1(eq, va1):\nkvutsa:=\{va1\}:\nfu:=subs(va1,fu):\nope:=subs(va1,ope):\nfi:\n \n \n \nif ope=0 or kvutsa=\{\} or fu=0 then\nRETURN(0):\nfi:\ngu:=\{ \}:\nfor i1 from 0 to k1 do\ngu:=gu union \{apc.i1=1\}:\nod:\nfor i1 f rom 0 to ORDER do\ngu:=gu union \{bpc.i1=1\}:\nod:\nfu:=subs(gu,fu):\n ope:=subs(gu,ope):\n \nope:=pashet(ope,N):\nope1:=ope*denom(ope):\n \n SDZ:=denom(ope)*subs(k=k+1,Q)*fu/P1/denFAC :\nSDZ1:=subs(k=k-1,SDZ)*si mplify1(convert(SUMMAND,factorial),k,-1):\nSDZ1:=simplify(SDZ1):\n \no pe1a:=0:\n### WARNING: degree(0,x) now returns -infinity\nfor i from 0 to degree(ope1,N) do\nope1a:=ope1a+sort(coeff(ope1,N,i)*N^i):\nod:\n \+ \nRETURN(ope1a,SDZ1):\nend:\n \n \n \n \n" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 26 "ct (sous \+ ensemble de zeil)" }}{EXCHG {PARA 0 "> " 0 "ct" {MPLTEXT 1 0 2360 "`ek had/ct`:=proc(SUMMAND,ORDER,k,n,N)\nlocal gu,i,ope,POL1,SUMMAND1,yakha s,P,Q,R,res1,hakhi,g, A1, B1, P1, SDZ, SDZ1, degg, eq, fu, gugu, i1, \+ ia1, k1, kvutsa, l1, l2, meka1, mekb1, mumu, va1, va2, ope1, denFAC, o pe1a:\n \nif nargs<>5 then \n ERROR(\"Syntax: ct(SUMMAND,ORDER,sum_va r,aux_var, Shift_aux_var)\"): \nfi: \nif tovu(convert(SUMMAND,factoria l),k,n)=0 \n then ERROR(nprintf(\"The summand can be separated into f( %a)g(%a)\", k,n)): \nfi:\n \nope:=add(bpc.i*N^i, i=0..ORDER):\n \ngu:= hafel(1,convert(SUMMAND,factorial),ope,n,N): POL1:=gu[1]:\nSUMMAND1:=g u[2]: denFAC:=gu[3]: yakhas:=simplify1(SUMMAND1,k,-1): yakhas:=normal( 1/yakhas):\n \nP1:=1: Q:=numer(yakhas): R:=denom(yakhas): res1:=findgQ R(Q,R,k,100):\n \nwhile res1[2]<>0 do\n g:=res1[1]: hakhi:=res1[2]: Q: =normal(Q/g): R:=normal(R/subs(k=k-hakhi,g)): i1:='i1':\n P1:=P1*produ ct(subs(k=k-i1,g),i1=0..hakhi-1): res1:=findgQR(Q,R,k,100):\nod:\n \nP :=POL1*P1: \nA1:=subs(k=k+1,Q)+R: A1:=expand(A1): B1:=subs(k=k+1,Q)-R: B1:=expand(B1):\nl1:=degree(A1,k): if B1=0 then l2:=-100: else l2:=d egree(B1,k): fi:\nmeka1:=coeff(A1,k,l1): mekb1:=coeff(B1,k,l2):\nif l1 <=l2 \n then k1:=degree(P,k)-l2:\nelif l2=l1-1 \n then mumu:= (-2)*me kb1/meka1:\n if type(mumu,integer) \n then k1:=max(mumu, degree(P,k )-l1+1): \n else k1:=degree(P,k)-l1+1: \n fi:\nelif l2 < l1-1 \n th en k1:= max( 0, degree(P,k)-l1+1 ):\nfi:\n\nfu:=0: \nif k1 < 0 then RE TURN(0): fi:\nif k1 >= 0 then\n for ia1 from 0 to k1 do fu:=fu+apc.ia 1*k^ia1: od:\n gugu:=subs(k=k+1,Q)*fu-R*subs(k=k-1,fu)-P: gugu:=expan d(gugu): degg:=degree(gugu,k):\n for ia1 from 0 to degg do eq[ia1+1]: =coeff(gugu,k,ia1)=0: od:\n for ia1 from 0 to k1 do va1[ia1+1]:=apc.i a1: od:\n for ia1 from 0 to ORDER do va2[ia1+1]:=bpc.ia1 od:\n eq:=c onvert(eq,set): va1:=convert(va1,set): va2:=convert(va2,set): va1:=va1 union va2: \n va1:=solve1(eq,va1): kvutsa:=\{va1\}: fu:=subs(va1,fu) : ope:=subs(va1,ope):\nfi:\n \nif ope=0 or kvutsa=\{\} or fu=0 then RE TURN(0): fi:\ngu:=\{\}:\nfor i1 from 0 to k1 do gu:=gu union \{apc.i1= 1\}: od:\nfor i1 from 0 to ORDER do gu:=gu union \{bpc.i1=1\}: od:\nfu :=subs(gu,fu): ope:=subs(gu,ope): ope:=pashet(ope,N): ope1:=ope*denom( ope):\nSDZ:=denom(ope)*subs(k=k+1,Q)*fu/P1/denFAC :\nSDZ1:=subs(k=k-1, SDZ)*simplify1(convert(SUMMAND,factorial),k,-1): SDZ1:=simplify(SDZ1): \n \nope1a:= 0: for i from 0 to degree(ope1,N) do ope1a:=ope1a+sort(co eff(ope1,N,i))*N^i: od: \nRETURN(ope1a,SDZ1):\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 133 "findgQR:=proc(Q,R ,k,L) local j,g:\nfor j from 1 to L do g:=gcd(Q, subs(k=k+j,R)): if de gree(g,k)>0 then RETURN(g,j): fi: od:\n1,0: end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 116 "tovu:=proc(SU,k,n) local gu: \ngu:=simplify1 (simplify1(SU,n,1),k,1): if gu=1 then RETURN(0): else RETURN(1): fi:\n end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 188 "pashet:=proc(p,N) \+ local i,gu1,gu,p1: \np1:=normal(p): gu1:=denom(p1): p1:=expand(numer(p 1)):\ngu:=0: for i from 0 to degree(p,N) do gu:=gu+factor(coeff(p1,N,i ))*N^i: od:\nRETURN(gu/gu1): end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 509 "simpli fy1:=proc(bitu,k,a) local gu,gu1,i,khez,sp: sp:=1: gu:=bitu:\nif type( gu,`*`) then\n for i from 1 to nops(gu) do gu1:=op(i,gu):\n if type(g u1,`^`) and type(op(2,gu1), integer) then\n khez:=op(2,gu1): gu1:= op(1,gu1): sp:=sp*simplify(subs(k=k+a,gu1)/gu1)^khez:\n else \n s p:=sp*simplify(subs(k=k+a,gu1)/gu1):\n fi:\n od:\nelif type(gu,`^`) a nd type(op(2,gu), integer) then\n khez:=op(2,gu): gu1:=op(1,gu): sp:=s p*simplify(subs(k=k+a,gu1)/gu1)^khez: \nelse \n sp:=simplify(subs(k=k +a,gu)/gu):\nfi: sp: end: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 323 "hafel:=proc(POL,SUMMAND,ope,n,N) local i,FAC,degg,bi,rat,POL1,SUM MAND1,zub:\ndegg:=degree(ope,N): FAC:=0:\nfor i from 0 to degg do bi:= coeff(ope,N,i): rat:=simplify1(SUMMAND,n,i):\n FAC:=FAC+bi*subs(n=n+i, POL)*rat: FAC:=normal(FAC):\nod:\nPOL1:=numer(FAC): zub:=denom(FAC): S UMMAND1:=SUMMAND/zub: RETURN(POL1,SUMMAND1,zub):\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 114 "ekhad[ct]:= 'readlib'(`ekhad/ct`) : \nsavelib(`ekhad /ct`, tovu, hafel, findgQR, pashet, simplify1, `ekhad/ct.m`) : " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 3 "" 0 " " {TEXT -1 4 "zeil" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 716 "`ekha d/zeil`:= proc(SUMMAND,k,n,N, max_order, resh) local ORDER, MAXORDER, \+ gu, gu1, RESH:\nif nargs<4 or nargs>6 then ERROR(nprintf(\"syntax : z eil(SUMMAND,k,n,N) or zeil(SUMMAND,k,n,N,MAXORDER) or zeil(SUMMAND,k,n ,N,MAXORDER,param_list)\")): fi: \nif nargs>=5 then MAXORDER:=max_orde r else MAXORDER:=6 fi;\nif nargs>=6 then RESH:=resh else RESH:=[] fi; \+ \nif simplify1(SUMMAND,n,1)=1 then\n ERROR(nprintf(\"Summand does not \+ depend on %a, hence the sum is identically constant\", n)); \nfi:\nfor ORDER from 0 to MAXORDER do\n gu1:=cttry(SUMMAND, ORDER, k, n, RESH, \+ N):\n if gu1=1 then gu:=ct(SUMMAND,ORDER,k,n,N): \n if gu<>0 then RE TURN(gu): fi: \nfi:\nod:\nERROR(nprintf(\"No recurrence of order <= %a was found\", MAXORDER)); end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1994 "cttry:=proc(SU MMAND,ORDER,k,n,resh,N)\nlocal gu,i,ope,POL1,SUMMAND1,yakhas,P,Q,R,res 1,hakhi,g,A1, B1, P1, \ndegg, eq, fu, gugu, i1, ia1, k1, kvutsa, l1, \+ l2, meka1, mekb1, mumu, va1, va2,eqg:\n \nif nargs<>6 then\n ERROR(npr intf(\"Syntax : cttry(term, ORDER, sum_variable, aux_var, para_list, S hift)\")): fi:\n \nif tovu(convert(SUMMAND,factorial),k,n)=0 then\n ER ROR(nprintf(\"The summand can be separated into f(%a)g(%a)\",k,n)): fi :\n \nope:=0: for i from 0 to ORDER do ope:=ope+bpc.i*N^i: od:\n \ngu :=hafel(1,convert(SUMMAND,factorial),ope,n,N): POL1:=gu[1]:\nSUMMAND1: =gu[2]: yakhas:=simplify1(SUMMAND1,k,-1): yakhas:=normal(1/yakhas):\n \+ \nP1:=1: Q:=numer(yakhas): R:=denom(yakhas): res1:=findgQR(Q,R,k,100): \n \nwhile res1[2]<>0 do g:=res1[1]: hakhi:=res1[2]: Q:=normal(Q/g): R :=normal(R/subs(k=k-hakhi,g)): i1:='i1':\n P1:=P1*product(subs(k=k-i1, g),i1=0..hakhi-1): res1:=findgQR(Q,R,k,100): od:\n \nP:=POL1*P1: A1:=s ubs(k=k+1,Q)+R: A1:=expand(A1):\nB1:=subs(k=k+1,Q)-R: B1:=expand(B1): \+ l1:=degree(A1,k):\nif B1=0 then l2:=-100: else l2:=degree(B1,k): fi:\n meka1:=coeff(A1,k,l1): mekb1:=coeff(B1,k,l2):\nif l1<=l2 then k1:=degr ee(P,k)-l2:\nelif l2=l1-1 then mumu:= (-2)*mekb1/meka1:\n if type(mum u,integer) then k1:=max(mumu, degree(P,k)-l1+1): else k1:=degree(P,k)- l1+1: fi:\nelif l2 < l1-1 then k1:= max( 0, degree(P,k)-l1+1 ): \nfi: \nfu:=0:\nif k1 < 0 then RETURN(0): fi:\nif k1 >= 0 then for ia1 from \+ 0 to k1 do fu:=fu+apc.ia1*k^ia1: od:\ngugu:=subs(k=k+1,Q)*fu-R*subs(k= k-1,fu)-P: gugu:=expand(gugu): degg:=degree(gugu,k):\nfor ia1 from 0 t o degg do eq[ia1+1]:=coeff(gugu,k,ia1)=0: od:\nfor ia1 from 0 to k1 do va1[ia1+1]:=apc.ia1: od:\nfor ia1 from 0 to ORDER do va2[ia1+1]:=bpc. ia1 od:\neq:=convert(eq,set): va1:=convert(va1,set): va2:=convert(va2, set): va1:=va1 union va2: eqg:=subs(n=1/2,eq):\n \nfor i from 1 to nop s(resh) do eqg:=subs(op(i,resh)=i^2+3,eqg): od:\n \nva1:=solve1(eq,va1 ): kvutsa:=\{va1\}: fu:=subs(va1,fu): ope:=subs(va1,ope): \nfi:\n \nif ope=0 or kvutsa=\{\} or fu=0 then RETURN(0): else RETURN(1): fi: \ne nd:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 6 "papers" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 615 "`ekhad/zeilpap`:=proc(SUMMAND,k,n) local SDZ1, gu, ope1, N, G:\n gu:= zeil(SUMMAND,k,n,N): ope1:=gu[1]: SDZ1:=gu[2]:\nnprint(\"\\n THEO REM : Let F be given by \", n, k, SUMMAND):\nprint(F(n,k) = SUMMAND): \nnprint(\"\\n Then SUM(%a) = Sum(F(%a, %a), %a) satisfies the linear \+ recurrence equation :\", n, n, k, k):\nprint( op2us(ope1,n,N,SUM(n))=0 );\nnprint(\"\\n PROOF : We cleverly found the operator %a and constru ct\", ope1):\nprint( G(n,k) = SDZ1*SUMMAND):\nnprint(\"\\n with the mo tive that \"):\nprint(op2us(ope1,n,N,F(n,k)) = G(n,k+1)- G(n,k)):\nnpr int(\"\\n and the theorem follows upon summing with respect to %a.\\n \+ QED.\", k):\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 92 "ekhad[ zeilpap]:= 'readlib'(`ekhad/zeilpap`) : \nsavelib(`ekhad/zeilpap`, `ek had/zeilpap.m`) :" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 7 "Zeillim" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 396 "`ekhad/zeillim`:=proc(SUMMA ND,k,n,N,alpha,beta) local ope, CERT, lu, i, gu, lu1, lu2:\ngu:= Zeill im(SUMMAND,k,n,N,alpha+1,beta+1): \nope:=gu[1]: CERT:=gu[2]: lu:=gu[3] : \nlu1:=(normal@simplify@subs)(k=alpha,SUMMAND)+subs(k=n-beta,SUMMAND ): \nlu2:= normal( add(coeff(ope,N,i)*simplify(subs(n=n+i,lu1)), i=0.. degree(ope,N) )):\nope, CERT, normal(expand(normal(simplify(expand(nor mal(lu+lu2)))))):\nend: \n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 397 "`ekhad/Zeillim`:=proc(SUMMAND,k, n, N, alpha, beta) local ope, CE RT, lu, ii, i, gu:\ngu:=zeil(SUMMAND,k,n,N): ope:=gu[1]: CERT:=gu[2]: \nlu:=simplify(subs(k=n-beta+1,CERT)*subs(k=n-beta+1,SUMMAND))\n -si mplify(subs(k=alpha,CERT)*subs(k=alpha,SUMMAND)):\n \nlu:=lu+ add(\n \+ add(coeff(ope,N,i)*simplify(subs(\{n=n+i, k=n-beta+ii\}, SUMMAND)), ii =1..i),\n i=0..degree(ope,N) ):\n\ngu, normal(expand(lu)):\nend:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 181 "ekhad[zeillim]:= 'readlib'( `ekhad/zeillim`): savelib(`ekhad/zeillim`, `ekhad/zeillim.m`) :\nekhad [Zeillim]:= 'readlib'(`ekhad/Zeillim`): savelib(`ekhad/Zeillim`, `ekha d/Zeillim.m`) :" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 128 "ekhad[ zeil]:= 'readlib'(`ekhad/zeil`) : \nsavelib(`ekhad/zeil`, cttry, tovu, hafel, findgQR, pashet, simplify1, `ekhad/zeil.m`) :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 5 "ezra " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8202 "`ekhad/ezra`:=proc()\nif args=NUL L then\nlprint(``): print(`This is EKHAD, One of the Maple packages ac companying the book `):\nprint(` \"A=B\" `):\nprint(` (published by A. K. Peters, Welesley, 1996) by Marko Petkovsek, Herb Wilf, and Doron Ze ilberger.`):\nlprint(``):\n\n\nprint(`EKHAD`): lprint(``):\nprint(`A M aple package for proving Hypergemetric (Binomial Coeff.) and other kin ds of identities`):\nprint(`This version (Feb, 25, 1999) is much faste r than the previous version,`);\nprint(`thanks to a SLIGHT (yet POWERF UL) modification suggested by FREDERIC CHYZAK `):\n\nlprint(``): print (`The penultimate version, Feb. 1997, corrected a subtle bug discovere d by Helmut Prodinger`):\nlprint(``): print(`Previous versions benefit ed from comments by Paula Cohen, Lyle Ramshaw, and Bob Sulanke.`):\n\n print(`The most current version is available on WWW at: http://www.mat h.temple.edu/~zeilberg .`):\nprint(`Information about the book, and ho w to order it, can be found in`):\nprint(`http://www.central.cis.upenn .edu/~wilf/AeqB.html .`):\nprint(`Please report all bugs to: zeilberg@ math.temple.edu .`):\nprint(`All bugs or other comments used will be a cknowledged in future versions.`):\nlprint(``):\nprint(`For general he lp, and a list of the available functions, type \"ezra();\". For speci fic help type \"ezra(procedure_name)\" `):\nlprint(``): \n\n\n\nprint( `For help with a specific procedure, type \"ezra(procedure_name);\"`): \nprint(`Contains procedures: `): \nprint(`'findrec', 'ct', 'zeil', 'z eilpap', 'zeillim', 'AZd', 'AZc', 'AZpapd', 'AZpapc', 'celine'`):\nRET URN():\nfi:\n\nif nargs > 1 then ERROR() fi; \n \nif args[1]=`celine` \+ then\nprint(`celine(FUNCTION,ORDER_n,ORDER_k) applies Sister Celine's \+ technique`):\nprint(`It inputs a function (n,k)->FUNCTION, and the gue ssed orders in`):\nprint(`n and k, ORDER_n,ORDER_k respectively, and o utputs a partial`):\nprint(`k-free recurrence`):\nprint(`it also find s the telescoped form of the recurrence.`): \nprint(` In input, do n ot raise products of factorials to powers; `): \nprint(`instead rais e each factorial to the power. `):\nprint(`For example:celine((n,k)->b inomial(n,k),1,1);`):\nprint(`celine ((n,k)->n!*(2*k)!*(-2)^(n-k)/(k!^ 3*(n-k)!),2,2);`):\nfi:\n \n \nif args[1]=`findrec` then\nprint(`findr ec(f,DEG,ORDER,n,N) finds empirically an ordi. linear recurrence`):\np rint(` with polynomial coeffs. The input is a sequence f given as a li st`):\nprint(`STARTING at f[1],i.e. f[0] is not considered`):\nprint(` where DEG:=the maximal degree of the coefficients`):\nprint(`and ORDE R:=the order of the recurrence. The output is the operator`):\nprint( ` in n and N, where N is the forward unit shift: Nf(n):=f(n+1).`):\npr int(`For example findrec([1,1,2,3,5,8,13,21,34],0,2,n,N) should yield` ):\nprint(`N^2-N-1 , and findrec([1,2,5,14,42,132,429],1,1,m,M) should yield`):\nprint(`(m+1)*M-(4*m-2). If there is not enough data, you wi ll get an`):\nprint(`an error message. If there is no operator, you wo uld get 0`):\nfi:\n \nif args[1]=`AZpapc` then\nprint(`AZpapc(INTEGRAN D,y,x) inputs a hypergeometric integrand`):\nprint(`in the continuous \+ variables y and x (i.e. the logarithmic derivatives`):\nprint(`diff(IN TEGRAND,x)/INTEGRAND and diff(INTEGRAND,y)/INTEGRAND are`):\nprint(`ra tional functions in x and y)`):\nprint(`and outputs a paper with a pro of of the linear differential equation`):\nprint(`that the definite in tegral w.r.t. to y (which is a function of x)`):\nprint(`satisfies. It uses the method of`):\nprint(`Gert Almkvist and Doron Zeilberger, \"T he method of differentiating`):\nprint(`under the integral sign\", J. \+ Symbolic Computation 10(1990), 571-591.`):\nlprint(``):\nprint(`It cou ld be used to establish the diff. eq. of the `):\nprint(`classical ort hogonal polynomials, when they are defined in terms`):\nprint(`or thei r generating funtion.`):\nprint(`For example AZpapc(1/sqrt(1-2*x*t+t^2 )/t^(n+1),t,x) gives the`):\nprint(`the differential equation satisfie d by the Legendre polynomials`):\nfi:\n \nif args[1]=`AZpapd` then\npr int(`AZpapd(INTEGRAND,x,n) inputs a hypergeometric integrand`):\nprint (`in the continuous variable x and the discrete variable n`):\nprint(` i.e. i.e. A(x,n+1)/A(x,n) and A'(x,n)/A(x,n) are rational functions`): \nprint(`of (x,n)),`):\nprint(`and outputs a paper with a proof of the linear recurrence equation`):\nprint(`that the definite integral w.r. t. to y (which is a function of n)`):\nprint(`assuming that the integr and (or rather it times the certificate`):\nprint(`vanishes at the end points, or it is a contour integrals`):\nprint(`satisfies. It assumes the following: A(x,n) is not a product of`):\nprint(`of a function of n and a function of x`):\nprint(`It uses the method of`):\nprint(`Ger t Almkvist and Doron Zeilberger, \"The method of differentiating`):\np rint(`under the integral sign\", J. Symbolic Computation 10(1990), 571 -591`):\nprint(`It could be used to establish the recurrences of the ` ):\nprint(`classical orthogonal polynomials, when they are defined in \+ terms`):\nprint(`or their generating funtion`):\nprint(`For example AZ papd(1/sqrt(1-2*x*t+t^2)/t^(n+1),t,n) gives the`):\nprint(`the recurre nce, and proof, satisfied by the Legendre polynomials`):\n \nfi:\n \n \+ \nif args[1]=`AZd` then\nprint(`AZd(A,x,n,N) finds a recurrence of ord er ORDER<=8`):\nprint(`phrased in terms of n, and the shift in n, N`): \nprint(`for the integrale of A(x,n) with respect to x, whenever A(x,n ) is`):\nprint(`hypergeometric in (x,n),i.e. A(x,n+1)/A(x,n) and A'(x, n)/A(x,n) are`):\nprint(`rational funtions of x and n. It follows the \+ algorithn of`):\nprint(`Gert Almkvist and Doron Zeilberger, \"The meth od of differentiating`):\nprint(`under the integral sign\", J. Symboli c Computation 10(1990), 571-591`):\nprint(`A should not be a product o f a function of x and a function of n.`):\nprint(``):\nprint(`AZd(A,x, n,N) returns the expression seq. ope(n,N),cert(x,n)`):\nprint(`satisfy ing ope(n,N)A(x,n)=diff(cert(x,n)*A(x,n),x).`):\nprint(`If no recurren ce is found, it returns 0.`):\nprint(``):\nprint(`A verbose version is AZpapd(A,x,n), type ezra(AZpapd) for details.`):\nprint(``):\nprint(` For example AZd(1/sqrt(1-2*x*t+t^2)/t^(n+1),t,n,N) gives`):\nprint(`th e diff.eq., and proof certificate, for the Legendre polct:ynomials.`): \n \nfi:\n \n \nif args[1]=`AZc` then\nprint(`AZc(A,y,x,D) tries to fi nds a linear diff.eq. of order <=8,`):\nprint(` phrased in terms of x, and diff.w.r.t x, D`):\nprint(`for the integrale of A(x,y) with respe ct to x, whenever A(x,y) is`):\nprint(`hypergeometric in (x,y),i.e. A _x(x,y)/A(x,y) and A_y(x,y)/A(x,y) are`):\nprint(`rational funtions of x and y. It follows the algorithn of`):\nprint(`Gert Almkvist and Dor on Zeilberger, \"The method of differentiating`):\nprint(`under the in tegral sign\", J. Symbolic Computation 10(1990), 571-591`):\nprint(`AZ c(A,y,x,D) returns the expression seq. ope(x,D),cert(x,n)`):\nprint(`s atisfying ope(x,D)A(x,y)=diff(cert(x,y)*A(x,y),y).`):\nprint(`If no li near diff. eq. of order<=8 is found, it returns 0`):\nprint(`see AZpap c for a verbose vsersion`):\nprint(`For example AZc(1/sqrt(1-2*x*t+t^2 )/t^(n+1),t,x,D) gives the`):\nprint(`the diff.eq., and proof certific ate for the Legendre polynomials.`):\n \nfi:\n \n \n if args[1]=`ct` t hen\n \n print(` ct(SUMMAND,ORDER,k,n,N)`): \nprint(`This is a Maple i nplementation of the algorithm described in Ch. 6`):\nprint(`of the bo ok A=B, first proposed in : D. Zeilberger, \"The method of`):\nprint(` of creative telescoping\", J.Symbolic Computation 11(1991) 195-204`): \nprint(``):\nprint(`finds a recurrence for SUMMAND in the parameters \+ k and n, `):\nprint(` of order ORDER, with N is the chosen symbol fo r the shift in n.`):\n print(``):\n print(`SUMMAND should be a product of factorials and/or binomial coeffs`):\n print(`and/or rising factor ials, where (a)_k is denoted by rf(a,k)`):\n print(`and/or powers of k and n, and, optionally, a polynomial factor`):\nprint(`The output con sists of an operator ope(N,n) and a certificate R(n,k)`):\nprint(`with the properties that if we define G(n,k):=R(n,k)*SUMMAND then`):\nprin t(`ope(N,n)SUMMAND(n,k)=G(n,k+1)-G(n,k)`):\nprint(`which is a routinel y verifiable identity.`):\n print(`For example \"ct(binomial(n,k),1,k, n,N);\" would yield the output`):\nprint(` N-2, k/(k-n-1) `):\n fi:\n \nif member(args[1], \{zeil, zeilpap, zeillim\}) then `ekhad/ezra/`.( args[1]) () fi: \n%; \nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1537 "`ekhad/ezra/zeil`:=proc() ; \n nprint(\"Syntax : zeil(SUMMAND, k , n, N, [MAXORDER], [param_list]) \"):\n nprint(\"Result : ope(N,n), R (n,k)\"):\n nprint(\"Example: zeil(binomial(n,k),k,n,N) ===> N-2, k/(k -n-1) \\n\");\n\nnprint(\"This is a Maple inplementation of the algori thm ZEIL described in Ch. 6\"):\nnprint(\" of the book A=B, first prop osed in : D. Zeilberger, \"\"The method of\"):\nnprint(\" of creative \+ telescoping\"\", J.Symbolic Computation 11(1991) 195-204 \\n\"):\n\nnp rint(\"Warning: It assumes that the definite summation w.r.t. k extend s over \"):\nnprint(\" all k where it is non-zero, and that it is zero for other k\"):\nnprint(\" For non-natural summation limits, use zeil lim \\n\"):\n\nnprint(\"ZEIL finds a linear recurrence equation for SU MMAND, \"):\nnprint(\" with polynomial coefficients of ORDER<=MAXORDER , \"):\nnprint(\" where the default of MAXORDER is 6 in the parameter \+ n,\"):\nnprint(\" the shift operator in n being N.\"):\nnprint(\" The \+ recurrence is given as ope(N,n)SUMMAND=G(n,k+1)-G(n,k)\"):\nnprint(\" \+ where G(n,k):=R(n,k)*SUMMAND, and R(n,k) is the 2nd item of output. \\ n\"):\n\n nprint(\"SUMMAND should be a product of factorials and/or bi nomial coeffs\"):\n nprint(\" and/or rising factorials, where (a)_k is denoted by rf(a,k)\"):\n nprint(\" and/or powers in k and n, and, opt ionally, a polynomial factor. \\n\"):\n\n nprint(\"The last optional p arameter, is the list of other parameters, if present. \"):\n nprint( \" Giving them causes considerable speedup. For example\"):\n nprint( \" zeil(binomial(n,k)*binomial(a,k)*binomial(b,k), k, n, N, 6, [a,b]) \+ \\n\"):\n\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 139 "`ekhad/ ezra/zeilpap`:=proc() ;\nnprint(\"Syntax : zeilpap(SUMMAND,k,n)\"):\nn print(\"\\n Just like zeil but writes a paper with the proof\"):\nend: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 587 "`ekhad/ezra/zeillim`:= proc() ;\nnprint(\"Syntax : zeillim(SUMMAND,k,n,N,alpha,beta) \"):\nnp rint(\"Result : recurrence operator, certificate, right hand side \"): \nnprint(\"Example: zeillim(binomial(n,k),k,n,N,0,1) ===> N-2, k/(k-n- 1), 1 \"):\n\nnprint(\"\\nSimilar to zeil(SUMMAND,k,n,N) but outputs a recurrence for \"):\nnprint(\" the sum of SUMMAND from k=alpha to k=n -beta.\"):\nnprint(\" To say it again : the upper limit of the sum wil l be n-beta, not beta. \"):\nnprint(\"\\nIn our example, SUM(n):=2^n-1 satisfies the recurrence \"):\nnprint(\" (N-2)SUM(n)=1, as certified \+ by R(n,k):= k/(k-n-1) \"):\nend:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 144 "ekhad[ ezra]:= 'readlib'(`ekhad/ezra`) : \nsavelib(`ekhad/ezra`, `ekhad/ezra/ zeil`, `ekhad/ezra/zeilpap`, `ekhad/ezra/zeillim`, `ekhad/ezra.m`) : \+ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 53 "savelib('ekhad', `ekhad/init`, ever_load, `ekh ad.m`);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 174 "subs(readlib= _ readlib, eval(ekhad)): sort(op(%), proc(a,b) lexorder(lhs(a) , lhs(b)) end): 'elements' = vector(%, column);\n'ever_loaded' = vector(sort([e ver_load]), column);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%)elementsGL) /%(ZeillimG-%)_readlibG6#%.ekhad/ZeillimG/%#ctG-F)6#%)ekhad/ctG/%%ezra G-F)6#%+ekhad/ezraG/%(findrecG-F)6#%.ekhad/findrecG/%%zeilG-F)6#%+ekha d/zeilG/%(zeillimG-F)6#%.ekhad/zeillimG/%(zeilpapG-F)6#%.ekhad/zeilpap G%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%,ever_loadedGL&%'nprin tG%&op2usG%#rfG%'solve1G%'columnG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 8 "Contr\364le" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "select(type, \{ssavelib\}, procedure): \nliste:= sort(subs(`ekhad/ezra`=NULL, convert(%, list) ) );" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%&listeG75%&cttryG%.ekhad/Zeill imG%)ekhad/ctG%0ekhad/ezra/zeilG%3ekhad/ezra/zeillimG%3ekhad/ezra/zeil papG%.ekhad/findrecG%+ekhad/initG%+ekhad/zeilG%.ekhad/zeillimG%.ekhad/ zeilpapG%(findgQRG%&hafelG%&op2usG%'pashetG%#rfG%*simplify1G%'solve1G% %tovuG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 129 "readlib(mmint): \+ lasterror:= 'lasterror': _eps:= '_eps' : jime := 'jime' : \nfor _kkkk \+ in liste do lprint(_kkkk); mmint(_kkkk); od;" }}{PARA 6 "" 1 "" {TEXT -1 5 "cttry" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QD--------------~cttry~ --------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 61 "Names used as global names, but not declared: : bpc, apc" }}{PARA 6 "" 1 "" {TEXT -1 13 "ekhad/Zeillim" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QL--------------~ ekhad/Zeillim~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 58 "Local \+ variables used before assigned : : i, ii" }}{PARA 6 "" 1 " " {TEXT -1 8 "ekhad/ct" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QG---------- ----~ekhad/ct~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 61 "Names \+ used as global names, but not declared: : bpc, apc" }}{PARA 6 "" 1 "" {TEXT -1 54 "Local variables used before assigned : : i" }}{PARA 6 "" 1 "" {TEXT -1 15 "ekhad/ezra/zeil" }}{PARA 6 "" 1 "" {TEXT -1 18 "ekhad/ezra/zeillim" }}{PARA 6 "" 1 "" {TEXT -1 18 "ekhad/ ezra/zeilpap" }}{PARA 6 "" 1 "" {TEXT -1 13 "ekhad/findrec" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QL--------------~ekhad/findrec~------------- -6\"" }}{PARA 6 "" 1 "" {TEXT -1 142 "Names used as global names, but \+ not declared: : `Insufficient data for order = %a, degree = %a. P lease, retry with %a more entries. \\n`, " }}{PARA 6 "" 1 "" {TEXT -1 49 " : ` either DEGREE or ORDER are too high`, " }}{PARA 6 "" 1 "" {TEXT -1 58 " : `The output is not the minimal possible opera tor`" }}{PARA 6 "" 1 "" {TEXT -1 55 "These local variables were never \+ used: : kk" }}{PARA 6 "" 1 "" {TEXT -1 54 "Local variables used before assigned : : a" }}{PARA 6 "" 1 "" {TEXT -1 10 "ekhad/init" }}{PARA 6 "" 1 "" {TEXT -1 10 "ekhad/zeil" }}{PARA 6 " " 1 "" {TEXT -1 13 "ekhad/zeillim" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q L--------------~ekhad/zeillim~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 54 "Local variables used before assigned : : i" } }{PARA 6 "" 1 "" {TEXT -1 13 "ekhad/zeilpap" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QL--------------~ekhad/zeilpap~--------------6\"" }} {PARA 6 "" 1 "" {TEXT -1 54 "Local variables used before assigned : \+ : N" }}{PARA 6 "" 1 "" {TEXT -1 7 "findgQR" }}{PARA 6 "" 1 " " {TEXT -1 5 "hafel" }}{PARA 6 "" 1 "" {TEXT -1 5 "op2us" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#QD--------------~op2us~--------------6\"" }} {PARA 6 "" 1 "" {TEXT -1 54 "Local variables used before assigned : \+ : i" }}{PARA 6 "" 1 "" {TEXT -1 6 "pashet" }}{PARA 6 "" 1 " " {TEXT -1 2 "rf" }}{PARA 6 "" 1 "" {TEXT -1 9 "simplify1" }}{PARA 6 " " 1 "" {TEXT -1 6 "solve1" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QE------- -------~solve1~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 121 "Name s used as global names, but not declared: : `solve/linear/field`, `solve/linear/algfun`, `solve/linear/radfun`, " }}{PARA 6 "" 1 "" {TEXT -1 32 " : `solve/linear/radnum`, " }}{PARA 6 "" 1 "" {TEXT -1 74 " : `1st argument must be a list or set of polynomia ls (equations)`, " }}{PARA 6 "" 1 "" {TEXT -1 54 " : `solve/line ar/float`, `solve/linear/algnum`, " }}{PARA 6 "" 1 "" {TEXT -1 74 " \+ : `2nd argument must be a list or set of names (unknowns)`, exact, " }}{PARA 6 "" 1 "" {TEXT -1 57 " : `solve/linear/complex`, `so lve/linear/integer`, " }}{PARA 6 "" 1 "" {TEXT -1 70 " : `solve/ linear/polynom`, `solve/linear/polyalg`, `# equations`" }}{PARA 6 "" 1 "" {TEXT -1 4 "tovu" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "39 2 46" 0 } {VIEWOPTS 1 1 0 1 1 1803 }