QEtaModularLambdaAuxiliaryPackageΒΆ

qetamodlambdatool.spad line 91 [edit on github]

QEtaModularLambdaAuxiliaryPackage provides functions for working with the modular lambda function.

computeReducedCusps: 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)

computeReducedCusps(cmats) removes entries that have an equivalent entry. Earlier entries survive.

cuspDeltaMatrices: (PositiveInteger, PositiveInteger, Cusp) -> Record(fdelta: PositiveInteger, fgamma: Matrix Integer, fred: Matrix Integer, ftriang: Matrix Integer)

cuspDeltaMatrices(delta,nn,x) returns cuspDeltaMatrices(delta,nn,cuspToMatrix(x)$GAMMAN(nn)).

cuspDeltaMatrices: (PositiveInteger, PositiveInteger, Matrix Integer) -> Record(fdelta: PositiveInteger, fgamma: Matrix Integer, fred: Matrix Integer, ftriang: Matrix Integer)

cuspDeltaMatrices(delta,nn,gamma) returns a record of 3 matrices, namely gamma and splitMatrix(gamma,delta)$QETAAUX, i.e. the respective matrix $bargamma$ and $T=\mt{u}{v}{0}{w}$ such that the expansion $f(deltagammatau)$ is $f(bargammabartau)$ where $bartau=frac{utau+v}{w}$. From the possible different options to select the entries $(1,2)$ and $(2,2)$ of $bargamma$, we prefer one that gives $v=0$.

equivalentCuspsByMatrices?: (Record(fdelta: PositiveInteger, fgamma: Matrix Integer, fred: Matrix Integer, ftriang: Matrix Integer), Record(fdelta: PositiveInteger, fgamma: Matrix Integer, fred: Matrix Integer, ftriang: Matrix Integer)) -> Boolean

Let $h$ be a modular function for $ $Gamma(2N)$ such that $h(t)=r(lambda(t))$ for some rational function $r$ and the modular lambda function $lambda$. If for two cusps $x$ and $y$ we have $gamma_x equiv gamma_y pmod{2}$ and $bargamma_x equiv bargamma_y pmod{2}$ (the first two entries in the CUSPDELTAMATRICES record and the third (triangular) matrix is equal, then we can conclude by the transformation formula for the modular lambda function that the $q$-expansion of $h(gamma_xtau)=h(gamma_ytau)$ and $h(deltagamma_xtau)=h(deltagamma_ytau)$. So it is enough to only consider one of these cusps. Since further down, also the Jacobi theta functions are involved, we would require then even more conditions. Namely, that $S_3(gamma_x)=S_3(gamma_y)$ and $S_3(bargamma_x)=S_3(bargamma_y)$. Those equalities, however, are superfluous, since they follow immeditately from the conditions above and the definition of $S_3$ at https://fungrim.org/entry/9bda2f/.

hasEquivalentCuspByMatrices?: (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)) -> Boolean

Check whether the cusp has an equivalent counterpart, i.e. whether the expansions of $h$ (and $H/F$) has the same expansion at both cusps.