maple < Example2.txt |\^/| Maple 2019 (APPLE UNIVERSAL OSX) ._|\| |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2019 \ MAPLE / All rights reserved. Maple is a trademark of <____ ____> Waterloo Maple Inc. | Type ? for help. > ACC := 140; ACC := 140 > t := series(q^(-5) * mul( ( (1-q^n)/(1-q^(11*n)) )^12, n=1..ACC), q=0, ACC); memory used=7.0MB, alloc=40.3MB, time=0.08 -5 -4 -3 -2 -1 2 3 4 5 6 7 t := q - 12 q + 54 q - 88 q - 99 q + 540 - 418 q - 648 q + 594 q + 836 q + 1056 q - 4092 q - 353 q + 8 9 10 12 13 14 15 16 17 18 4752 q - 1650 q + 3068 q - 9768 q - 8074 q + 12144 q + 27258 q + 572 q - 54504 q - 4884 q + 19 20 21 23 24 25 26 27 28 45045 q - 22176 q + 61656 q - 104676 q - 69564 q + 78914 q + 290664 q - 72732 q - 411180 q + 29 30 31 32 34 35 36 37 38 8646 q + 241812 q - 117194 q + 567996 q - 842336 q - 480987 q + 411180 q + 2121680 q - 803616 q 39 40 41 42 43 45 46 47 - 2321187 q + 372020 q + 841764 q - 317592 q + 3624313 q - 5345208 q - 2817308 q + 1857306 q + 48 49 50 51 52 53 54 55 12368136 q - 5461082 q - 10848948 q + 3509451 q + 1226952 q + 491436 q + 18550620 q - 161051 q - 56 57 58 59 60 61 62 28815864 q - 14585472 q + 8246392 q + 61817646 q - 28950768 q - 44286484 q + 22708884 q - 7853571 63 64 65 66 67 68 69 70 q + 11244596 q + 81299580 q - 1932612 q - 136569708 q - 67906872 q + 36545652 q + 275120472 q - 71 72 73 74 75 76 77 130355742 q - 162613716 q + 119192876 q - 85020540 q + 80436774 q + 316845320 q - 14494590 q - 78 79 80 81 82 83 84 584870088 q - 289234638 q + 160157184 q + 1117419534 q - 520843576 q - 547705059 q + 543258144 q - 85 86 87 88 89 90 91 514109134 q + 423252984 q + 1124313213 q - 83746520 q - 2303984100 q - 1141195440 q + 676449224 q + 92 93 94 95 96 97 4210155048 q - 1896463932 q - 1713841360 q + 2228016231 q - 2474947992 q + 1883753036 q + 3691898760 98 99 100 101 102 103 104 q - 408264285 q - 8463431020 q - 4214324862 q + 2713013688 q + 14890908626 q - 6405536280 q - 105 106 107 108 109 110 5027114004 q + 8407399264 q - 10381562004 q + 7480855800 q + 11347250926 q - 1756744308 q - 111 112 113 114 115 116 29283932634 q - 14687247312 q + 10272773148 q + 49880407104 q - 20324630348 q - 13905589224 q + 117 118 119 120 121 122 29626729626 q - 39477372276 q + 27273368694 q + 32921430036 q - 6863027314 q - 96199668312 q - 123 124 125 126 127 128 48635624190 q + 36748932528 q + 159334703088 q - 61154221656 q - 36409869870 q + 98546605860 q 129 130 131 132 133 - 139122231996 q + 92872090784 q + 90726596454 q - 24795411960 q - 301917151668 q - 153889472484 134 135 q + O(q ) > E4 := 1 + 240*add( n^3*q^n/(1-q^n), n=1..ACC): > Ds := q * mul( (1-q^n)^(24), n=1..ACC): > f := series(t^3 * E4^3 / Ds, q=0, ACC); -16 -15 -14 -13 -12 -11 -10 f := q + 708 q + 170694 q + 14841992 q + 203137101 q + 768867660 q - 1253760178 q - 11823084648 -9 -8 -7 -6 -5 -4 q - 14387629806 q + 40127718356 q + 207583074336 q + 15626001852 q - 303821290001 q - 1898446902912 -3 -2 -1 2 q + 672145281918 q - 323626806028 q + 13217679779040 - 4606394367960 q + 8236822357574 q - 55404151535040 3 4 5 6 7 8 q + 10468570939002 q - 42329099131924 q + 105467164064172 q + 106340291912196 q + 36372539379789 q - 9 10 11 12 13 44069444728848 q - 300093211063908 q + 151377740371440 q - 1086083581824780 q + 1754873221698468 q - 14 15 16 17 18 2438422554046534 q + 2209191246325800 q + 82785992887620 q + 3690679870143476 q - 687447020379582 q + 19 20 21 22 3111192040661100 q - 8333524428966418 q - 18039695197916388 q + 16525856955801600 q - 42547267152245152 23 24 25 26 27 q + 68038541665945821 q - 32159646753166548 q + 73183193637741528 q - 15377954901121296 q + 28 29 30 31 97083161386208847 q - 140384123459159252 q + 36222641459182452 q - 228849712423723512 q - 32 33 34 35 486241864854147469 q + 664532295471970200 q - 819388839082002156 q + 1481133793807876988 q - 36 37 38 39 129651059477544858 q + 1543124127843069552 q - 1082937843142151194 q + 1764486417807853500 q - 40 41 42 43 4263278820235228287 q - 85675550627613960 q - 3510394697381558976 q - 8789343678826807428 q + 44 45 46 47 15060937095747787189 q - 9798099041401703208 q + 22986344809915668720 q + 1768517755945427960 q + 48 49 50 51 25168677104642749986 q - 28532485968097927464 q + 23569599681811735384 q - 79905212378346452220 q - 52 53 54 55 9090189935981083305 q - 36231420318155170108 q - 120475646841352221000 q + 237992641557968420244 q - 56 57 58 59 73803895522727834244 q + 287310007039108533984 q + 34755253177120434288 q + 337783645868419490168 q - 60 61 62 63 487037360546852560830 q + 249221934084853325268 q - 1129461820162756735300 q - 179492045715261988092 q - 64 65 66 67 257171587093695975822 q - 1334141276170157123728 q + 2914419391003785068118 q - 205655306224472070120 q + 68 69 70 71 3089013802294019817804 q + 303567052772873157048 q + 3854737204198572007206 q - 6344612222769869164072 q 72 73 74 + 2208232524610221292134 q - 13058746432998785503308 q - 2452223059052151621664 q - 1031861844821317060320 75 76 77 78 q - 12421131915647261315358 q + 29398111960341433566972 q + 3565485805916350235502 q + 79 80 81 29619897800976861881904 q + 1354657025689277950442 q + 38307404178021240145620 q - 68092583017612530309768 82 83 84 85 q + 17121386712367179323244 q - 129076181586766418117058 q - 27235978650034115449464 q + 86 87 88 2496128398995438108110 q - 99875476307509834307364 q + 253991353875187876593525 q + 73820202002462242841404 89 90 91 92 q + 258229611003325220981964 q - 3194711799417195326280 q + 337906303412733237260364 q - 93 94 95 628990949227175889028356 q + 120308812345870057036332 q - 1121896803701366512545324 q - 96 97 98 260883328553231107463919 q + 91975809365028772758432 q - 706325656755233256602546 q + 99 100 101 1930606226806830214174236 q + 872252254165027775665626 q + 2068492924554618336394556 q - 102 103 104 130567711934194151344662 q + 2687134555606278322847016 q - 5143546469743221442764620 q + 105 106 107 788782848189234591660444 q - 8747115500860737671880900 q - 2220977062424755583643392 q + 108 109 110 1034733083900025076145172 q - 4444138617931027986446232 q + 13162680154086156329535702 q + 111 112 113 8086513375028209525419576 q + 15325946650956891340763649 q - 1561366251162979949264940 q + 114 115 116 19511620612659176868955836 q - 37972702750200206411618712 q + 4936852764735579498866573 q - 117 118 119 62098496486895097682641656 q - 17122026851443540219488588 q + 8366185754394009924109288 q - 120 121 122 25007775213348601104730299 q + 81666686143284133013961696 q + 64180417617842192573600584 q + 123 124 105593126229280455750847656 q + O(q ) > h := series(q*t*mul(1-q^(11*k), k=1..40) * add(combinat[numbpart](11*k+6)*q^k, k=0..40), q=0, 40); -4 -3 -2 -1 2 3 4 5 6 7 h := 11 q + 165 q + 748 q + 1639 q + 3553 + 4136 q + 6347 q + 3586 q + 7414 q - 4444 q + 583 q - 14157 q 8 9 10 11 12 13 14 15 16 - 6523 q - 29590 q + 17435 q - 14641 q + 34100 q + 27863 q + 43186 q + 40216 q + 12738 q - 51216 17 18 19 20 21 22 23 24 25 q - 85162 q - 32142 q - 268488 q + 95194 q - 102487 q + 188386 q + 135927 q + 411906 q + 184932 26 27 28 29 30 31 32 33 34 q + 322366 q - 386969 q - 489467 q - 36773 q - 1503920 q + 174262 q - 556358 q + 914298 q + 35 36 443982 q + O(q ) # Compute the algebraic relation p in Q[x,y] between t and f using an Ansatz: > n := 5; n := 5 > m := 16; m := 16 > p := add(add( c[i,j]*x^i*y^j, i=0..min(m, max(m,n)-j)), j=0..n); 4 2 6 8 2 7 2 11 6 3 p := c[0, 0] + c[4, 2] x y + c[6, 1] x y + c[8, 2] x y + c[7, 2] x y + c[11, 0] x + c[1, 0] x + c[6, 3] x y 3 2 13 2 2 3 6 8 2 + c[3, 2] x y + c[13, 1] x y + c[1, 2] x y + c[2, 3] x y + c[6, 0] x + c[8, 0] x + c[2, 0] x 5 3 16 4 12 15 8 2 + c[5, 0] x + c[3, 0] x + c[16, 0] x + c[4, 0] x + c[12, 0] x + c[15, 0] x + c[8, 1] x y + c[2, 1] x y 3 4 7 2 4 3 4 4 4 + c[3, 1] x y + c[4, 1] x y + c[7, 0] x + c[0, 1] y + c[2, 4] x y + c[3, 4] x y + c[4, 4] x y 5 4 6 4 7 4 8 4 9 4 10 4 + c[5, 4] x y + c[6, 4] x y + c[7, 4] x y + c[8, 4] x y + c[9, 4] x y + c[10, 4] x y 11 4 12 4 5 5 2 5 3 5 4 5 + c[11, 4] x y + c[12, 4] x y + c[0, 5] y + c[1, 5] x y + c[2, 5] x y + c[3, 5] x y + c[4, 5] x y 5 5 6 5 7 5 8 5 9 5 10 5 + c[5, 5] x y + c[6, 5] x y + c[7, 5] x y + c[8, 5] x y + c[9, 5] x y + c[10, 5] x y 11 5 15 11 4 3 9 2 10 3 + c[11, 5] x y + c[15, 1] x y + c[11, 1] x y + c[4, 3] x y + c[9, 2] x y + c[10, 3] x y 13 3 7 4 10 4 9 12 3 + c[13, 3] x y + c[7, 1] x y + c[1, 4] x y + c[10, 0] x + c[0, 4] y + c[9, 1] x y + c[12, 3] x y 5 2 11 3 9 3 5 8 3 7 3 + c[5, 2] x y + c[11, 3] x y + c[9, 3] x y + c[5, 1] x y + c[8, 3] x y + c[7, 3] x y 10 2 5 3 3 3 2 2 3 14 + c[10, 2] x y + c[5, 3] x y + c[1, 1] x y + c[3, 3] x y + c[2, 2] x y + c[0, 3] y + c[14, 0] x 3 13 14 2 2 9 12 2 13 2 + c[1, 3] x y + c[13, 0] x + c[14, 2] x y + c[0, 2] y + c[9, 0] x + c[12, 2] x y + c[13, 2] x y 10 12 11 2 14 6 2 + c[10, 1] x y + c[12, 1] x y + c[11, 2] x y + c[14, 1] x y + c[6, 2] x y > IsZero := eval(p, {x=t, y=f}): > SolveCoeffsZero := proc(IsZero, q, ACC) > solve({coeffs(convert(series(IsZero, q=0, ACC),polynom),q)}) > end: > p := eval(p, SolveCoeffsZero(IsZero, q, ACC)): memory used=64.5MB, alloc=53.5MB, time=0.30 memory used=111.7MB, alloc=53.5MB, time=0.37 memory used=157.3MB, alloc=53.5MB, time=0.43 memory used=201.0MB, alloc=53.5MB, time=0.49 memory used=246.8MB, alloc=53.5MB, time=0.56 memory used=291.5MB, alloc=85.5MB, time=0.64 memory used=378.4MB, alloc=87.8MB, time=0.77 memory used=463.3MB, alloc=87.8MB, time=0.90 memory used=548.8MB, alloc=87.8MB, time=1.06 memory used=565.5MB, alloc=119.8MB, time=1.20 > p := sort(collect(primpart(p,y),y, factor), y); 5 2 4 2 4 3 p := y - 2 x (1866 x + 415213152497 x + 207136272863586) y + x (4586706 x - 91769352032014800 x 2 3 3 + 156409243660488833632805 x - 896264453248953746657940240 x + 52656670884867488912329501986) y - x ( 6 5 4 2059075976 x + 379889186035651877475 x + 21785535767846197303066810260 x 3 2 + 4202150893703594119811290029283450 x + 41681730057457716120846792576023923140 x 2 4 + 39984753112818403460117903008490202467355 x + 2086482285246638920217408629828155552054056) y + 6655 x ( 8 7 6 5 38088453 x - 20598751880662145080 x + 30566160535631317330255498812 x - 14461254407784996245065820228907240 x 4 3 + 459641014345726944259626326027552620878 x - 2718676172462482521721478744479055757992520 x 2 + 6168182484469574547926157208959089377793395356 x - 5956099929069727987274316898450020774536370823960 x + 2037361909482315410446278029584731172494731337794901) y 4 4 3 2 3 - x (x + 689101797780 x + 25420699228098878 x - 90980465129872878780 x + 81402749386839761113321) # Compute a basis v of all integral functions i for which i/x^d is # integral at infinity. Then write h as a linear combination of v: > d := 1; d := 1 > read NormalBasis: > v := UpToDegree(p, x, y, d): memory used=630.2MB, alloc=154.8MB, time=1.63 > H := add(c[i]*v[i], i=1..nops(v)): > IsZero := h - eval(H, {x=t,y=f}): > h := factor(eval(H, SolveCoeffsZero(IsZero, q, 40))); memory used=754.9MB, alloc=154.8MB, time=2.55 26 25 24 23 h := 11 (7965173843 x + 680285521896550478550510 x + 4089124077611821062391297348225070979 x - 545496303 x y 23 22 - 117888655602991346361561478650191266378804781781165 x - 10205138986829504843675 x y 22 21 + 19120523600009684891767021803540636413989897179093642302209491 x + 333013624981886051527317915078594536 x y 20 2 21 + 2500268 x y + 143135974678530216244208720897893655659026419550652827635649406917536096 x 20 19 2 + 769460188836183747547069065143953542867194847845 x y + 52183194791925504560 x y 20 - 15095709039158893597279366172606180021081540688257843029868957780611208636775113 x 19 18 2 + 41481987953174680441098166534837135762465065345367128180421 x y - 1139776407522867949927277583153767 x y 17 3 19 - 2961 x y + 7938795926382146538029208082121883996230499585232333016031484960354892067151952897563 x 18 + 22648108117187558106917490769911821042417948225568073074782765393080 x y 17 2 16 3 - 863980110198933226931008355821565567621828713 x y - 63132650991702820 x y 18 + 71656011537304265168073048916038544027800866969627616507206630032996286328826796682737852126 x 17 - 1943280886947049758578257471996145316090747141700483380321725145096792570024 x y 16 2 15 3 + 20286782430677916059385537571494340805236697842925036157 x y + 1062609737819686332778779861914 x y 14 4 17 + x y + 16367432411458236226651476607294680984200714523969141323387371659774902796159853485017777592714748 x 16 + 27665380758350325328976451472924966955675088935796894633757419548258122978091773320 x y 15 2 - 6271794369567107722275950800178210797403014608910094821865803866 x y 14 3 13 4 + 640114568776946505765272396931813277169124 x y + 20714591724167 x y 16 + 443521424863266371648819346375475032908354129542221761129588872868698646376105756130054996690207911982 x 15 + 41778799844514514029523546817068039788521809417209696694052676809531752090107643974882906 x y 14 2 + 121204687691461822286706445191033361419997604841424902696790154811930771 x y 13 3 12 4 - 1138432140151769580277659144675456200419148078909696 x y - 306864894848124137653168315 x y 15 - 72089278138044007758421552097293242793792336466208057167554332152221390078610738604971173954662852423275890 x 14 + 4632946499016072437016909877049920484235519017738763664111854606973418489778618050542169784410 x y 13 2 - 117290910974720619705370448201778673638664953969632059152851730915785414096159 x y 12 3 - 70427311996902945398126906691904628852977824968125944620552 x y 11 4 - 161936777238853664963600743961678863890 x y - 2997475981611200664440322579602697115007781909122134029000547928977965632231996633513915493358057317527150787306 14 13 x - 144545715100667224858425764851522680985587062244564979740364343003865144293938166653662912525812840 x y 12 2 - 188196830093759122787453245023638079108876091524625153490076052775615170361538425101 x y 11 3 + 1062023073206885325780812442676981533621025301990752817955941714414 x y 10 4 + 90186711719394071220820204776969813203667823915 x y - 117755949214551455702705509747247707267131155596254\ 13 70259609907850788722802079982906561429801259908711299911169940320 x 12 - 23021997206861407371425996254357450172032211299910623562264149866714392355040940045738786720484150671350 x y 11 2 - 514781300328057082464741096773340097233071420207213269565741077603375404969020353238060 x y 10 3 + 1019552237698856815641809275466828641100124744252462828092522645576843976 x y 9 4 - 1241448559434850311432996408463530242004784605418287391 x y + 22800294562817923502617313143883797527807237\ 12 4520182298821185325622692823502598750384817133688147500805483730032098551342 x - 11 54064828503103703349258236187847756877529600944153019090845386629248293362355156403000590247794553470681606 x y 10 2 + 1147898594122980945941745273182890536389081195097968476753478735929658876120979185239947704591 x y 9 3 + 6989215694889538677584330665663642391007120263058231077930034577832346005570 x y 8 4 - 1226998620455296115801641582688907156620177170851535208635277 x y - 20268635086820087633504639248809716975\ 11 8390193601994452045886806558606601149629182441246902298406430654141438408705749982314 x + 4586795813119432873783124629233914609903986239069252750367895500483355693991814183669863582419114871087160281680 10 9 2 x y - 18246313589307777931375903019070526342209074778938460517897745423346531366650410902432296830307311 x y 8 3 - 6125922211663149620418620212242964876108332602408358271466547490560319825768323716 x y 7 4 - 8435965564407085906735706613473135551321347260128536418027049620 x y - 14775221801016564640043918630317793\ 10 18704431714282470920908992287827812138082594164454326411925031392284259967548441503718358961 x + 168732831097\ 9 53440244030151257723417556527772638473720412162547647666180152405621161486018431822292570900582673632744 x y 8 2 + 12369180732686793936213246671329572332468642848753838166889826931912130172527957018936310068722747859 x y 7 3 + 59588926936611403578058881775463682447473776180564880675087646421624138465369342339846 x y 6 4 + 7416024724004245766346925279586362528154744027719363224979169154144967 x y + 31849326530600854006333623472\ 9 30019758655107803035189788090602540398527397690992409631448416483988981080916163392868002274099149862 x + 3551\ 840237401506518368221861813463323399050582357804070958033961635054453338397076171988240125205356550188564493749\ 8 760 x y 7 2 + 351603402830297725448268633020778213503326267006490871899539833679493408871762481385737935477580140388846 x y 6 3 + 327884296861209957103395801868946757529416180933451355978562878541916585345560475618767812 x y 5 4 - 75749467930092010189607097292723428875234102146053907263637015060417036799 x y - 1891132807898584297380693\ 8 072514484126746311633384605739366240803344017503758180641773017186990995639159124721233823744575245222454097 x - 845724015526857961403614871534135863866519987612157055471875825041536397833155961948932468422994042641706574243\ 7 8832195371 x y - 6 2 225992921024757181235643590735935189139920690107965861329688049970426708067139876848728571990337566891214107 x y 5 3 - 47389531791187910132309864698910325857018842017447269124594402224814538916021223361477558064 x y 4 4 - 356754296038358327379354120822235341020373388967459641845493939656756258087765 x y - 292015084729999211669\ 661253953632509395334605608515740579561688377067416305515851572812045950666279903044015064491515500314784187003\ 7 85 x - 1684721571496433285322941917374799910154152208464007601067585945469485437079126385183805249480397363549\ 6 251217838914822620615 x y - 5 7069974768635110471211292419041603355421608081760546109909224596978663252008163997190609672895799188292651977 x 2 4 3 y - 117828375577867515822451853896488054590648348208072062342300090966208450898664558267752048529744 x y 3 4 + 236179628001771123871099648608705158012278288966540540348794041329042544879407590 x y + 213422672347991340\ 597609864629868236813317501890853538538074158160276887571127535369744325189732199185609511278820866851830468977\ 6 776123287 x - 263535255635256528677196486593951769775761901264548400133589666672639192366038022887285706731788\ 5 35446748114131029634236844736 x y + 1129786384961625308433279867825364287267577214077116364694034566085535023919003641631017162953787827721574936977 4 2 3 3 x y - 9023751007252058985708904023753815824993909488945520514923955600813096051569739813152553487514894 x y 2 4 + 22326859893575749808286771327012660840928074102266041314933803443949953076946699405 x y + 1189911853952414\ 598365870888788347193738424910133735347144596554733954524710764275399324093460365237500517338375809529484607709\ 5 142445727216 x + 115302713149804632525590514507506080283965983932544205010511425433257798592705067995231406934\ 4 23400898628009832216390458228745 x y - 1184499738717710572247271436134044166839992844151675272165825175653664358397269985228016394788510927909803551320 3 2 2 3 x y + 14451825298036527944769753589671974080167096274617457744661354231808775220397554673843894518306960 x y 4 - 41587268073824385538816592453300912982357226205497506209020630142442137973003993257 x y - 71031943446626907\ 223311713439429157550574101198894680182927934044768469220947674187760207141117362080618008395907076908143099643\ 4 5684677573 x + 57812567331930091241301354913734704781034668101119865764366014848305034468056207800893770099132\ 3 78610859878663189470574260993 x y - 2 463685634214391004028754891298577029563973811632910306233254069802094252735748991975224400639944531112657892768 x 2 3 y + 5902768121763432658761012584231468069503911022951887484207105053916369963123083867304296831936511 x y 4 - 18621820132595144528407508578788012958402726053563392593510831217730632927190897891 y - 2909607723572578798\ 768832486086212023729895867805632613790630051755825499070873721771675283599502116813103111958181094294515442293\ 3 / 3 2 5 4 3 24975921 x ) / (x (x - 84609753360 x - 285311670611) (x + 10548060207905 x + 530363011382081790 x / 2 6 - 57878739233454129717210 x - 1723703218266331941574572175 x + 17449402268886407318558803753801) (x 5 4 3 + 36972332801998 x + 187257851103295453828787 x - 1291095533414321803428329323628 x 2 - 256675849054914744098088959826697 x + 36257550555768250420220591383373182 x 10 9 8 - 23225154419887808141001767796309131) (x - 26598362122002 x + 77437352241140550057895265 x 7 6 - 7188315903719620542709171828256808 x - 10773334652305335400250867084133998968310 x 5 4 + 1072471305140475308024314067053567777346289684 x - 1310152802524963048598795529209781871637399718590 x 3 - 7942402195672065026773330479917187594490714394737896 x 2 + 16120669329522442147397775098539060236600684655603024085 x - 7012671291156662878411941804172827244850927222391348891378 x - 1890591424712781041871514584574319778449301246603238034051)) # Shorten h with "Rational Univariate Representation" > ShortenAlg := proc(h, f,x,y) local d, RUR; > d := diff(f,y); > RUR := rem(h*d, f, y)/d; > map(factor, convert(RUR, parfrac, y)) > end: > h := ShortenAlg(h, p,x,y); 12 11 10 9 h := 14641 - 11 x (671188551 x - 734874289955770585093 x + 3393933170352260871802084891020 x - 6205300 x y 9 8 + 656369222880498505529846345600548588 x - 6562214034748331542 x y 8 7 6 2 - 149076189190502619666737047641078058332126 x - 946421098632901146832493202 x y + 11073 x y 7 6 + 3847181344568939040752918533861490458396428234 x + 106281866717925399122117380508668 x y 5 2 6 - 4349554282034027 x y - 22096479219401457723661432266928947209893249587012 x 5 4 2 3 3 - 5241431134321800396279729636193601352 x y + 21899324218411035556545 x y - 5 x y 5 4 + 49433072688776142693953744483879147480676610252114940 x - 118316231500772650305399661592957294361742 x y 3 2 2 3 + 1492489022991850941106949625 x y - 188797012690 x y 4 - 46959991725972527618827071400420659451794496095396128433 x 3 2 2 - 108130983278471518519237533395485325468862322 x y - 5141188201998626973212009785067 x y 3 3 - 15611995241587910 x y + 15640347240805734073664347926933009076262401221899514645331 x 2 2 - 2733659036317827489075717104507773996136742040 x y + 53790306167724214296053171902213 x y 3 / 12 11 - 229748649317860805 y ) / (253478654715 x - 137084693765806575507400 x / 10 9 9 + 203417798364626416832850344593860 x - 4118151952 x y - 96239648083809150010913033623377682200 x 8 8 - 759778372071303754950 x y + 3058910950470812814047813199713362691943090 x 7 6 2 7 - 43571071535692394606133620520 x y + 13760118 x y - 18092789927737821182056441044508116069440220600 x 6 5 2 - 8404301787407188239622580058566900 x y - 275308056096044400 x y 6 5 + 41049254434145018616448576225622739809215046094180 x - 83363460114915432241693585152047846280 x y 4 2 3 3 5 + 469227730981466500898415 x y - 14928 x y - 39637845027959039755310578959184888254539547833453800 x 4 3 2 2 3 - 79969506225636806920235806016980404934710 x y - 2688793359746861239973820720 x y - 3321705219976 x y 4 3 + 13558643507604809056519980286886385952952437053025066155 x - 4172964570493277840434817259656311104108112 x y 2 2 3 4 + 157970012654602466736988505958 x y - 1657090182908688 x y + 5 y ) > with(algcurves): > genus(p,x,y); 1 # The genus is 1. So the integral elements can have poles at # infinity of order 0, 2, 3, 4, .... (the only gap is 1). # Call those functions 1, z[2], z[3], ... then we should # be able to write h as a polynomial in z[2], z[3]. # Compute the q-expansions of a basis v of some subspace of Q(x)[y]/(f). # Adjust this basis to bring these q-expansions into Reduced Echelon Form. # Return the adjusted basis, as well as q-expansions up to O(q^1). > qEchelonForm := proc(v,q, x,y, t,f, ACC) > local n,m,w,i,j,M; > n := nops(v); > w := [seq(convert(series(eval(i, {x=t, y=f}), q=0, ACC),polynom), i=v)]; > m := min(map(ldegree,w,q)); > M := Matrix(n,1-m,[seq(seq(coeff(i,q,j),j=m..0),i=w)]); > M := < M | LinearAlgebra:-IdentityMatrix(n) > ; > M := LinearAlgebra:-ReducedRowEchelonForm( M ); > [seq([factor(add(M[i,1-m+j]*v[j], j=1..n)), > add(M[i,j-m+1]*q^j,j=m..0)], i=1..n)] > end: > v := qEchelonForm(v, q, x,y, t,f, 40): > for i in v do > PoleOrder := -ldegree(i[2],q); > z[PoleOrder] := ShortenAlg(i[1], p,x,y); > zq[PoleOrder] := i[2] + O(q); > od; PoleOrder := 5 12 11 10 z[5] := x + 12 - 2 x (4233386875 x - 4875133991600586083062 x + 44053988665109439272392342380372 x 9 9 8 - 38099056 x y - 35137165588733626333156225697609111424 x - 40675047724330394584 x y 8 7 6 2 + 1333605497918502992981113075265300872950114 x - 10570423914185414415017410672 x y + 67023 x y 7 6 - 8156482824724627723167364956634019026876229676 x - 3593426443864974537107614814829650 x y 5 2 6 - 22287120507146176 x y + 18705981689565940747716622125724321336313565196756 x 5 4 2 3 3 - 45028274288200873745889827582467492440 x y + 160910316649400122868943 x y - 30 x y 5 4 - 18012050597511826630078385322579687976376114545946128 x - 38867039440273003304096743847188432875732 x y 3 2 2 3 - 2706490371210541500643271862 x y - 555349613104 x y 4 3 + 6016966052623848356693066563390768313234724152925749883 x - 387531768029246861898848321208793861824184 x y 2 2 3 - 189651392896714793883965245911 x y - 8352378901804784 x y 3 + 50360675885389290781359926779863719253823337625521674290 x 2 2 - 131910157592338274081528432225345024557712146 x y + 4037878210981978553054929794268 x y 3 / 12 11 - 20886240847078255 y ) / (253478654715 x - 137084693765806575507400 x / 10 9 9 + 203417798364626416832850344593860 x - 4118151952 x y - 96239648083809150010913033623377682200 x 8 8 - 759778372071303754950 x y + 3058910950470812814047813199713362691943090 x 7 6 2 7 - 43571071535692394606133620520 x y + 13760118 x y - 18092789927737821182056441044508116069440220600 x 6 5 2 - 8404301787407188239622580058566900 x y - 275308056096044400 x y 6 5 + 41049254434145018616448576225622739809215046094180 x - 83363460114915432241693585152047846280 x y 4 2 3 3 5 + 469227730981466500898415 x y - 14928 x y - 39637845027959039755310578959184888254539547833453800 x 4 3 2 2 3 - 79969506225636806920235806016980404934710 x y - 2688793359746861239973820720 x y - 3321705219976 x y 4 3 + 13558643507604809056519980286886385952952437053025066155 x - 4172964570493277840434817259656311104108112 x y 2 2 3 4 + 157970012654602466736988505958 x y - 1657090182908688 x y + 5 y ) 1 zq[5] := ---- - 1/q + O(q) 5 q PoleOrder := 4 12 11 10 9 z[4] := 12 - x (697552682 x - 794220345276195414093 x + 6381340459497871133388377949936 x - 6316380 x y 9 8 - 3659577046381576789457048077569416876 x - 6731189676287005842 x y 8 7 6 2 + 100487146167175409533869416033015546535300 x - 1598673708383084468613770270 x y + 11148 x y 7 6 - 531694102376475091662472531841397457819172334 x - 413404164944552339108318109776082 x y 5 2 6 - 3862079226840901 x y + 1069810222032459405060501882797511157475201804864 x 5 4 2 3 3 - 2343201926587136769211121177094529152 x y + 27739042279950632191308 x y - 5 x y 5 4 - 790296967914595133715260892003903348595557708321132 x + 2893255774300505879096901961178038192562 x y 3 2 2 3 - 394971787822067751819030507 x y - 112382137758 x y 4 3 - 57415847251570889646246795969241235017701248652850782 x - 1452002513354388529897463250026586295697430 x y 2 2 3 - 353297034646316000768737629530 x y - 3037759015436970 x y 3 + 228149122571687847630706334957261394801411787121681524435 x 2 2 - 127406674641587543009272995476087512802268222 x y + 3192879494457119404850695666719 x y 3 / 12 11 - 15189993343329640 y ) / (253478654715 x - 137084693765806575507400 x / 10 9 9 + 203417798364626416832850344593860 x - 4118151952 x y - 96239648083809150010913033623377682200 x 8 8 - 759778372071303754950 x y + 3058910950470812814047813199713362691943090 x 7 6 2 7 - 43571071535692394606133620520 x y + 13760118 x y - 18092789927737821182056441044508116069440220600 x 6 5 2 - 8404301787407188239622580058566900 x y - 275308056096044400 x y 6 5 + 41049254434145018616448576225622739809215046094180 x - 83363460114915432241693585152047846280 x y 4 2 3 3 5 + 469227730981466500898415 x y - 14928 x y - 39637845027959039755310578959184888254539547833453800 x 4 3 2 2 3 - 79969506225636806920235806016980404934710 x y - 2688793359746861239973820720 x y - 3321705219976 x y 4 3 + 13558643507604809056519980286886385952952437053025066155 x - 4172964570493277840434817259656311104108112 x y 2 2 3 4 + 157970012654602466736988505958 x y - 1657090182908688 x y + 5 y ) 1 zq[4] := ---- - 2/q + O(q) 4 q PoleOrder := 3 12 11 10 9 z[3] := 12 + x (1774373 x - 4037835332632538932 x + 209747693299165584779654636572 x - 7428 x y 9 8 8 - 435144816088835966961366621157282040 x - 10822430111005656 x y + 24305771225155636906139283564996087735726 x 7 6 2 7 - 38152671463668983647893368 x y + 5 x y - 212492050471663088783401134195012099098897328 x 6 5 2 - 39483286970588916125506081807814 x y + 32713554684954 x y 6 5 + 743125368479300034953449775222689690217809278140 x - 792617860741098723273778871455473724 x y 4 2 5 - 47548126343312230383 x y - 1246877621240401386501177882426554668531475815059496 x 4 3 2 2 3 + 604891988080948817615278130854367633924 x y - 42444363576412500717276108 x y + 4587497200 x y 4 3 + 1000117265993904129533154447781203954617532982814911189 x + 2107347763977466127051284618016359675344456 x y 2 2 3 + 136985619704415867434711254395 x y + 490669193480048 x y 3 - 307610990885953607374068886093134941568108797002137518204 x 2 2 3 + 63175936078222464958799274663587519559342090 x y - 1303848513227356711051385240534 x y + 5696247503748615 y ) / 12 11 10 9 / (253478654715 x - 137084693765806575507400 x + 203417798364626416832850344593860 x - 4118151952 x y / 9 8 - 96239648083809150010913033623377682200 x - 759778372071303754950 x y 8 7 6 2 + 3058910950470812814047813199713362691943090 x - 43571071535692394606133620520 x y + 13760118 x y 7 6 - 18092789927737821182056441044508116069440220600 x - 8404301787407188239622580058566900 x y 5 2 6 - 275308056096044400 x y + 41049254434145018616448576225622739809215046094180 x 5 4 2 3 3 - 83363460114915432241693585152047846280 x y + 469227730981466500898415 x y - 14928 x y 5 4 - 39637845027959039755310578959184888254539547833453800 x - 79969506225636806920235806016980404934710 x y 3 2 2 3 - 2688793359746861239973820720 x y - 3321705219976 x y 4 3 + 13558643507604809056519980286886385952952437053025066155 x - 4172964570493277840434817259656311104108112 x y 2 2 3 4 + 157970012654602466736988505958 x y - 1657090182908688 x y + 5 y ) 1 zq[3] := ---- + 1/q + O(q) 3 q PoleOrder := 2 memory used=868.0MB, alloc=152.8MB, time=2.94 12 11 10 9 z[2] := 12 - x (3698 x - 17962862780341985 x + 2335413387380492795713624848 x - 5 x y 9 8 8 - 32518029001036238374023601385136252 x + 97635145199845 x y + 1691518132642007711639452791188936928948 x 7 7 + 1175919673458067162689361 x y + 17521980733389232362711383129083918084296186 x 6 5 2 6 - 1067106954358176524296407894595 x y + 47474486488 x y - 176756013444770832417943934138031073736784003232 x 5 4 2 - 217463192924281536414342522513693795 x y - 96366764068960001331 x y 5 4 + 463532431442422309266931428521834276489706334331524 x - 1649060403733219469415696935166467912433 x y 3 2 2 3 4 + 18394049370113693855394684 x y - 111800249 x y - 469129660129594040973286880701961160257555883889994262 x 3 2 2 3 - 1103952416256693207111335306988431530044089 x y - 40192748114501072954744166759 x y - 76679387116915 x y 3 + 158794606690363854638567769126157699381461139408026034527 x 2 2 3 - 24391372360336808407124338074674613087416801 x y + 456466161394952120962230847463 x y - 1898749167916205 y ) / 12 11 10 9 / (253478654715 x - 137084693765806575507400 x + 203417798364626416832850344593860 x - 4118151952 x y / 9 8 - 96239648083809150010913033623377682200 x - 759778372071303754950 x y 8 7 6 2 + 3058910950470812814047813199713362691943090 x - 43571071535692394606133620520 x y + 13760118 x y 7 6 - 18092789927737821182056441044508116069440220600 x - 8404301787407188239622580058566900 x y 5 2 6 - 275308056096044400 x y + 41049254434145018616448576225622739809215046094180 x 5 4 2 3 3 - 83363460114915432241693585152047846280 x y + 469227730981466500898415 x y - 14928 x y 5 4 - 39637845027959039755310578959184888254539547833453800 x - 79969506225636806920235806016980404934710 x y 3 2 2 3 - 2688793359746861239973820720 x y - 3321705219976 x y 4 3 + 13558643507604809056519980286886385952952437053025066155 x - 4172964570493277840434817259656311104108112 x y 2 2 3 4 + 157970012654602466736988505958 x y - 1657090182908688 x y + 5 y ) 1 zq[2] := ---- + 2/q + O(q) 2 q PoleOrder := 0 z[0] := 1 zq[0] := 1 + O(q) # Let H be an Ansatz for the expression of h in terms of z[2] and z[3]: > H := c1 * z2^2 + c2 * z3 + c3 * z2 + c4; 2 H := c1 z2 + c2 z3 + c3 z2 + c4 > IsZero := subs(z2=z[2], z3=z[3], x=t,y=f, h-H): > 'h' = eval(H, SolveCoeffsZero(IsZero, q, 40)); 2 h = 11 z2 + 704 z2 + 121 z3 + 3157 # Compute the algebraic relation between z[2] and z[3] using an Ansatz: > H := z3^2 + c1 * z3 + c2 * z2*z3 + c3 * z2^3 + c4 * z2^2 + c5 * z2 + c6: > IsZero := subs(z2=z[2], z3=z[3], x=t, y=f, H): > sort( eval(H,SolveCoeffsZero(IsZero, q, 40)), z3) = 0; 2 3 2 z3 + 6 z2 z3 + 25 z3 - z2 - 2 z2 + 45 z2 + 168 = 0 > ifactor(j_invariant(lhs(%), z2, z3)); 12 3 (2) (31) - ------------- 5 (11) > quit memory used=885.0MB, alloc=152.8MB, time=2.98