QEtaSambaPackage(F, AB, Y)

qetasamba.spad line 688 [edit on github]

QEtaSambaPackage implements the algorithm Samba from an article of Ralf Hemmecke: “Dancing Samba with Ramanujan Partition Congruences” (Journal of Symbolic Computation). doi:10.1016/j.jsc.2017.02.001 http://www.risc.jku.at/publications/download/risc_5338/DancingSambaRamanujan.pdf

samba: (List F, Integer) -> AB

samba(m, g) returns samba(m,g,oneStep!).

samba: (List F, Integer, Y -> Y) -> AB

samba(m, g, oneStep!) returns algebraBasis(sambaComputation(m,g,oneStep!)).

samba: (List F, Y -> Y) -> AB

samba(m, oneStep!) returns samba(m,-1,oneStep!).

samba: List F -> AB

samba(m) returns samba(m,-1).

sambaComputation: (List F, Integer) -> Y

sambaComputation(m,g) returns sambaComputation(m,g,oneStep!).

sambaComputation: (List F, Integer, Y -> Y) -> Y

sambaComputation(m,g,oneStep!) repeats oneStep! as long as continue?(y) returns true and eventually returns the computation data object. If g is negative all critical elements will be checked, otherwise the computation is stopped if the number of gaps of the intermediate basis reaches this threshold. For computations with eta-quotients over $Gamma_0(N)$, g should be equalt to genus of the modular curve over this group, which can be computed by genus$CongruenceSubgroupGamma0(N).

sambaComputation: (List F, Y -> Y) -> Y

sambaComputation(m,oneStep!) returns sambaComputation(m,-1,oneStep!).

sambaComputation: List F -> Y

sambaComputation(m) returns sambaComputation(m,-1).