QEtaScalingCuspReduction(C, xiord, CX, xi, G)ΒΆ

qetascal.spad line 86 [edit on github]

QEtaScalingCuspReduction provides functions to reduce the number of cusps for a multisamba computation.

functionExpansionPair: ((Record(fdelta: PositiveInteger, fgamma: Matrix Integer, fred: Matrix Integer, ftriang: Matrix Integer), Fraction Integer) -> QEtaLaurentSeries CX, (Record(fdelta: PositiveInteger, fgamma: Matrix Integer, fred: Matrix Integer, ftriang: Matrix Integer), Fraction Integer) -> QEtaLaurentSeries CX, List Record(fdelta: PositiveInteger, fgamma: Matrix Integer, fred: Matrix Integer, ftriang: Matrix Integer), PositiveInteger) -> List XHashTable(Matrix Integer, QEtaLaurentSeries CX)

functionExpansionPair(fa,fb,cmats,nterms) returns an expansion of fa and fb at the cusps (given by cmats, where the delta factor is supposed to be build into the cmats datastructure). The result comes as a triple [ws,hta,htb] where hta and htb correspond to the actual expansions and ws represents values w so that the expansion of hta.cusp and htb.cusp is given as an expansion in q^(1/w). Note that w need not be the width of the cusp.

reduceCuspsByScaling: ((Record(fdelta: PositiveInteger, fgamma: Matrix Integer, fred: Matrix Integer, ftriang: Matrix Integer), Fraction Integer) -> QEtaLaurentSeries CX, (Record(fdelta: PositiveInteger, fgamma: Matrix Integer, fred: Matrix Integer, ftriang: Matrix Integer), Fraction Integer) -> QEtaLaurentSeries CX, List Record(fdelta: PositiveInteger, fgamma: Matrix Integer, fred: Matrix Integer, ftriang: Matrix Integer)) -> List Record(fdelta: PositiveInteger, fgamma: Matrix Integer, fred: Matrix Integer, ftriang: Matrix Integer)

reduceCuspsByScaling(fa,fb,cmats) removes all the cusps from cmats that lead to scaling equivalent series expansion of fa and fb. Earlier entries survive. cmats should be (a subset of) the cusps of the congruence subgroup G. We expand at a cusp in terms of q^(1/w) (where w is the width of a cusp in G).