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, namelygammaand 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.