|\^/| Maple V Release 4 (INRIA) ._|\| |/|_. Copyright (c) 1981-1996 by Waterloo Maple Inc. All rights \ MAPLE / reserved. Maple and Maple V are registered trademarks of <____ ____> Waterloo Maple Inc. | Type ? for help. The following examples are presented as is. They accompany the paper ``Non-commutative Elimination in Ore Algebras Proves Multivariate Identities'', by Frederic Chyzak and Bruno Salvy.

Some results of this session may differ from those of the paper due to changes in the program. For the reason of changes and new bugs, I also did not reproduce all the examples of the paper. This will be done in the future.

Frederic Chyzak, July 8, 1997.

> Change this according to your configuration. > libname:=`/export/chyzak/ArchivesMgfun/Lib2.0-5.4-released`,libname: > with(Ore_algebra): > with(Groebner): > Section 1.4.1. Jacobi polynomials > A:=skew_algebra(comm=[a,b],shift=[Sn,n],diff=[Dx,x]): > G:=[2*(n+2)*(n+a+b+2)*(2*n+a+b+2)*Sn^2 > -((2*n+a+b+3)*(a^2-b^2)+(2*n+a+b+2) > *(2*n+a+b+3)*(2*n+a+b+4)*x)*Sn > +2*(n+a+1)*(n+b+1)*(2*n+a+b+4), > (2*n+a+b+2)*(1-x^2)*Dx*Sn-(n+1) > *(a-b-(2*n+a+b+2)*x)*Sn-2*(n+a+1)*(n+b+1)]: > skew_elim(G[1],G[2],Sn,A); bytes used=2017600, alloc=1834672, time=0.51 bytes used=4163208, alloc=2752008, time=1.11 bytes used=6202136, alloc=2883056, time=1.67 bytes used=8213832, alloc=3276200, time=2.16 bytes used=10214232, alloc=3276200, time=2.77 2 2 2 2 -n a - n - n b - n + Dx a x + Dx x b + 2 Dx x + Dx a - Dx b + Dx x - Dx > Section 1.4.2. Gauss's hypergeometric function > A:=skew_algebra(comm=[b,c],diff=[Dz,z],shift=[Sa,a]): > P:=z*(1-z)*Dz^2+(c-(a+b+1)*z)*Dz-a*b: > H:=a*Sa-(z*Dz+a): > skew_elim(P,H,Dz,A); 2 2 2 a + z a Sa - 2 a Sa - z a Sa + a Sa - c + 1 - z b Sa - 2 Sa + Sa c + Sa 2 + z Sa - z Sa > A:=skew_algebra(comm=[a,b,c],diff=[Dz,z]): > GCD:=skew_gcdex(P,z*Dz+a,Dz,A): > B:=collect((a-1)*subs(a=a-1,GCD[3]/GCD[1]),Dz,factor); z (-1 + z) Dz -c + z b + a B := ------------- + ------------ a - c a - c > Section 1.4.3. Partially hypergeometric series > A:=shift_algebra([Sn,n],[Sk,k],[comm,z]): > h:=(-1)^k*binomial(n,k)^2*binomial(n+k,k)^2; k 2 2 h := (-1) binomial(n, k) binomial(n + k, k) > G:=numer(normal({Sn-subs(n=n+1,h)/h,Sk-subs(k=k+1,h)/h},expanded)): > G:=collect(G,{Sn,Sk},factor); 2 2 4 2 2 G := {Sn (n + 1 - k) - (n + 1 + k) , Sk (k + 1) + (n + 1 + k) (n - k) } > L:=op(select(has,G,Sk)); 4 2 2 L := Sk (k + 1) + (n + 1 + k) (n - k) You can run this if you have gfun in the share library.

with(share): readshare(gfun,analysis): with(gfun): applyopr(L,u(k),A); rectodiffeq({"},u(k),f(z)); M:=collect(subs({seq((D@@i)(f)(z)=Dz^i,i=0..4)},"),Dz,factor);

Otherwise, here is the result.

