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, namelygamma
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{u
tau+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.