Supplement to:
“The Localization Method Applied to k-Elongated Plane Partitions and Divisibility by 5” 
Koustav Banerjee, Nicolas Allen Smoot
Research Institute for Symbolic Computation
(RISC), Johannes Kepler University (JKU), Linz

Fundamental Relations

We begin by listing our ten fundamental relations.

Here for

0 ≤ m ≤ 4,

U1xm = (Subscript[U, 5])(((x(τ))^m)),

and

U0xm = (Subscript[U, 5])(A(τ)×((x(τ))^m)).

For m=0 we will simply write U1 and U0.

U1=1;

U1x=41 x+860 (x^2)+6800 (x^3)+24000 (x^4)+32000 (x^5);

U1x2=86 x+10195 (x^2)+366600 (x^3)+6534800 (x^4)+68384000 (x^5)+450720000 (x^6)+1907200000 (x^7)+5056000000 (x^8)+7680000000 (x^9)+5120000000 (x^10);

U1x3=51 x+27495 (x^2)+2836265 (x^3)+128688900 (x^4)+3343692000 (x^5)+56283680000 (x^6)+656205600000 (x^7)+5502096000000 (x^8)+33821312000000 (x^9)+153192960000000 (x^10)+506956800000000 (x^11)+1195008000000000 (x^12)+1904640000000000 (x^13)+1843200000000000 (x^14)+819200000000000 (x^15);

U1x4=12 x+32674 (x^2)+8579260 (x^3)+831492275 (x^4)+42958434000 (x^5)+1396773180000 (x^6)+31314949600000 (x^7)+511802288800000 (x^8)+6319880448000000 (x^9)+60349364480000000 (x^10)+452174745600000000 (x^11)+2679038592000000000 (x^12)+12574269440000000000 (x^13)+46561935360000000000 (x^14)+134544588800000000000 (x^15)+297365504000000000000 (x^16)+485949440000000000000 (x^17)+553779200000000000000 (x^18)+393216000000000000000 (x^19)+131072000000000000000 (x^20);

U0=(1/((1+5 x)^6))(5705 (x^2)+6840120 (x^3)+2034152125 (x^4)+280484938650 (x^5)+22921365211325 (x^6)+1260917405154520 (x^7)+50400843190048480 (x^8)+1539115922208139200 (x^9)+37183654303328448000 (x^10)+728924483359472640000 (x^11)+11816089262411136000000 (x^12)+160681440628058880000000 (x^13)+1853291134193264640000000 (x^14)+18284160727362809856000000 (x^15)+155286793010086625280000000 (x^16)+1140657222505472000000000000 (x^17)+7269894420215070720000000000 (x^18)+40277647277404979200000000000 (x^19)+194099187864646451200000000000 (x^20)+813054581193729638400000000000 (x^21)+2954545150241538048000000000000 (x^22)+9282005730758492160000000000000 (x^23)+25080951875200614400000000000000 (x^24)+57872525958316032000000000000000 (x^25)+112916020309524480000000000000000 (x^26)+183812885074411520000000000000000 (x^27)+245082228994867200000000000000000 (x^28)+260725452832768000000000000000000 (x^29)+212837104353280000000000000000000 (x^30)+125198296678400000000000000000000 (x^31)+47244640256000000000000000000000 (x^32)+8589934592000000000000000000000 (x^33));

U0x=(1/((1+5 x)^6)) (1596 (x^2)+5311629 (x^3)+3020673965 (x^4)+693946917880 (x^5)+88012336687140 (x^6)+7203973630079449 (x^7)+417078090095103516 (x^8)+18123681491802321200 (x^9)+615843754566814808000 (x^10)+16857245810889643680000 (x^11)+380061235251469769600000 (x^12)+7179360858330987609600000 (x^13)+115153019537919900211200000 (x^14)+1584889574408762616832000000 (x^15)+18875287036126384148480000000 (x^16)+195815273618900539392000000000 (x^17)+1778815480050553692160000000000 (x^18)+14206927272980568637440000000000 (x^19)+100058873107538207703040000000000 (x^20)+622718357721614503116800000000000 (x^21)+3428656886761288105984000000000000 (x^22)+16707165479275661885440000000000000 (x^23)+72013094304097396326400000000000000 (x^24)+274190033219424878592000000000000000 (x^25)+920048921836076924928000000000000000 (x^26)+2711506126769477386240000000000000000 (x^27)+6985969318446812364800000000000000000 (x^28)+15637700398221885440000000000000000000 (x^29)+30166681246666588160000000000000000000 (x^30)+49621782059863244800000000000000000000 (x^31)+68625507039156633600000000000000000000 (x^32)+78284718944026624000000000000000000000 (x^33)+71718179952394240000000000000000000000 (x^34)+50720986785382400000000000000000000000 (x^35)+25993142075392000000000000000000000000 (x^36)+8589934592000000000000000000000000000 (x^37)+1374389534720000000000000000000000000 (x^38));

