<< RaduRK`

math4ti2: Mathematica interface to 4ti2 (http://www.4ti2.de/)
Copyright (C) 2017, Ralf Hemmecke <ralf@hemmecke.org>
Copyright (C) 2017, Silviu Radu <sradu@risc.jku.at>

RaduRK: Ramanujan--Kolberg Program
Copyright (C) 2019, Nicolas Allen Smoot <nsmoot@risc.uni-linz.ac.at>
Research Institute for Symbolic Computation
Johannes Kepler Universität, Linz

SetVar1[q]

SetVar2[t]

We now give some additional applications of our software to overpartition identities.  Consider first, (OverBar[p])(80n+j), with j=8, 72, 52, 68.  We see that (Subscript[X, 0])(40) is the curve we must work over:

Column[
DeleteCases[
Table[
If[
Delta[l,2,{-2,1},80,8]==True,
l,
-1
],
{l,2,40}
],-1]
]

The genus of (Subscript[X, 0])(40) is 3.  This means we need to find a basis of functions with orders 4, 5, 6, 7.  This can be done by examining etaGenerators[40]:

G40=etaGenerators[40];

Column[
Table[
{
k,TraditionalForm[G40[[k]]],
Series[
G40[[k]],
{q,0,1}
]
},
{k,1,18}
]
]

This gives us enough to construct an algebra basis:

Ab40={((((QPochhammer[(q^4),(q^4)])^3) QPochhammer[(q^20),(q^20)])/((q^4) QPochhammer[(q^8),(q^8)] ((QPochhammer[(q^40),(q^40)])^3))),{1,(((QPochhammer[(q^2),(q^2)])^3) QPochhammer[(q^5),(q^5)] ((QPochhammer[(q^20),(q^20)])^2))/((q^5) QPochhammer[q,q] QPochhammer[(q^10),(q^10)] ((QPochhammer[(q^40),(q^40)])^4)),(((QPochhammer[(q^2),(q^2)])^6) ((QPochhammer[(q^5),(q^5)])^2) QPochhammer[(q^8),(q^8)] ((QPochhammer[(q^20),(q^20)])^3))/((q^6) ((QPochhammer[q,q])^2) ((QPochhammer[(q^4),(q^4)])^3) ((QPochhammer[(q^10),(q^10)])^2) ((QPochhammer[(q^40),(q^40)])^5)),(((QPochhammer[q,q])^2) ((QPochhammer[(q^5),(q^5)])^2) ((QPochhammer[(q^8),(q^8)])^2) ((QPochhammer[(q^20),(q^20)])^3))/((q^7) QPochhammer[(q^2),(q^2)] QPochhammer[(q^4),(q^4)] QPochhammer[(q^10),(q^10)] ((QPochhammer[(q^40),(q^40)])^6))}};

From here we use RKDeltaMan for 80n+8, 72.  Be careful---this computation takes a little time!

Timing[
RKDeltaMan[40,2,{-2,1},80,8,Ab40]
]

Similarly, we use RKDeltaMan for 80n+52, 68.  Be careful---this computation takes a little time!

Timing[
RKDeltaMan[40,2,{-2,1},80,52,Ab40]
]

Next, we consider 135n+63, 117, using similar methods.

Column[
DeleteCases[
Table[
If[
Delta[l,2,{-2,1},135,63]==False,
0,
{l,Delta[l,2,{-2,1},135,63]}
],
{l,1,31}
],0]
]

G30=etaGenerators[30];

We establish an algebra basis for Gamma_0(30) as we did for Gamma_0(40).  We find the following basis:

Ab30={G30[[1]],{1,G30[[4]]-G30[[3]],G30[[2]],G30[[6]]}}

Now we use RKDeltaMan for 135n+63, 117.  Be careful---this computation takes a little time!

Timing[
RKDeltaMan[30,2,{-2,1},135,63,Ab30]
]

Let us do one last example.  In 2015 Xia conjectured that (OverBar[p])(96n+76) ≡ 0 (mod (3^5)).  We prove this congruence, along with the optimal congruence for powers of 2.

Column[
DeleteCases[
Table[
If[
Delta[l,2,{-2,1},96,76]==True,
l,
-1
],
{l,2,25}
],
-1
]
]

Now we use RKDelta for 96n+76.  Be careful---this computation takes a little time!

Timing[
RKDelta[24,2,{-2,1},96,76]
]