QEtaModularGamma0¶
qetamod.spad line 332 [edit on github]
QEtaModularGamma0
provides functions to check modularity for Gamma0
. TODO: conditionCoEtaQuotient?(nn
,rspec,m
,t
) returns true
iff all the conditions for the parameters are fulfilled. This checks whether (nn
,rspec,m
,t
) is in Delta^* as defined in Definition~ref{def:condition-co-eta-quotient-gamma0
} in qeta.tex and in Definition 35 of cite{Radu_RamanujanKolberg_2015
} candidateLevelsCoEtaQuotient(rspec,m
,t
) returns an ascendingly sorted list of the nn
up to 24*m*level(rspec) such that conditionCoEtaQuotient?(nn
,rspec,m
,t
) is true
, i.e. that (nn
,rspec,m
,t
) is an element of Delta^* as defined in Definition~ref{def:condition-co-eta-quotient-gamma0
}. matrixEtaOrderElement(nn
,cusp,idx)=a_nn(c
,delta)/24
where a_nn(di
,dj
) given by Notation 3.2.6 in cite{Ligozat_CourbesModulaires_1975
} where di
and dj
run over all positive divisors of nn
. The Ligozat matrix is A_N as described after Lemma 5.2 in cite{HemmeckeRadu_EtaRelations_2019
}. The parameter idx corresponds to the index of a pure eta-quotient, i.e. it is of the form idx=[delta] with delta a divisor of nn
. We assume that cusp=(a:c). matrixModular(nn
,idxs) returns part of the matrix matrixModular(nn
) corresponding to the divisors that are given through idxs (i.e. the order of the columns corresponds to what is given through idxs). Irrelevant rows in the rows specifying the square condition are removed. nn
represents the level of $Gamma_0(nn
)$ and idxs has the form [[d1
],…,[dn
]] where the di
are (different) divisors of nn
. See description for matrixModular(nn
) for more information. minimalLevelCoEtaQuotient(rspec,m
,t
) returns the smallest nn
of candidateLevalsCoEtaQuotient(rspec,m
,t
). Note that one might have to use a bigger nn
, because the level might still be too small to find a cofactor an example is for rspec=[[1,-1
],[7,1]], m=9
, t=5
where this function returns 21, but one would have to use 42. modular?(sspec,rspec,m
,t
) returns true
iff all the conditions of Theorem~ref{thm:RaduConditions} are fulfilled. Compare with modularGamma0? from QEtaAuxiliaryPackage.
- candidateLevelsCoEtaQuotient: (QEtaSpecification, PositiveInteger, NonNegativeInteger) -> List PositiveInteger
from QEtaModularCategory
- conditionCoEtaQuotient?: (PositiveInteger, QEtaSpecification, PositiveInteger, NonNegativeInteger) -> Boolean
from QEtaModularCategory
- cusps: PositiveInteger -> List Cusp
from QEtaModularCategory
- cuspToMatrix: (PositiveInteger, Cusp) -> Matrix Integer
from QEtaModularCategory
- etaCofactorSpace: (PositiveInteger, QEtaSpecification, PositiveInteger, NonNegativeInteger, List List Integer) -> Record(indices: List List Integer, particular: Union(Vector Integer, failed), basis: List Vector Integer)
from QEtaModularCategory
- etaCofactorSpaceSystem: (PositiveInteger, QEtaSpecification, PositiveInteger, NonNegativeInteger, List List Integer) -> Record(qmat: Matrix Fraction Integer, zrels: Vector Integer, qrhs: Vector Fraction Integer)
from QEtaModularCategory
- etaQuotientMonoidSystem: (PositiveInteger, List Cusp, List List Integer) -> Record(qmat: Matrix Fraction Integer, zrels: Vector Integer, qrhs: Vector Fraction Integer)
from QEtaModularCategory
- matrixEtaOrder: (PositiveInteger, List Cusp, List List Integer) -> Matrix Fraction Integer
from QEtaModularCategory
- matrixEtaOrderElement: (PositiveInteger, Cusp, List Integer) -> Fraction Integer
from QEtaModularCategory
- matrixEtaOrderFull: (PositiveInteger, List Cusp, List List Integer) -> Matrix Fraction Integer
from QEtaModularCategory
- matrixEtaOrderRow: (PositiveInteger, Cusp, List List Integer) -> List Fraction Integer
from QEtaModularCategory
- matrixLigozat: PositiveInteger -> Matrix Integer
matrixLigozat(n)
returns the (n
,n
) matrix with entries a_m(di
,dj
) given by Notation 3.2.6 in cite{Ligozat_CourbesModulaires_1975
} wheredi
anddj
run over all positive divisors ofm
. This matrix is A_N as described after Lemma 5.2 in cite{HemmeckeRadu_EtaRelations_2019
}.
- matrixLigozatElement: (PositiveInteger, Integer, Integer) -> Integer
matrixLigozatElement(nn, c, delta)
computes an entry of the matrix of Ligozat corresponding to the index (c
, delta) counted in divisors ofnn
.
- matrixModular: (PositiveInteger, List List Integer) -> Matrix Fraction Integer
from QEtaModularCategory
- minimalLevelCoEtaQuotient: (QEtaSpecification, PositiveInteger, NonNegativeInteger) -> PositiveInteger
from QEtaModularCategory
- modular?: (QEtaSpecification, QEtaSpecification, PositiveInteger, NonNegativeInteger) -> Boolean
from QEtaModularCategory
- modular?: QEtaSpecification -> Boolean
from QEtaModularCategory
- modularOrbit: (QEtaSpecification, PositiveInteger, NonNegativeInteger) -> List NonNegativeInteger
from QEtaModularCategory
- width: (PositiveInteger, Cusp) -> PositiveInteger
from QEtaModularCategory
- width: (PositiveInteger, Matrix Integer) -> PositiveInteger
from QEtaModularCategory