U0x2=(1/((1+5 x)^6)) (268 (x^2)+2847432 (x^3)+3155658820 (x^4)+1202043333790 (x^5)+233251365647870 (x^6)+27857600543181592 (x^7)+2282412359335489853 (x^8)+137474599581860685500 (x^9)+6382595114107468178000 (x^10)+236333942045815117200000 (x^11)+7159344666536530274720000 (x^12)+180943148092126406540160000 (x^13)+3874442157232846507737600000 (x^14)+71154385951639684561408000000 (x^15)+1131931871787660010234880000000 (x^16)+15724017231814160548864000000000 (x^17)+191993970181152296671232000000000 (x^18)+2071679521214318766489600000000000 (x^19)+19840725410941052260024320000000000 (x^20)+169240207863514163393331200000000000 (x^21)+1289257956753574377619456000000000000 (x^22)+8789154839425847410032640000000000000 (x^23)+53694599262146012197683200000000000000 (x^24)+294194062113759948701696000000000000000 (x^25)+1445922789195393074724864000000000000000 (x^26)+6372283630042655710248960000000000000000 (x^27)+25156363490877335666688000000000000000000 (x^28)+88814063288837761662976000000000000000000 (x^29)+279743502586000693002240000000000000000000 (x^30)+783588083068217747046400000000000000000000 (x^31)+1943797721585087728844800000000000000000000 (x^32)+4247467234308952948736000000000000000000000 (x^33)+8120384728408910725120000000000000000000000 (x^34)+13465927624462381875200000000000000000000000 (x^35)+19155038490681409536000000000000000000000000 (x^36)+23036102962346721280000000000000000000000000 (x^37)+22969782997939650560000000000000000000000000 (x^38)+18482412505792512000000000000000000000000000 (x^39)+11532502585835520000000000000000000000000000 (x^40)+5236424127283200000000000000000000000000000 (x^41)+1539316278886400000000000000000000000000000 (x^42)+219902325555200000000000000000000000000000 (x^43));

U0x3=(1/((1+5 x)^6)) (25 (x^2)+1083750 (x^3)+2419268600 (x^4)+1533044850875 (x^5)+451892277223875 (x^6)+77776397020017600 (x^7)+8876969029993551625 (x^8)+727751880723215938525 (x^9)+45237746915792486076500 (x^10)+2216202089061921720156000 (x^11)+88063763926314004467152000 (x^12)+2901622367042821273526240000 (x^13)+80660306943461135362236800000 (x^14)+1918093917299266390588800000000 (x^15)+39459730054782721266716160000000 (x^16)+708795736244147980459443200000000 (x^17)+11201811678733852133717299200000000 (x^18)+156752971920695775627182080000000000 (x^19)+1952565980789217283863347200000000000 (x^20)+21745861234519182941633740800000000000 (x^21)+217330181296111203156344832000000000000 (x^22)+1954986367634769250929868800000000000000 (x^23)+15867347909658771160720998400000000000000 (x^24)+116421209420849214282399744000000000000000 (x^25)+773301464019936672352829440000000000000000 (x^26)+4654578055099292525988413440000000000000000 (x^27)+25401759242372849348693196800000000000000000 (x^28)+125704489323417659460550656000000000000000000 (x^29)+563904329114669957135728640000000000000000000 (x^30)+2291384934896565019580825600000000000000000000 (x^31)+8423518909348688068345856000000000000000000000 (x^32)+27966210361515509645574144000000000000000000000 (x^33)+83658769333926385994956800000000000000000000000 (x^34)+224821089074620615622656000000000000000000000000 (x^35)+540741258958646666067968000000000000000000000000 (x^36)+1158650329533680577413120000000000000000000000000 (x^37)+2198994699321618726912000000000000000000000000000 (x^38)+3670226839781351882752000000000000000000000000000 (x^39)+5338951094289689477120000000000000000000000000000 (x^40)+6691954927703970283520000000000000000000000000000 (x^41)+7121217229055422627840000000000000000000000000000 (x^42)+6307992271770668236800000000000000000000000000000 (x^43)+4525788871530643456000000000000000000000000000000 (x^44)+2526853642489692160000000000000000000000000000000 (x^45)+1030022492900556800000000000000000000000000000000 (x^46)+272678883688448000000000000000000000000000000000 (x^47)+35184372088832000000000000000000000000000000000 (x^48));