> M:=z^3*(z+1)*Dz^4+2*z^2*(4*z+3)*Dz^3-z*(-14*z+2*z*n+2*z*n^2-7)*Dz^2 > +(-4*z*n^2+4*z-4*z*n+1)*Dz+(n+1)^2*n^2; 3 4 2 3 2 2 M := z (z + 1) Dz + 2 z (4 z + 3) Dz - z (-14 z + 2 z n + 2 z n - 7) Dz 2 2 2 + (-4 z n + 4 z - 4 z n + 1) Dz + (n + 1) n > H:=Sn; H := Sn Naive method that returns an operator of order 7. > normal(applyopr(H,h,A)/h,expanded); bytes used=12215312, alloc=3276200, time=3.56 2 2 n + 2 n + 2 n k + 1 + 2 k + k ------------------------------- 2 2 n + 2 n - 2 n k + 1 - 2 k + k > P:=numer("): Q:=denom(""): > A:=skew_algebra(diff=[Dz,z],shift=[Sn,n]): > P2:=collect(subs({seq(k^i=skew_power(z*Dz,i,A), > i=1..degree(P,k))},P),Dz,factor); 2 2 2 P2 := z Dz + z (2 n + 3) Dz + (n + 1) > Q2:=collect(subs({seq(k^i=skew_power(z*Dz,i,A), > i=1..degree(Q,k))},Q),Dz,factor); 2 2 2 Q2 := z Dz - z (2 n + 1) Dz + (n + 1) > collect(Q2*H-P2,{Dz,Sn},distributed,factor); 2 2 2 2 2 (n + 1) Sn + z Dz Sn - z (2 n + 1) Dz Sn - z Dz - z (2 n + 3) Dz 2 - (n + 1) The contiguity relation of order 7 is: > C[7]:=collect(skew_elim(",M,Dz,A),Sn,factor); bytes used=14216616, alloc=3276200, time=4.34 bytes used=16251064, alloc=3276200, time=5.04 bytes used=18251464, alloc=3276200, time=5.64 bytes used=20289056, alloc=3276200, time=6.30 bytes used=22358432, alloc=3276200, time=6.91 bytes used=24371976, alloc=3407248, time=7.43 bytes used=26387128, alloc=3407248, time=7.91 bytes used=28387464, alloc=3538296, time=8.40 bytes used=30483544, alloc=3669344, time=8.91 bytes used=32503384, alloc=3931440, time=9.41 bytes used=34517584, alloc=3931440, time=9.88 bytes used=36521512, alloc=3931440, time=10.41 bytes used=38604072, alloc=4062488, time=10.91 bytes used=40604464, alloc=4062488, time=11.80 bytes used=42605008, alloc=4062488, time=12.72 bytes used=44961024, alloc=4848776, time=13.45 bytes used=46986648, alloc=4848776, time=14.01 bytes used=49023768, alloc=4848776, time=14.45 bytes used=51033296, alloc=4848776, time=14.88 bytes used=53115568, alloc=4848776, time=15.37 bytes used=55220032, alloc=4848776, time=15.79 bytes used=57301776, alloc=4848776, time=16.47 bytes used=59364400, alloc=4848776, time=17.20 bytes used=61366944, alloc=4848776, time=17.83 bytes used=63368624, alloc=4848776, time=18.78 bytes used=65422080, alloc=4848776, time=19.35 bytes used=67431200, alloc=4848776, time=19.87 bytes used=69465632, alloc=4848776, time=20.36 bytes used=71472904, alloc=4848776, time=20.94 bytes used=73482752, alloc=4848776, time=21.41 bytes used=75498712, alloc=4848776, time=21.86 bytes used=77501920, alloc=4848776, time=22.30 bytes used=79512840, alloc=4848776, time=22.77 bytes used=81514528, alloc=4848776, time=23.21 bytes used=83521640, alloc=4848776, time=23.64 bytes used=85521992, alloc=4848776, time=24.10 bytes used=87522400, alloc=4848776, time=24.58 bytes used=89615784, alloc=4848776, time=25.09 bytes used=91620456, alloc=4848776, time=25.54 bytes used=93626232, alloc=4848776, time=25.97 bytes used=95628520, alloc=4848776, time=26.39 bytes used=97629952, alloc=4848776, time=26.82 bytes used=99673728, alloc=5110872, time=27.29 bytes used=101745784, alloc=5504016, time=27.75 bytes used=103804392, alloc=5504016, time=28.20 bytes used=105834256, alloc=5504016, time=28.65 bytes used=107840592, alloc=5504016, time=29.09 bytes used=109849408, alloc=5504016, time=29.54 bytes used=111867008, alloc=5504016, time=29.99 bytes used=113882984, alloc=5504016, time=30.44 bytes used=115892872, alloc=5504016, time=30.89 bytes used=117945360, alloc=5635064, time=31.35 bytes used=120012640, alloc=5635064, time=31.81 bytes used=122014520, alloc=5635064, time=32.42 bytes used=124014896, alloc=5635064, time=33.35 bytes used=126030760, alloc=5897160, time=33.98 bytes used=128066016, alloc=6290304, time=34.53 bytes used=130090008, alloc=6421352, time=35.09 bytes used=132166960, alloc=6421352, time=35.66 bytes used=134214008, alloc=6421352, time=36.22 bytes used=136271184, alloc=6421352, time=36.78 bytes used=138278032, alloc=6683448, time=37.35 bytes used=140306392, alloc=6683448, time=37.91 bytes used=142370800, alloc=6683448, time=38.49 bytes used=144439648, alloc=6683448, time=39.06 bytes used=146452944, alloc=6683448, time=39.63 bytes used=148497856, alloc=6945544, time=40.19 bytes used=150512888, alloc=6945544, time=40.76 bytes used=152924256, alloc=7076592, time=41.37 bytes used=154978624, alloc=7076592, time=41.97 bytes used=156991232, alloc=7076592, time=42.43 bytes used=159044864, alloc=7076592, time=42.89 bytes used=161070160, alloc=7076592, time=43.35 bytes used=163077768, alloc=7076592, time=43.81 bytes used=165079352, alloc=7076592, time=44.27 bytes used=167122648, alloc=7076592, time=44.74 bytes used=169145288, alloc=7076592, time=45.27 bytes used=171165520, alloc=7076592, time=45.80 bytes used=173167328, alloc=7076592, time=46.31 bytes used=175173784, alloc=7076592, time=46.84 bytes used=177190904, alloc=7076592, time=47.37 bytes used=179206640, alloc=7076592, time=47.90 bytes used=181210136, alloc=7076592, time=48.42 bytes used=183227376, alloc=7076592, time=48.95 bytes used=185240840, alloc=7076592, time=49.47 bytes used=187266016, alloc=7207640, time=50.01 bytes used=189273808, alloc=7207640, time=50.53 bytes used=191281080, alloc=7207640, time=51.06 bytes used=193302160, alloc=7207640, time=51.59 bytes used=195319440, alloc=7207640, time=52.13 bytes used=197327624, alloc=7207640, time=52.66 bytes used=199338624, alloc=7207640, time=53.20 bytes used=201363224, alloc=7207640, time=53.73 bytes used=203395472, alloc=7207640, time=54.28 bytes used=205412896, alloc=7207640, time=54.81 bytes used=207413288, alloc=7338688, time=55.43 bytes used=209415592, alloc=7338688, time=56.43 bytes used=211417088, alloc=7338688, time=57.47 bytes used=213417472, alloc=7338688, time=58.53 bytes used=216174024, alloc=7993928, time=59.47 bytes used=218195768, alloc=9173360, time=60.18 bytes used=220226824, alloc=9435456, time=60.94 bytes used=222243880, alloc=9435456, time=61.70 bytes used=224265336, alloc=9566504, time=62.46 bytes used=226291712, alloc=9566504, time=63.22 bytes used=228304160, alloc=9566504, time=63.99 bytes used=230316424, alloc=9697552, time=64.77 bytes used=232335144, alloc=9697552, time=65.56 bytes used=234432136, alloc=9828600, time=66.31 bytes used=236441352, alloc=9828600, time=67.09 bytes used=238446464, alloc=9959648, time=67.84 bytes used=240448128, alloc=10090696, time=68.62 bytes used=242451864, alloc=10090696, time=69.38 bytes used=244477088, alloc=10090696, time=70.15 bytes used=246479584, alloc=10090696, time=70.92 bytes used=248483992, alloc=10090696, time=71.70 bytes used=250492544, alloc=10090696, time=72.47 bytes used=252493504, alloc=10090696, time=73.24 bytes used=254500400, alloc=10090696, time=74.00 bytes used=256520240, alloc=10090696, time=74.78 bytes used=258536376, alloc=10090696, time=75.53 bytes used=260554224, alloc=10090696, time=76.33 bytes used=262619720, alloc=10483840, time=77.18 bytes used=265046928, alloc=10876984, time=78.18 bytes used=267135376, alloc=10876984, time=79.29 bytes used=269159168, alloc=10876984, time=80.38 bytes used=271185648, alloc=10876984, time=81.13 bytes used=273313424, alloc=10876984, time=81.99 bytes used=275406848, alloc=10876984, time=82.77 bytes used=277407160, alloc=10876984, time=84.12 bytes used=279407544, alloc=10876984, time=86.04 bytes used=281407848, alloc=10876984, time=87.98 bytes used=283408256, alloc=10876984, time=89.93 bytes used=285408736, alloc=10876984, time=91.89 bytes used=287409024, alloc=10876984, time=93.84 bytes used=289409424, alloc=10876984, time=95.80 bytes used=291409712, alloc=10876984, time=97.70 bytes used=293410000, alloc=10876984, time=99.52 bytes used=295410384, alloc=10876984, time=101.36 bytes used=297410848, alloc=10876984, time=103.20 bytes used=299411320, alloc=10876984, time=105.08 bytes used=301411832, alloc=10876984, time=106.95 bytes used=303412248, alloc=10876984, time=108.80 bytes used=305413456, alloc=10876984, time=110.55 bytes used=307599808, alloc=10876984, time=111.51 bytes used=309763216, alloc=10876984, time=112.40 bytes used=311772736, alloc=10876984, time=113.24 bytes used=313790808, alloc=10876984, time=114.10 bytes used=315952928, alloc=10876984, time=114.97 bytes used=317982288, alloc=10876984, time=115.82 bytes used=319998064, alloc=10876984, time=116.66 bytes used=322290576, alloc=10876984, time=117.55 bytes used=324344192, alloc=10876984, time=118.37 bytes used=326404128, alloc=10876984, time=119.20 bytes used=328426896, alloc=10876984, time=120.00 bytes used=330522968, alloc=10876984, time=120.80 bytes used=332668536, alloc=10876984, time=121.60 bytes used=334990480, alloc=10876984, time=122.51 bytes used=337134376, alloc=10876984, time=123.33 bytes used=339853688, alloc=10876984, time=124.20 bytes used=341881552, alloc=10876984, time=125.04 bytes used=343964976, alloc=10876984, time=125.97 bytes used=345967440, alloc=10876984, time=126.78 bytes used=347967920, alloc=10876984, time=128.34 bytes used=349968280, alloc=10876984, time=130.30 bytes used=351968656, alloc=10876984, time=132.30 bytes used=353969104, alloc=10876984, time=134.27 bytes used=355969552, alloc=10876984, time=136.24 bytes used=357969992, alloc=10876984, time=138.22 bytes used=359970336, alloc=10876984, time=140.14 bytes used=361970744, alloc=10876984, time=142.03 bytes used=363971184, alloc=10876984, time=143.91 bytes used=365971992, alloc=10876984, time=145.80 bytes used=367972576, alloc=10876984, time=147.68 bytes used=369990416, alloc=10876984, time=149.19 bytes used=372089008, alloc=10876984, time=150.11 bytes used=374172912, alloc=10876984, time=150.96 bytes used=376375432, alloc=10876984, time=151.84 bytes used=378574288, alloc=10876984, time=152.70 bytes used=380738720, alloc=10876984, time=153.59 bytes used=382917168, alloc=10876984, time=154.45 bytes used=384994560, alloc=10876984, time=155.28 bytes used=387039432, alloc=10876984, time=156.07 bytes used=389047328, alloc=10876984, time=156.85 bytes used=391388600, alloc=10876984, time=157.69 bytes used=393667680, alloc=10876984, time=158.56 bytes used=395680272, alloc=10876984, time=159.33 bytes used=397688136, alloc=10876984, time=160.10 bytes used=399704200, alloc=10876984, time=160.86 bytes used=401901944, alloc=10876984, time=161.72 bytes used=404106584, alloc=10876984, time=162.58 bytes used=406125192, alloc=10876984, time=163.39 bytes used=408382568, alloc=10876984, time=164.22 bytes used=410383424, alloc=10876984, time=165.01 bytes used=412416912, alloc=10876984, time=165.79 bytes used=414432336, alloc=10876984, time=166.56 bytes used=416707072, alloc=10876984, time=167.41 bytes used=418708400, alloc=10876984, time=168.19 bytes used=420709096, alloc=10876984, time=168.95 bytes used=423368560, alloc=11008032, time=170.22 bytes used=425530656, alloc=11008032, time=171.08 bytes used=427751904, alloc=11008032, time=171.98 bytes used=429984584, alloc=11008032, time=172.87 bytes used=432229816, alloc=11008032, time=173.74 bytes used=434241336, alloc=11008032, time=174.54 bytes used=436586320, alloc=11008032, time=175.41 bytes used=438830480, alloc=11008032, time=176.28 bytes used=440832400, alloc=11008032, time=177.09 bytes used=443173144, alloc=11008032, time=177.95 bytes used=445193152, alloc=11008032, time=178.79 bytes used=447348288, alloc=11008032, time=179.66 bytes used=449548952, alloc=11008032, time=180.56 bytes used=451692272, alloc=11008032, time=181.43 bytes used=453899216, alloc=11008032, time=182.32 bytes used=455926008, alloc=11008032, time=183.15 bytes used=458226872, alloc=11008032, time=184.03 bytes used=460235744, alloc=11008032, time=184.83 bytes used=462242520, alloc=11008032, time=185.67 bytes used=464403968, alloc=11008032, time=186.55 bytes used=466557784, alloc=11008032, time=187.44 bytes used=468785408, alloc=11008032, time=188.34 bytes used=470819440, alloc=11008032, time=189.21 bytes used=473147848, alloc=11008032, time=190.09 bytes used=475158296, alloc=11008032, time=190.92 bytes used=477193248, alloc=11008032, time=191.79 bytes used=479206600, alloc=11008032, time=192.66 bytes used=481472216, alloc=11008032, time=193.52 bytes used=483479336, alloc=11008032, time=194.34 bytes used=485481760, alloc=11008032, time=195.17 bytes used=487523560, alloc=11008032, time=195.87 bytes used=489555352, alloc=11008032, time=196.42 bytes used=491592304, alloc=11008032, time=196.98 bytes used=493603480, alloc=11008032, time=197.58 bytes used=495607288, alloc=11008032, time=198.13 bytes used=497758528, alloc=11008032, time=198.82 bytes used=499798496, alloc=11008032, time=199.42 bytes used=502008496, alloc=11008032, time=200.15 bytes used=504017816, alloc=11008032, time=201.26 bytes used=506018200, alloc=11008032, time=202.26 bytes used=508018872, alloc=11008032, time=203.37 2 4 6 C[7] := -(2 n + 5) (2 n + 3) (n + 3) (2 n + 7) (n + 6) (n + 7) (80 n z 6 2 6 5 5 5 2 4 + 64 n z + 16 n + 336 n + 1680 n z + 1344 n z + 14024 z n 4 2 4 3 2 3 3 2 + 11068 n z + 2812 n + 59136 z n + 45192 z n + 11928 n + 26929 n 2 2 2 2 + 132146 z n + 95317 z n + 148470 z n + 97839 z n + 30723 n + 65892 z 2 7 2 + 37926 z + 13926) Sn - (2 n + 5) (2 n + 3) (n + 3) (2 n + 13) (n + 6) 3 2 3 3 2 2 (5805308712 z n + 4496164156 z n - 267188865 n + 7294149117 z n 3 5 2 + 4178435604 z n - 90076386 + 35742924 z + 747533139 n z 4 2 5 3 4 3 5 + 2446159284 n z + 684014160 n z + 2167153888 n z - 2810946 n z 3 7 6 5 6 + 1260508536 z - 237936 n z - 1157982 n z - 36558969 n - 7634895 n 7 2 6 2 2 - 1064208 n - 343911303 n + 153854757 n z + 1942323726 z 4 3 2 2 3 - 118027892 n - 253024934 n + 5719229619 z n + 5308699674 z n 3 8 8 2 7 2 8 + 21778944 z n - 27864 n z + 1854108 n z + 21115680 n z - 94980 n 4 8 3 7 3 6 3 + 217344 z n + 1781376 n z + 20079744 n z + 144030240 n z 2 10 9 10 2 + 74932194 z n + 61213146 z n - 112 n - 4912 n + 2112 n z 9 2 9 10 9 3 10 3 6 + 94272 n z - 1776 n z - 48 n z + 91136 n z + 2048 n z ) Sn - 3 2 3 3 (2 n + 5) (2 n + 3) (2 n + 11) (13682650948296 z n + 13511037661940 z n 2 2 3 + 85986404676 n + 7414419736502 z n + 8210026188432 z n 4 12 4 10 4 + 1002247646400 z + 966656 n z + 282250162032 z + 418210816 n z 11 4 5 2 4 2 + 25930752 n z + 2115800273987 n z + 4661946810770 n z 5 3 4 3 4 2 + 4053512450028 n z + 8838498205900 n z + 7022713614000 z n 4 3 5 4 8 + 7210521226000 z n + 483287935450 n z + 34459329792 z n 3 7 6 5 + 2200064944896 z + 38728426434 n z + 159600076920 n z + 42906452495 n 6 7 2 4 9 + 14420346306 n + 3564500133 n + 142476377942 n + 4517690624 z n 6 2 13 12 2 + 694980071674 n z + 336 n + 19392 n + 1240168995240 z 4 3 4 7 + 92611050594 n + 140759325855 n + 190570480448 z n 4 5 13 4 2 + 2284329208368 z n + 16384 n z + 4528595526708 z n 2 3 3 8 + 7214712213739 z n + 1637039252154 z n + 6914943860 n z 13 3 8 2 7 2 12 3 + 26624 n z + 29689194154 n z + 167545606625 n z + 1580032 n z 13 2 12 2 8 13 12 + 13120 n z + 783872 n z + 648860962 n + 3216 n z + 189888 n z 4 4 4 4 + 1060559347776 z n + 4862476649552 z n + 4004292023424 z n 4 6 8 3 7 3 + 771940158784 z n + 58286832432 n z + 326533490992 n z 6 3 2 + 1343604801980 n z + 1027535345112 z n + 1680767812396 z n 10 9 11 10 2 + 8079996 n + 86013981 n + 509884 n + 348550828 n z 9 2 9 10 9 3 + 3824465873 n z + 898404042 n z + 82653816 n z + 7559783776 n z 11 2 11 3 10 3 11 + 21306988 n z + 42668928 n z + 693507584 n z + 5104760 n z 5 3 2 + 23350952808) Sn + (2 n + 9) (2 n + 3) (2 n + 13) (13910092243648 z n 3 3 2 2 + 15156416516288 z n + 46053809388 n + 8311331715330 z n 3 4 12 4 + 7602320946336 z n + 807866136000 z + 2605056 n z + 231596949360 z 10 4 11 4 5 2 + 906654720 n z + 62702592 n z + 3231341124665 n z 4 2 5 3 4 3 + 6396147845746 n z + 5603671818176 n z + 10987462278952 n z 4 2 4 3 5 + 6631955306064 z n + 7461641061744 z n + 634562643130 n z 4 8 3 7 + 60008279808 z n + 1866003515040 z + 62787989214 n z 6 5 6 7 + 232646448964 n z + 33085521973 n + 12249111378 n + 3338131859 n 2 4 9 6 2 13 + 83182050706 n + 8777472768 z n + 1185181654754 n z + 560 n 12 2 4 3 + 29440 n + 1160209491000 z + 64925778266 n + 89917367765 n 4 7 4 5 13 4 + 297655968192 z n + 2884936058448 z n + 49152 n z 2 2 3 3 + 4623878113500 z n + 8926613181009 z n + 1758422210082 z n 8 13 3 8 2 7 2 + 12483737564 n z + 90112 n z + 63547672678 n z + 319814508279 n z 12 3 13 2 12 2 8 + 4782080 n z + 50368 n z + 2676224 n z + 670104558 n 13 12 4 4 4 + 9968 n z + 528640 n z + 1257462926348 z n + 5546371391664 z n 4 4 6 8 3 + 3476991692160 z n + 1082954631744 z n + 112293555296 n z 7 3 6 3 + 562342435424 n z + 2071109198296 n z + 917574777528 z n 2 10 9 11 + 1642199836716 z n + 10136540 n + 97936163 n + 704100 n 10 2 9 2 9 10 + 941280204 n z + 9191040175 n z + 1807328726 n z + 185331192 n z 9 3 11 2 11 3 + 16305338944 n z + 64691060 n z + 115392256 n z 10 3 11 4 + 1675034624 n z + 12756616 n z + 11523220920) Sn - (2 n + 7) 3 2 3 3 (2 n + 3) (2 n + 13) (8531414872896 z n + 9712518187968 z n 2 2 3 + 34497078156 n + 4859515283350 z n + 4468121065632 z n 4 12 4 10 4 + 484905960000 z + 2506752 n z + 127804460880 z + 804842496 n z 11 4 5 2 4 2 + 57984000 n z + 2207367226009 n z + 4150173636854 n z 5 3 4 3 4 2 + 3930740514624 n z + 7363953429720 n z + 4245061542960 z n 4 3 5 4 8 + 4954911455088 z n + 8428824360 + 447680623994 n z + 48974588160 z n 3 7 6 5 + 1052358864480 z + 48624025054 n z + 172031841612 n z + 27352736917 n 6 7 2 4 9 + 10382799574 n + 2900711699 n + 63836711782 n + 7473224448 z n 6 2 13 12 2 + 851895678246 n z + 560 n + 28800 n + 610197447720 z 4 3 4 7 + 52351911278 n + 70724042517 n + 232808309184 z n 4 5 13 4 2 + 2074421627472 z n + 49152 n z + 2564826281340 z n 2 3 3 8 + 5499248038545 z n + 1126781871522 z n + 10115487316 n z 13 3 8 2 7 2 12 3 + 90112 n z + 50463545810 n z + 241721896055 n z + 4589568 n z 13 2 12 2 8 13 12 + 50368 n z + 2562048 n z + 596796138 n + 9968 n z + 508032 n z 4 4 4 4 + 845762274820 z n + 3829409246160 z n + 2151373929600 z n 4 6 8 3 7 3 + 811887892416 z n + 90406827424 n z + 432470082144 n z 6 3 2 + 1521125868328 n z + 532621021560 z n + 1001893454084 z n 10 9 11 10 2 + 9471620 n + 89361763 n + 673380 n + 822649876 n z 9 2 9 10 9 3 + 7661023215 n z + 1530795606 n z + 163909832 n z + 13735426624 n z 11 2 11 3 10 3 11 + 59210612 n z + 106151680 n z + 1475258368 n z + 11767432 n z) 3 3 2 Sn + (2 n + 5) (2 n + 13) (2 n + 11) (369397670424 z n 3 3 2 2 + 519696090996 z n + 4434266916 n + 125422522194 z n 3 4 12 4 + 155812968720 z n + 19845000000 z + 737280 n z + 3989481552 z 10 4 11 4 5 2 + 179682304 n z + 14920704 n z + 133451236003 n z 4 2 5 3 4 3 + 194504508774 n z + 315665832108 n z + 484252867348 n z 4 2 4 3 5 + 244498146000 z n + 341168970000 z n + 41624849882 n z 4 8 3 7 6 + 8035664640 z n + 29438640000 z + 6507045058 n z + 19278024184 n z 5 6 7 2 + 6182227951 n + 2689603670 n + 858452261 n + 9462409362 n 4 9 6 2 13 12 + 1435778304 z n + 65065622078 n z + 336 n + 15552 n 2 4 3 4 7 + 6911840376 z + 10297384054 n + 12083336671 n + 32398803776 z n 4 5 13 4 2 + 204293021232 z n + 16384 n z + 45826603284 z n 2 3 3 8 13 3 + 194646861355 z n + 70073637818 z n + 1602053980 n z + 26624 n z 8 2 7 2 12 3 13 2 + 5846250782 n z + 22915448929 n z + 1188864 n z + 13120 n z 12 2 8 13 12 + 580608 n z + 201021446 n + 3216 n z + 144576 n z 4 4 4 4 + 64633238480 z n + 315535254320 z n + 104050800000 z n 4 6 8 3 7 3 + 95267825856 z n + 12638717904 n z + 50670026032 n z 6 3 2 10 + 148124954820 n z + 21208829592 z n + 50161182276 z n + 4079140 n 9 11 10 2 9 2 + 34114141 n + 325564 n + 136576628 n z + 1069412113 n z 9 10 9 3 11 2 + 284375882 n z + 35403464 n z + 2271110496 n z + 11550316 n z 11 3 10 3 11 2 + 23892864 n z + 285908480 n z + 2929784 n z + 939708216) Sn + 2 3 2 (2 n + 11) (2 n + 3) (n + 5) (2 n + 13) (n + 2) (723291528 z n 3 3 2 2 3 + 733073092 z n - 35950959 n + 807453069 z n + 404481900 z n 5 2 4 2 5 3 - 16917444 z + 205519773 n z + 501150588 n z + 194382768 n z 4 3 5 3 7 + 466223200 n z - 11678046 n z + 97335000 z - 9631386 - 402576 n z 6 5 6 7 2 - 2671326 n z - 12667479 n - 3326031 n - 578544 n - 58553847 n 6 2 2 4 3 + 56145957 n z + 112682934 z - 32345036 n - 54664538 n 2 2 3 3 8 + 460142493 z n + 802740966 z n - 65617152 z n - 38232 n z 8 2 7 2 8 4 + 1149084 n z + 10105824 n z - 63876 n - 34080048 z n 8 3 7 3 6 3 + 1117824 n z + 9780096 n z + 53820960 n z - 55681602 z n 2 10 9 10 2 9 2 - 79896102 z n - 112 n - 4048 n + 2112 n z + 74688 n z 9 10 9 3 10 3 - 2064 n z - 48 n z + 72704 n z + 2048 n z ) Sn + (n + 5) 2 4 6 6 2 (2 n + 13) (2 n + 11) (2 n + 9) (n + 2) (n + 1) (80 n z + 64 n z 6 5 5 5 2 4 4 2 + 16 n + 432 n + 2160 n z + 1728 n z + 23624 z n + 18748 n z 4 3 2 3 3 2 2 + 4732 n + 133632 z n + 104184 z n + 26856 n + 83185 n + 411698 z n 2 2 2 + 311701 z n + 655146 z n + 475425 z n + 133389 n + 421428 z 2 + 288750 z + 86670) (This needs several minutes.) Improved method that returns an operator of order 3. > GCD:=subs(n=n+1,skew_gcdex(subs(n=n-1,Q2),M,Dz,A)): bytes used=510020088, alloc=11008032, time=204.34 > U:=collect(GCD[2],Dz,factor); 3 3 2 2 U := 4 z (z + 1) Dz + 3 z (z n + 9 z + n + 5) Dz 2 2 2 3 - z (-9 - 31 z + 3 z n + 6 z n - 7 n - 2 n ) Dz + 3 n + 3 n + n + 1 2 3 - 4 z - 24 z n - 21 z n - 5 z n > factor(GCD[1]); 5 (n + 1) We reduce U&*P/GCD[1] modulo M. > PR:=collect(skew_product(U,P2,A),Dz,factor): > PDIV:=skew_pdiv(PR,M,Dz,A): Therefore, H=Sn is > R:=collect(PDIV[3]/PDIV[1]/GCD[1],Dz,factor); 3 3 2 2 z (z + 1) Dz z (2 z n + 2 n + 11 + 14 z) Dz R := 12 -------------- + 4 -------------------------------- 3 3 (n + 1) (n + 1) 2 2 z (-n + 5 z n - 4 n + 2 z n - 9 z - 6) Dz -n + 16 z n - 1 + 4 z - 4 ------------------------------------------- - --------------------- 3 n + 1 (n + 1) (Fraction-free) Gaussian elimination: > T[1]:=[1,1]: > T[Sn]:=[numer(R),denom(R)]: > T[Sn^2]:=[skew_product(subs(n=n+1,"[1]),numer(R),A),subs(n=n+1,"[2])*denom(R)]: > T[Sn^3]:=[skew_product(subs(n=n+1,"[1]),numer(R),A),subs(n=n+1,"[2])*denom(R)]: bytes used=512067376, alloc=11008032, time=205.23 > T[Sn^4]:=[skew_product(subs(n=n+1,"[1]),numer(R),A),subs(n=n+1,"[2])*denom(R)]: > skew_pdiv(T[Sn^2][1],M,Dz,A): bytes used=514071552, alloc=11008032, time=205.87 > T[Sn^2]:=["[3],T[Sn^2][2]*"[1]]: > skew_pdiv(T[Sn^3][1],M,Dz,A): bytes used=516158280, alloc=11008032, time=206.64 > T[Sn^3]:=["[3],T[Sn^3][2]*"[1]]: > skew_pdiv(T[Sn^4][1],M,Dz,A): bytes used=518177776, alloc=11008032, time=207.37 bytes used=520213824, alloc=11008032, time=208.05 bytes used=522223488, alloc=11008032, time=208.75 bytes used=524283112, alloc=11008032, time=209.43 > T[Sn^4]:=["[3],T[Sn^4][2]*"[1]]: > Z:=collect(add(eta[i]*T[Sn^i][1]/T[Sn^i][2],i=0..4),Dz,numer@normal): > SOL:=solve({coeffs(Z,Dz)},{seq(eta[i],i=0..4)}): bytes used=526922504, alloc=11008032, time=210.19 bytes used=528922792, alloc=11008032, time=211.84 bytes used=530926000, alloc=11008032, time=212.80 bytes used=533848112, alloc=11008032, time=213.68 bytes used=542407712, alloc=13497944, time=215.90 The contiguity relation of order 4 is: > C[4]:=collect(primpart(subs(SOL,add(eta[i]*Sn^i,i=0..4)),Sn),Sn,factor); bytes used=544408192, alloc=13497944, time=217.01 C[4] := 3 2 2 4 (n + 3) (2 n + 3) (n + 4) (16 z n + 4 n + 64 z n + 16 n + 63 z + 15) Sn 4 4 2 4 2 3 + (2 n + 3) (n + 3) (2 n + 7) (32 z n + 256 n z - 8 n + 2816 z n 3 3 2 2 2 2 - 88 n + 352 z n - 350 n + 1418 z n + 11344 z n + 2445 z n - 591 n 2 2 3 3 2 + 19752 z n + 12516 z - 354 + 1482 z) Sn + (2 n + 5) (2162304 z n 3 3 2 2 3 + 1216000 z n + 10735 n + 2141280 z n + 2011520 z n + 151522 z 5 2 4 2 5 3 4 3 5 + 61440 n z + 377024 n z + 61440 n z + 377600 n z + 12960 n z 3 6 5 6 2 6 2 + 764400 z + 864 n z + 360 n + 24 n + 11997 n + 4096 n z 2 4 3 2 2 3 + 745500 z + 2194 n + 6940 n + 1978400 z n + 1210240 z n 3 4 6 3 2 + 253540 z n + 79354 z n + 4096 n z + 407275 z n + 445305 z n + 3886) 2 4 4 4 2 3 Sn + (2 n + 3) (n + 2) (2 n + 7) (32 z n - 8 n + 256 n z + 288 z n 2 3 3 2 2 2 2 2 + 2304 z n - 72 n + 7504 z n + 938 z n - 230 n + 10488 z n - 309 n 2 + 1335 z n - 149 + 5356 z + 707 z) Sn 3 2 2 + (2 n + 7) (n + 2) (n + 1) (16 z n + 4 n + 24 n + 96 z n + 143 z + 35) > Section 1.4.4 Sylvester's dialytic elimination > A:=shift_algebra([Sn,n],[Sm,m],[comm,alpha],[comm,x],polynom=m): > (-1)^m*GAMMA(alpha+n-m)/m!/(n-2*m)!*(2*x)^(n-2*m): > numer(normal([Sn-subs(n=n+1,")/",Sm-subs(m=m+1,")/"],expanded)): > skew_elim(op("),m,A); 2 2 2 x Sn Sm n + 2 x Sm Sn + 2 x Sn alpha Sm - n - Sn Sm n - 2 Sm Sn - 2 alpha > map(collect,series(",Sm=1),Sn,factor); 2 ((-n - 2) Sn + 2 x (n + alpha + 1) Sn - n - 2 alpha) + 2 ((-n - 2) Sn + 2 x (n + alpha + 1) Sn) (Sm - 1) > Section 1.5. First example (Jacobi polynomials) > A:=skew_algebra(comm=[a,b],shift=[Sn,n],diff=[Dx,x]): > G:=[2*(n+2)*(n+a+b+2)*(2*n+a+b+2)*Sn^2 > -((2*n+a+b+3)*(a^2-b^2)+(2*n+a+b+2) > *(2*n+a+b+3)*(2*n+a+b+4)*x)*Sn > +2*(n+a+1)*(n+b+1)*(2*n+a+b+4), > (2*n+a+b+2)*(1-x^2)*Dx*Sn-(n+1) > *(a-b-(2*n+a+b+2)*x)*Sn-2*(n+a+1)*(n+b+1)]: > T:=termorder(A,plex(Sn,Dx)): > remove(has,gbasis(G,T),Sn); bytes used=546408584, alloc=13497944, time=218.00 bytes used=548438184, alloc=13497944, time=219.00 bytes used=550452656, alloc=13497944, time=219.78 bytes used=552469688, alloc=13497944, time=220.60 2 2 2 2 [Dx x + Dx a x + 2 Dx x + Dx b x + Dx a - n a - n - n b - Dx - Dx b - n ] > Section 2.2.2. Example of addition of partial finite functions The methods by rectangular systems or by the FGLM algorithm are not directly available in Mgfun2.0, so that they are not demonstrated. The method by intersection of ideals is as follows. > A:=diff_algebra([Dx,x],[Dy,y],[comm,mu],[comm,nu],[comm,t],polynom=t): > T:=termorder(A,lexdeg([t],[Dx,Dy])): > G:=[t*(Dx-mu),t*(Dy-nu),(1-t)*(x^2*Dx^2+x*Dx+x^2-mu^2), > (1-t)*(y^2*Dy^2+y*Dy+y^2-nu^2)]; 2 2 2 2 G := [t (Dx - mu), t (Dy - nu), (1 - t) (Dx x + Dx x + x - mu ), 2 2 2 2 (1 - t) (y Dy + y Dy + y - nu )] > GB:=gbasis(G,T): bytes used=554470048, alloc=13497944, time=221.62 bytes used=556470896, alloc=13497944, time=222.55 > collect(remove(has,GB,t),{Dx,Dy},distributed,factor); bytes used=558471272, alloc=13497944, time=223.44 2 2 2 2 2 2 2 2 2 2 2 2 2 [y nu x - y nu mu + y nu x - x y mu + x nu mu - x mu y - y nu mu 2 2 2 2 2 2 2 + x mu nu + x (y - nu + y nu + y nu) Dx 2 2 2 2 2 2 2 2 2 2 - y (x mu + x mu + x - mu ) Dy - y (x mu + x mu + x - mu ) Dy 2 2 2 2 2 2 + x (y - nu + y nu + y nu) Dx , 2 2 2 2 4 3 4 2 3 4 4 2 -nu (-y - 2 y nu - nu + nu + y nu - nu y - 3 y nu + y + y nu ) 2 2 4 4 2 4 2 4 2 2 3 3 + (-y - nu + y - nu y + y nu + nu - 4 y nu - y nu ) Dy 2 2 3 3 3 3 2 - y (-y - 2 y nu + 3 nu + y nu + y nu - y nu ) Dy 2 2 2 2 2 3 + y (y - nu + y nu + y nu) Dy , -mu (y - nu) (y + nu) 2 2 2 2 + (y - nu) (y + nu) Dx + Dx y Dy - mu y Dy - mu y Dy + Dx y Dy ] > Section 3.2. Example of creative telescoping by Groebner bases > A:=skew_algebra(comm=[a,b],shift=[Sn,n],diff=[Dx,x],diff=[Dy,y],polynom=n): > G:=[2*(n+2)*(n+a+b+2)*(2*n+a+b+2)*Sn^2 > -y*(2*n+a+b+3)*(a^2-b^2+4*x*n^2+4*x*n*a+4*x*n*b > +12*x*n+x*a^2+2*x*a*b+6*x*a+x*b^2+6*x*b+8*x)*Sn > +2*(n+a+1)*(n+b+1)*(2*n+a+b+4)*y^2, > -2*(n+a+1)*(n+b+1)*y+(n+1)*(-a+b+2*x*n+x*a+x*b+2*x)*Sn > -(x-1)*(x+1)*(2*n+a+b+2)*Dx*Sn, > n*(n+a+b+1)+(b-a-x*a-x*b-2*x)*Dx-(x-1)*(x+1)*Dx^2, > y*Dy-n]: > T:=termorder(A,lexdeg([n],[Sn,Dx,Dy])): > GB:=gbasis(G,T): bytes used=560476240, alloc=13497944, time=224.49 bytes used=562487936, alloc=13497944, time=225.50 bytes used=564488432, alloc=13497944, time=226.40 bytes used=566492168, alloc=13497944, time=227.25 bytes used=568502800, alloc=13497944, time=228.18 bytes used=570513168, alloc=13497944, time=229.16 bytes used=572532800, alloc=13497944, time=230.14 bytes used=574537744, alloc=13497944, time=230.98 > CT:=collect(subs(Sn=1,remove(has,GB,n)),[Dx,Dy],distributed,factor); 2 CT := [(-b + a + x a + x b + 2 x) Dx - y (a + b + 2) Dy + (x - 1) (x + 1) Dx 2 2 - y Dy , 2 y (b + 1) (1 + a) + (x - 1) (x + 1) (a + b) Dx - y (-2 y a - 2 y b - 6 y + x b + 2 x - a + b + x a) Dy 2 2 - 2 y (-y + x) Dy + 2 y (x - 1) (x + 1) Dy Dx, 2 2 2 2 y (x a + x a + a + a - x b - x b + b + b) + (x - 1) (x + 1) (b - y b + y a + a) Dx + y (x a y + y a + y b - x b y + b - a - x b - x a) Dy, -2 y (b + 1) (1 + a) (2 x a + a - b + 2 x b + 2 x) 2 2 - (x - 1) (x + 1) (b - a + 4 y b + 4 y a b + 4 y a + 4 y) Dx - y (28 x y 2 2 + 24 x b y - 2 b y - 6 y b + 24 x a y + 12 x y a b + 4 x b y + 6 y a 2 2 2 2 2 2 + 4 x a y + 2 a y - 6 a - b - 6 b - 4 - a + x a - 6 a b - x b ) Dy 3 2 3 3 - 4 y (x - 1) (x + 1) Dy Dx - 4 y (x y - 1) Dy 2 2 - 2 y (y a + 4 x a y - y b + 4 x b y + 12 x y - 3 b - 6 - 3 a) Dy 2 - 4 y (x - 1) (x + 1) (b + 3 + a) Dy Dx, -2 x + 2 y - a - 3 x a + b 2 2 2 2 - 2 x a b + b - x b - x a + 2 y a b + 2 y a - a - 3 x b + 2 y b - 2 (x - 1) (x + 1) Dx 2 2 2 + (2 a + 6 y + 2 b + 2 y b + 2 y a - 4 x a y + 2 - 4 x b y - 8 x y) Dy 2 2 - 2 y (-y + 2 x y - 1) Dy ] > R:=sqrt(1-2*x*y+y^2): P:=1/(R*(1-y+R)^a*(1+y+R)^b): > map(simplify,map(applyopr,CT,P,A)); bytes used=576538120, alloc=13497944, time=232.13 bytes used=578619896, alloc=13497944, time=232.98 bytes used=580620248, alloc=13497944, time=233.81 bytes used=582853872, alloc=13497944, time=234.82 bytes used=585616064, alloc=13497944, time=235.92 bytes used=587638352, alloc=13497944, time=236.79 bytes used=589638968, alloc=13497944, time=237.98 bytes used=591639344, alloc=13497944, time=239.26 bytes used=593650640, alloc=13497944, time=240.07 bytes used=596805088, alloc=13497944, time=241.11 bytes used=598812472, alloc=13497944, time=241.92 bytes used=600836080, alloc=13497944, time=242.75 bytes used=602846008, alloc=13497944, time=243.63 bytes used=604893680, alloc=13497944, time=244.59 bytes used=606913160, alloc=13497944, time=245.55 bytes used=609023560, alloc=13497944, time=246.55 bytes used=611122064, alloc=13497944, time=247.57 bytes used=614159328, alloc=13891088, time=248.85 bytes used=616166000, alloc=13891088, time=249.78 bytes used=618238400, alloc=13891088, time=250.60 bytes used=620255136, alloc=13891088, time=251.45 bytes used=622267464, alloc=13891088, time=252.32 bytes used=624286896, alloc=13891088, time=253.33 bytes used=626293176, alloc=13891088, time=254.25 bytes used=628315400, alloc=13891088, time=255.29 bytes used=630533128, alloc=13891088, time=256.40 bytes used=633052104, alloc=14546328, time=257.65 bytes used=635690432, alloc=14546328, time=258.93 bytes used=637782856, alloc=14546328, time=260.01 bytes used=650517296, alloc=18346720, time=264.70 bytes used=653549600, alloc=20574536, time=266.50 bytes used=658585512, alloc=24374928, time=269.46 bytes used=660595864, alloc=24374928, time=270.77 bytes used=662677480, alloc=24374928, time=271.59 [0, 0, 0, 0, 0] > The functions hdefsum, hdefqsum and hdefint have not been reimplemented in version 2.0, and the examples of the following sections are not demonstrated here. Section 3.3. Extension of Takayama's algorithm for definite integral Section 3.4.1. An identity between Franel and Apery numbers Section 3.4.2. A Rogers-Ramanujan identity > quit bytes used=663019440, alloc=24374928, time=271.73