Supplement (II) to:
“An Implementation of Radu’s Ramanujan--Kolberg Algorithm”
Nicolas Allen Smoot
Research Institute for Symbolic Computation
(RISC), Linz

Here we will provide the computation of the overpartition identities from Sections 3.51-3.52.  These identities are interesting, but they are generally more difficult and time-consuming to compute.  All computations below were done with an HP EliteBook 2.6 GHz Intel Processor.

Begin with the program RaduRK

<< 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) 2020, Nicolas Allen Smoot <nicolas.smoot@risc.jku.at>
Research Institute for Symbolic Computation
Johannes Kepler Universität, Linz

Next, establish the two key variables q and t.

SetVar1[q]

SetVar2[t]

For each case we work over a modular curve (Subscript[X, 0])(N), with N a whole number.

Take an arithmetic function defined by a generating function which can be constructed with an integer M and an integer-valued vector r indexed over the divisors of M.

Finally, take the linear progression mn+j, as n goes over the nonnegative integers.

Section 3.5.1

Identities on the Progressions 80n+j

Background

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:

minN[2,{-2,1},80,8]

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 allows us to construct an algebra basis by inspection:

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))}};

j=8, 72

From here we use RKMan for 80n+8, 72.  Be careful---this computation takes a little time!  Recorded time is approximately 1.5 hours.

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

j=52, 68

Similarly, we use RKMan for 80n+52, 68.  Again, be careful---this computation takes a little time!  Recorded time is approximately 1.5 hours.

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

Identities on the Progressions 135n+j

Next, we consider 135n+63, 117, using similar methods.  We see that (Subscript[X, 0])(30) is the curve we must work over:

minN[2,{-2,1},135,63]

G30=etaGenerators[30];

We find the following basis, as described in the main paper:

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

Now we use RKMan for 135n+63, 117.  Be careful---this computation takes a lot of time!  Recorded time is approximately 9 hours!

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

Section 3.5.2

We now compute the necessary identity to confirm Xia’s Conjecture.  We see that (Subscript[X, 0])(24) is the curve we must work over:

minN[2,{-2,1},96,76]

Recorded time is approximately 30 minutes.

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

FactorInteger[1944]