U0x4=(1/((1+5 x)^6)) ((x^2)+296324 (x^3)+1400331440 (x^4)+1491537289180 (x^5)+666654357758190 (x^6)+164127484896644144 (x^7)+25818034832153226421 (x^8)+2843942677492333687050 (x^9)+233247182152327524438975 (x^10)+14876273050366789151536400 (x^11)+761935276117868629545420000 (x^12)+32118457754484194871176800000 (x^13)+1135956912571962510189130400000 (x^14)+34231269539693917027064800000000 (x^15)+889959895359737292913435520000000 (x^16)+20168696740441852125087521280000000 (x^17)+401853770227841145701015936000000000 (x^18)+7090293594621615513260024832000000000 (x^19)+111455620826575249212238069760000000000 (x^20)+1568967903706184088975184281600000000000 (x^21)+19865297696614393785791188992000000000000 (x^22)+227065713010913459721992798208000000000000 (x^23)+2350395554799549839893043609600000000000000 (x^24)+22090326137698781193612296192000000000000000 (x^25)+188920535524484098164060192768000000000000000 (x^26)+1472786798447713704939919769600000000000000000 (x^27)+10480689728875682601093981798400000000000000000 (x^28)+68152666405070998605987315712000000000000000000 (x^29)+405254490887530431856613785600000000000000000000 (x^30)+2204414239119153895179708006400000000000000000000 (x^31)+10970036975349264582008478105600000000000000000000 (x^32)+49929921460604339849107865600000000000000000000000 (x^33)+207727909385809764269938442240000000000000000000000 (x^34)+789224428145826945154469068800000000000000000000000 (x^35)+2734666462414638550878257152000000000000000000000000 (x^36)+8626866866620198090933534720000000000000000000000000 (x^37)+24722506007012126262789406720000000000000000000000000 (x^38)+64185847480498768484237312000000000000000000000000000 (x^39)+150467914734947763855818752000000000000000000000000000 (x^40)+317205685483135843705028608000000000000000000000000000 (x^41)+598387657370971073308262400000000000000000000000000000 (x^42)+1004032323013383412514816000000000000000000000000000000 (x^43)+1487355820084245534081024000000000000000000000000000000 (x^44)+1927442844590278705152000000000000000000000000000000000 (x^45)+2159710523624808618393600000000000000000000000000000000 (x^46)+2061307549285828316364800000000000000000000000000000000 (x^47)+1642771482986634280960000000000000000000000000000000000 (x^48)+1063549153298423480320000000000000000000000000000000000 (x^49)+537321656791806771200000000000000000000000000000000000 (x^50)+198721333557723136000000000000000000000000000000000000 (x^51)+47850746040811520000000000000000000000000000000000000 (x^52)+5629499534213120000000000000000000000000000000000000 (x^53));

Terms of the Modular Equations

We use the modular equations from our paper in order to build recurrence formulae for arbitrary powers of x.  We list the terms of each modular equation here.  Coefficients of (x^j) will be denoted aj, while coefficients of (z^k) will be denoted bk.

a0[x3_]:=-(x3+20 (x3^2)+150 (x3^3)+500 (x3^4)+625 (x3^5))

a1[x3_]:=-(15 x3+305 (x3^2)+2325 (x3^3)+7875 (x3^4)+10000 (x3^5))

a2[x3_]:=-(85 x3+1750 (x3^2)+13525 (x3^3)+46500 (x3^4)+60000 (x3^5))

a3[x3_]:=-(215 x3+4475 (x3^2)+35000 (x3^3)+122000 (x3^4)+160000 (x3^5))

a4[x3_]:=-(205 x3+4300 (x3^2)+34000 (x3^3)+120000 (x3^4)+160000 (x3^5))

(x^5)+(∑_(j=0)^4)aj(x(5τ))×(x^j)=0

b0[z3_]:=-(z3^5)

b1[z3_]:=1+5 z3+5 (z3^2)+5 (z3^3)+5 (z3^4)-16 (z3^5)

b2[z3_]:=-4-15 z3+10 (z3^2)+35 (z3^3)+60 (z3^4)-96 (z3^5)

b3[z3_]:=6+15 z3-35 (z3^2)+40 (z3^3)+240 (z3^4)-256 (z3^5)

b4[z3_]:=-4-5 z3+20 (z3^2)-80 (z3^3)+320 (z3^4)-256 (z3^5)

b5[z3_]:=1

If z(τ)=1+5x(τ), then (z^5)+(∑_(k=0)^4)bk(z(5τ))×(x^k)=0.

Extending the U-Operator for Arbitrary Powers of x

We now begin to build our recurrence formulae.  Starting with

(Subscript[U, 5])(((x(τ))^m)),

we quickly build tables to reference the 5 consecutive relations we already know, together with the modular equation for x.

U1v={U1,U1x,U1x2,U1x3,U1x4};

av={a0[x],a1[x],a2[x],a3[x],a4[x]};

We now build our recurrence.

U1X[m_]:=
If[
0≤m≤4,
U1v[[m+1]],
If[
m≥5,
-Sum[av[[j+1]] U1X[j+m-5],{j,0,4}],
0
]
]//Simplify//Expand

As an example:

(U1X[5]//Simplify)//Expand

Similarly for  (Subscript[U, 5])(A(τ)×((x(τ))^m)):

U0v={U0,U0x,U0x2,U0x3,U0x4};

U0X[m_]:=
If[
0≤m≤4,
U0v[[m+1]],
If[
m≥5,
-Sum[av[[j+1]] U0X[j+m-5],{j,0,4}],
0
]
]//Simplify//Expand

As an example:

(U0X[5]//Simplify)//Expand

Now we need recurrence formulae for

(Subscript[U, 5])((((1+5x(τ)))^m)),

(Subscript[U, 5])(A(τ)(((1+5x(τ)))^m)).


Again, we build a table to reference the modular equation for x.

bv={b1[1+5 x],b2[1+5 x],b3[1+5 x],b4[1+5 x],b5[1+5 x]};

We now build our recurrences.

U1Z[n_]:=
If[
n≥0,
Sum[
Binomial[n,k] 5^k U1X[k],
{k,0,n}
],
-Sum[bv[[j]] ((U1Z[n+j])/(b0[1+5 x])),{j,1,5}]
]//Simplify//Expand

U0Z[n_]:=
If[
n≥0,
Sum[
Binomial[n,k] 5^k U0X[k],
{k,0,n}
],
-Sum[bv[[j]] ((U0Z[n+j])/(b0[1+5 x])),{j,1,5}]
]//Simplify//Expand

We test it.

(U1Z[-1])//Simplify//Expand

(U0Z[-2])//Simplify//Expand

We now have enough to build our general formulae for

 (Subscript[U, 5])(((x^m)/(((1+5x))^n))), 

which we will denote by U1XoZ[m,n], and

(Subscript[U, 5])(A(τ)×((x^m)/(((1+5x))^n))),

which we will denote by U0XoZ[m,n].

U1XoZ[m_,n_]:=
If[
m==0,
U1Z[-n],
(1/(5^m)) Sum[(-1)^(m-l) Binomial[m,l] U1Z[l-n],{l,0,m}]
]//Simplify//Expand

U0XoZ[m_,n_]:=
If[
m==0,
U0Z[-n],
(1/(5^m)) Sum[(-1)^(m-l) Binomial[m,l] U0Z[l-n],{l,0,m}]
]//Simplify//Expand

We test them.

(U1XoZ[0,1]//Simplify)//Expand

(U1XoZ[0,2]//Simplify)//Expand

(U0XoZ[0,1]//Simplify)//Expand

(U0XoZ[0,2]//Simplify)//Expand

We can now start examining specific cases of

(Subscript[U, 5])(((x^m)/(((1+5x))^n))) 
 
 and
 
 (Subscript[U, 5])(A(τ)×((x^m)/(((1+5x))^n))).

Column[
Table[
{n,(U1XoZ[0,n]//Simplify)//Expand},
{n,0,6}
]
]

Column[
Table[
{n,(U0XoZ[0,n]//Simplify)//Expand},
{n,0,6}
]
]

We need to exclude the localizing factors and examine the 5-adic valuation of what is left.

zU1XoZ[m_,n_]:=
If[
n==0,
U1XoZ[m,0],
(1+5 x)^(5 n) U1XoZ[m,n]
]//Simplify//Expand

zU0XoZ[m_,n_]:=
If[
n==0,
(1+5 x)^6 U0XoZ[m,0],
(1+5 x)^(6+5 n) U0XoZ[m,n]
]//Simplify//Expand

Below is a table of examples.  Compare with the numerators in the tables above.

(Subscript[U, 5])(((x^m)/(((1+5x))^n)))

and

(Subscript[U, 5])(A(τ)×((x^m)/(((1+5x))^n))).

Column[
Table[
{n,(zU1XoZ[0,n]//Simplify)//Expand},
{n,0,6}
]
]

Column[
Table[
{n,(zU0XoZ[0,n]//Simplify)//Expand},
{n,0,6}
]
]

Now we define a function to examine the 5-adic valuation of each coefficient.

val15[m_,n_]:=
Module[
{zpU=zU1XoZ[m,n],C={},T={}},
C=CoefficientList[zpU,x];
T=Table[IntegerExponent[C[[r+1]],5],{r,0,Length[C]-1}];
T
]

val05[m_,n_]:=
Module[
{zpU=zU0XoZ[m,n],C={},T={}},
C=CoefficientList[zpU,x];
T=Table[IntegerExponent[C[[r+1]],5],{r,0,Length[C]-1}];
T
]

Here are a couple of tests:

Column[
Table[
{n,val15[1,n]},
{n,0,6}
]
]

Column[
Table[
{n,val05[3,n]},
{n,0,7}
]
]

Our Initial Cases

At last we are in the position to check our initial relations.
We build a function which will compare the 5-adic valuation of our normalizations of

(Subscript[U, 5])(((x^m)/(((1+5x))^n)))

and

(Subscript[U, 5])(A(τ)×((x^m)/(((1+5x))^n)))

with our predicted power of 5 from Theorem 5.3 in our paper.

First we define (Subscript[π, 1]) and (Subscript[π, 2]), which are the 5-adic valuation lower bounds which we predict:

pi1[m_,r_]:=
Floor[(5 r-m)/7]

pi0[m_,r_]:=
If[
5 r-m-33≤0,
0,
Floor[(5 r-m-33)/7]
]

Finally, we define the difference between the 5-adic valuations that we predict, and those which we actually observe:

val1C[m_]:=
{
m,
Column[
Table[
{n,val15[m,n]-Table[pi1[m,r],{r,0,Length[val15[m,n]]-1}]},
{n,1,5}
]
]
}

val0C[m_]:=
{
m,
Column[
Table[
{n,val05[m,n]-Table[pi0[m,r],{r,0,Length[val05[m,n]]-1}]},
{n,1,5}
]
]
}

We first examine our initial relations for

(Subscript[U, 5])(((x^m)/(((1+5x))^n))),

with

1 ≤ m ≤ 5,
1 ≤ n ≤ 5.

If the difference is always nonnegative, then we have successfully verified the base case.

Column[
Table[
val1C[m],
{m,1,5}
]
]

Now we examine the initial relations we need for

(Subscript[U, 5])(A(τ)×((x^m)/(((1+5x))^n))),

with

1 ≤ m ≤ 5,
1 ≤ n ≤ 5.

Column[
Table[
val0C[m],
{m,1,5}
]
]

We have successfully established the initial cases of our induction.

Supplements to Theorems 5.3, 5.5

We provide some small additional computations.

In the proof of Theorem 5.3 we expand a certain polynomial of the form

-aj(x(τ))×bk(z(τ))×(1+5((x))^(5k))

We define

wjk[j_,k_]:=-av[[j+1]] bv[[k]] (1+5 x)^(5 k)

Cwjk[j_,k_]:=CoefficientList[wjk[j,k],x]

To check our 5-adic valuations, we give the following table.  We only need each value to be nonnegative.

For k=1 we have

Table[
Column[
Table[
IntegerExponent[Cwjk[j,1][[l]],5]-Floor[(5 (l-1)+j+1)/7],
{l,1,Length[Cwjk[j,1]]}
]
],
{j,0,4}
]

For k=2 we have

Table[
Column[
Table[
IntegerExponent[Cwjk[j,2][[l]],5]-Floor[(5 (l-1)+j+1)/7],
{l,1,Length[Cwjk[j,2]]}
]
],
{j,0,4}
]

For k=3 we have

Table[
Column[
Table[
IntegerExponent[Cwjk[j,3][[l]],5]-Floor[(5 (l-1)+j+1)/7],
{l,1,Length[Cwjk[j,3]]}
]
],
{j,0,4}
]

Table[
Column[
Table[
IntegerExponent[Cwjk[j,4][[l]],5]-Floor[(5 (l-1)+j+1)/7],
{l,1,Length[Cwjk[j,4]]}
]
],
{j,0,4}
]

Table[
Column[
Table[
IntegerExponent[Cwjk[j,5][[l]],5]-Floor[(5 (l-1)+j+1)/7],
{l,1,Length[Cwjk[j,5]]}
]
],
{j,0,4}
]

Similarly, in the proof of Theorem 5.5 we expand a certain polynomial of the form

bj(x(τ))×(1+5((x))^(5(k-1)))

wk[k_]:=bv[[k]] (1+5 x)^(5 (k-1))

Cwk[k_]:=CoefficientList[wk[k],x]

phi[l_]:=
Floor[(5 l+13)/7]

To check our 5-adic valuations, we give the following table.

Table[
Column[
Table[
IntegerExponent[Cwk[k][[l]],5]-phi[l-1],
{l,1,Length[Cwk[k]]}
]
],
{k,1,5}
]

We get a single negative value, corresponding to k=5, l-1=0 (the constant term).  Multiplying this out, we get

wk[5]//Expand

This verifies that the only term failing this valuation is the constant term 1, which we use to our advantage.

Coefficient Congruences

We are satisfied that the lower bounds for our 5-adic valuations are correct.  We can now compute the coefficients with these powers of 5 removed.

h1[m_,n_,r_]:=
Coefficient[zU1XoZ[m,n]//Simplify//Expand,x,r]/(5^(pi1[m,r]))

h0[m_,n_,r_]:=
Coefficient[zU0XoZ[m,n]//Simplify//Expand,x,r]/(5^(pi0[m,r]))

We want to prove the congruences of Corollary 5.6.

By Theorem 5.5, 

(Subscript[h, i])(m,n,r)≡ (Subscript[h, i])(m,n+5,r) mod 5.  

Therefore, it suffices to check the congruences of (Subscript[h, i])(m,n,r) for the given m, r in the theorem, and for 1≤n≤5.

Column[
Table[
{Mod[h1[m,1,1],5],Mod[h1[m,2,1],5],Mod[h1[m,3,1],5],Mod[h1[m,4,1],5],Mod[h1[m,5,1],5]},
{m,2,5}
]
]

Column[
Table[
{Mod[h1[m,1,2],5],Mod[h1[m,2,2],5],Mod[h1[m,3,2],5],Mod[h1[m,4,2],5],Mod[h1[m,5,2],5]},
{m,4,8}
]
]

Computations to Demonstrate Stability in Theorem 6.3.

Here we provide some important valuation computations in order to validate our principal on the stability of Ω.

We define our 5-adic bounds for each space.

Theta1[m_]:=
If[
5 m-37≤0,
0,
Floor[(5 m-37)/7]
]

Theta0[m_]:=
If[
5 m-15≤0,
0,
Floor[(5 m-15)/7]
]

Next, we define the function (OverHat[t]).

ht[w_]:=
Sum[
Sum[
If[
Theta1[m]+pi1[m,r]+pi0[r,w]-Theta1[w]-1≥0,
0,
s[m] h1[m,1,r] h0[r,5,w] 5^(Theta1[m]+pi1[m,r]+pi0[r,w]-Theta1[w]-1)
],
{m,2,5 r}
],
{r,1,5 w-6}
]

We compute (OverHat[t])(w) for w=2,3,4,5,6,7,8.

ht[2]

ht[3]

ht[4]

ht[5]

ht[6]

ht[7]

ht[8]

To verify that (OverHat[t])(w) is an integer for w=2,3,7,8, we define the ideal I:

Ideal={s[2]+s[3]+2 s[4]+s[5],4 s[4]+s[6]+s[7]+s[8]};

We now check that the numerators of (OverHat[t])(w) are divisible by 5 for w=2,3,7,8,:

PolynomialReduce[
5 ht[2]//Expand,
Ideal,
Table[s[m],{m,2,8}],
Modulus->5
]

PolynomialReduce[
5 ht[3]//Expand,
Ideal,
Table[s[m],{m,2,8}],
Modulus->5
]

PolynomialReduce[
5 ht[7]//Expand,
Ideal,
Table[s[m],{m,2,8}],
Modulus->5
]

PolynomialReduce[
5 ht[8]//Expand,
Ideal,
Table[s[m],{m,2,8}],
Modulus->5
]

Finally, we check that the vector (Subscript[((OverHat[t])(w)), w⩾2]) is a member of the kernel of Ω:

ht[2]+ht[3]+2 ht[4]+ht[5]//Expand

PolynomialReduce[
%,
Ideal,
Table[s[m],{m,2,8}],
Modulus->5
]

4 ht[4]+ht[6]+ht[7]+ht[8]//Expand

PolynomialReduce[
%,
Ideal,
Table[s[m],{m,2,8}],
Modulus->5
]

Cusp Analysis Computations

We will provide the means of computing the orders, and then the principal parts, of the modular functions over the cusps of (Subscript[X, 0])(10) and (Subscript[X, 0])(50).

To begin with, we will list the matrices representing the cusps of each modular curve.  The computation of these is more intricate, and we refer the reader to Chapter 3 of Diamond for the details on how such a computation is made.

The cusps of over (Subscript[X, 0])(10) may be represented with 1/10, 1/5, 1/2, 1/1; with 1/10 representing our cusp at infinity, and 1/1 representing our cusp at 0.

cusps10=
{
1/10,1/5,1/2,1/1
};

The cusps of over (Subscript[X, 0])(50) may be represented with 1/18, 1/9, 1/6, 1/3, 1/2, 2/3, 5/6, 1/1; with 1/18 representing our cusp at infinity, and 1/1 representing our cusp at 0.

cusps50=
{
1/50,1/25,1/10,1/5,3/10,2/5,1/2,3/5,7/10,4/5,9/10,1/1
};

We implement Ligozat’s formula to compute the order of an eta quotient at a cusp represented by a/c over (Subscript[X, 0])(N).  The vector s gives us the list of integer powers of η(δτ) present in our eta quotient, where δ is a divisor of N.  Here s is ordered by the size of δ.

etaCuspOrder[c_,N_,s_]:=
Sum[
(N/(24 c GCD[c,N/c])) s[[i]] ((GCD[Divisors[N][[i]],c]^2)/(Divisors[N][[i]])),
{i,1,Length[Divisors[N]]}
]

Aq=q^6 ((QPochhammer[q^2,q^2]^5 QPochhammer[q^(25),q^(25)]^(16))/(QPochhammer[q,q]^(16) QPochhammer[q^(50),q^(50)]^5))

Av={-16,5,0,0,16,-5};

Now we give x and z, as well as vector representations.  Here, xv is represented over the divisors of N=10, and xv1 is represented over the divisors of N=50;  zv and zv1 are defined similarly.

Also, xq5=x(5τ), and z5 is defined similarly.  Finally, xv5 and zv5 are the corresponding vector representations over the divisors of N=50

xq=((q QPochhammer[(q^2),(q^2)] ((QPochhammer[(q^10),(q^10)])^3))/(((QPochhammer[q,q])^3) QPochhammer[(q^5),(q^5)]));

xq5=((q^5 QPochhammer[(q^10),(q^10)] ((QPochhammer[(q^50),(q^50)])^3))/(((QPochhammer[(q^5),(q^5)])^3) QPochhammer[(q^25),(q^25)]));

xv={-3,1,-1,3};

xv1={-3,1,-1,3,0,0};

zq=((((QPochhammer[(q^2),(q^2)])^5) QPochhammer[(q^5),(q^5)])/(((QPochhammer[q,q])^5) QPochhammer[(q^10),(q^10)]));

zq5=((((QPochhammer[(q^10),(q^10)])^5) QPochhammer[(q^25),(q^25)])/(((QPochhammer[(q^5),(q^5)])^5) QPochhammer[(q^50),(q^50)]));

zv={-5,5,1,-1};

zv1={-5,5,1,-1,0,0};

xv5={0,0,-3,1,-1,3};

zv5={0,0,-5,5,1,-1};

We compute the orders of Aq, xq1, xq5, and zq5 at the cusps for N=50

Column[
Table[
{
cusps50[[k]],
etaCuspOrder[Denominator[cusps50[[k]]],50,Av]
},
{k,1,Length[cusps50]}
]
]

Column[
Table[
{
cusps50[[k]],
etaCuspOrder[Denominator[cusps50[[k]]],50,xv1]
},
{k,1,Length[cusps50]}
]
]

Column[
Table[
{
cusps50[[k]],
etaCuspOrder[Denominator[cusps50[[k]]],50,xv5],
etaCuspOrder[Denominator[cusps50[[k]]],50,zv5]
},
{k,1,Length[cusps50]}
]
]

We compute the orders of  ((x(τ))^l)/((x(5τ))^20) at the cusps for N=50, for l=0,1,2,3,4.  This ensures that these are modular functions with a pole only at the cusp at infinity for N=50.

Column[
Table[
{
cusps50[[k]],
etaCuspOrder[Denominator[cusps50[[k]]],50,-20 xv5],
etaCuspOrder[Denominator[cusps50[[k]]],50,-20 xv5+xv1],
etaCuspOrder[Denominator[cusps50[[k]]],50,-20 xv5+2 xv1],
etaCuspOrder[Denominator[cusps50[[k]]],50,-20 xv5+3 xv1],
etaCuspOrder[Denominator[cusps50[[k]]],50,-20 xv5+4 xv1]
},
{k,1,Length[cusps50]}
]
]

We compute the orders of  A(τ)((x(τ))^l)z(5τ)/((x(5τ))^53) at the cusps for N=50, for l=0,1,2,3,4.  This ensures that these are modular functions with a pole only at the cusp at infinity for N=50.

Column[
Table[
{
cusps50[[k]],
etaCuspOrder[Denominator[cusps50[[k]]],50,Av-53 xv5+6 zv5],
etaCuspOrder[Denominator[cusps50[[k]]],50,Av-53 xv5+6 zv5+xv1],
etaCuspOrder[Denominator[cusps50[[k]]],50,Av-53 xv5+6 zv5+2 xv1],
etaCuspOrder[Denominator[cusps50[[k]]],50,Av-53 xv5+6 zv5+3 xv1],
etaCuspOrder[Denominator[cusps50[[k]]],50,Av-53 xv5+6 zv5+4 xv1]
},
{k,1,Length[cusps50]}
]
]

Now we know from Lemma 7.1 that for l=0,1,2,3,4, (Subscript[U, 5])(((x(τ))^l)/((x(5τ))^20)) has a pole only at infinity for N=10.

We compute the principal parts and constants of (Subscript[U, 5])(((x(τ))^l)/((x(5τ))^20)), for l=0,1,2,3,4 and compare to the principal parts and constants of the right-hand sides of our fundamental relations (divided by ((x(τ))^20)).

For l=1:

xS=Series[xq,{q,0,500}];

U1xS=Sum[Coefficient[xS,q,5 n] q^n,{n,0,100}];

xn20U1xleft=Series[(1/xq^(20)) U1xS,{q,0,0}]

xn20U1xright=Series[(1/xq^(20)) U1x/.x->xq,{q,0,0}]

xn20U1xleft-xn20U1xright//Expand

For l=2:

x2S=Series[xq^2,{q,0,500}];

U1x2S=Sum[Coefficient[x2S,q,5 n] q^n,{n,0,100}];

xn20U1x2left=Series[(1/xq^(20)) U1x2S,{q,0,0}]

xn20U1x2right=Series[(1/xq^(20)) U1x2/.x->xq,{q,0,0}]

xn20U1x2left-xn20U1x2right//Expand

For l=3:

x3S=Series[xq^3,{q,0,500}];

U1x3S=Sum[Coefficient[x3S,q,5 n] q^n,{n,0,100}];

xn20U1x3left=Series[(1/xq^(20)) U1x3S,{q,0,0}]

xn20U1x3right=Series[(1/xq^(20)) U1x3/.x->xq,{q,0,0}]

xn20U1x3left-xn20U1x3right//Expand

For l=4:

x4S=Series[xq^4,{q,0,500}];

U1x4S=Sum[Coefficient[x4S,q,5 n] q^n,{n,0,100}];

xn20U1x4left=Series[(1/xq^(20)) U1x4S,{q,0,0}]

xn20U1x4right=Series[(1/xq^(20)) U1x4/.x->xq,{q,0,0}]

xn20U1x4left-xn20U1x4right//Expand

Now we compute the principal parts and constants of (Subscript[U, 5])(A(τ)((z(5τ))^6)((x(τ))^l)/((x(5τ))^53)) for l=0,1,2,3,4 and compare to the principal parts and constants of the right-hand sides of our fundamental relations (multiplied by z(τ) and divided by ((x(τ))^53)).

AS=Series[Aq,{q,0,500}];

For l=0:

U01S=Sum[Coefficient[AS,q,5 n] q^n,{n,0,100}];

zxn53U01left=Series[(zq^6/xq^(53)) U01S,{q,0,0}]

zxn53U01right=Series[(zq^6/xq^(53)) (U0)/.x->xq,{q,0,0}]

zxn53U01left-zxn53U01right//Expand

For l=1:

AxS=Series[Aq xq,{q,0,500}];

U0xS=Sum[Coefficient[AxS,q,5 n] q^n,{n,0,100}];

zxn53U0xleft=Series[(zq^6/xq^(53)) U0xS,{q,0,0}]

zxn53U0xright=Series[(zq^6/xq^(53)) (U0x)/.x->xq,{q,0,0}]

zxn53U0xleft-zxn53U0xright//Expand

For l=2:

Ax2S=Series[Aq xq^2,{q,0,500}];

U0x2S=Sum[Coefficient[Ax2S,q,5 n] q^n,{n,0,100}];

zxn53U0x2left=Series[(zq^6/xq^(53)) U0x2S,{q,0,0}]

zxn53U0x2right=Series[(zq^6/xq^(53)) (U0x2)/.x->xq,{q,0,0}]

zxn53U0x2left-zxn53U0x2right//Expand

For l=3:

Ax3S=Series[Aq xq^3,{q,0,500}];

U0x3S=Sum[Coefficient[Ax3S,q,5 n] q^n,{n,0,100}];

zxn53U0x3left=Series[(zq^6/xq^(53)) U0x3S,{q,0,0}]

zxn53U0x3right=Series[(zq^6/xq^(53)) (U0x3)/.x->xq,{q,0,0}]

zxn53U0x3left-zxn53U0x3right//Expand

For l=4:

Ax4S=Series[Aq xq^4,{q,0,500}];

U0x4S=Sum[Coefficient[Ax4S,q,5 n] q^n,{n,0,100}];

zxn53U0x4left=Series[(zq^6/xq^(53)) U0x4S,{q,0,0}]

zxn53U0x4right=Series[(zq^6/xq^(53)) (U0x4)/.x->xq,{q,0,0}]

zxn53U0x4left-zxn53U0x4right//Expand