QEtaIdealCategory MODG¶
qetaicat.spad line 149 [edit on github]
MODG: QEtaModularGammaCategory
QEtaIdealCategory(C) is a category that implements a number of functions connected to relations among Dedekind eta-functions. It allows for differend implementation of the function relationsIdealGenerator, which does the main job of computing the generators of the ideal of relations of modular eta-quotients having a pole at most at infinity.
- algebraicRelations: (List List Integer, List Polynomial Integer, List Symbol) -> List Polynomial Integer
algebraicRelations(idxs, eqrels, vars)returns relations among the variables vars ineqrels. Hereeqrelsis supposed to be a list of polynomial inei,yi,Mjvariables and some other variables vars. This function uses the indicesidxsto compute a basis of the eta-quotients with these indices and only poles at infinity and from them an ideal basis of relations among those eta-quotients. This basis together witheqrelsis then translated into polynomials inei(repesenting eta(itau) andyi(representing the inverse of eta(itau)). Then the theeiandyivariables are eliminated by a Groebner basis computation that only leaves relations among the variables in vars.
- algebraicRelations: (List List Integer, List Polynomial Integer, List Symbol, String) -> List Polynomial Integer
algebraicRelations(idxs,geqrels,fsyms,basedir)returns algebraicRelations(idxs,geqrels,fsyms), but tries to read precomputed data frombasedir. Note that if data is read frombasedir,idxsshould be equal to all indices corresponding to MODG, i.e. ifMODG=GAMMA0(nn), then idxs=etaFunctionIndices(nn), if ifMODG=GAMMA1(nn), then idxs=generalizedEtaFunctionIndices(nn). These conditions foridxsis not checked.
- etaLaurentIdealGenerators: (List List Integer, List QEtaSpecification, List Polynomial Integer) -> List Polynomial Integer
etaLaurentIdealGenerators(idxs,mspecs,eqigens)returns the concatenation of the lists returned by etaLaurentIdealLists(idxs,mspecs,eqigens).
- etaLaurentIdealGenerators: List List Integer -> List Polynomial Integer
etaLaurentIdealGenerators(idxs)computes generators for the ideal of eta-functions and their inverses given by the indices having no poles at the cusps given through MODG except at infinity. These eta-quotient generators are then expressed ineiandyivariables whereeistands for the eta-function with indexiandyifor its inverse. Additionally relations of the form ei*yi-1 are added to include the relations among theeiandyivariables.
- etaLaurentIdealLists: (List List Integer, List QEtaSpecification, List Polynomial Integer) -> List List Polynomial Integer
etaLaurentIdealLists(idxs,mspecs,eqigens)assumes thateqigensare generators for the ideal of all relations among the eta-quotients given bymspecs. Thei-th entry ofmspecsshould be represented ineqigensby the variableMi. The function simplifies ei*yi to 1 for any indexiappearing inidxs. In that sense the function returns the generators of the ideal of all relations among generalized eta-functions and their inverses. The result is a two element list where the first entry is given by the trivial relations ei*yi-1 and the second list are the polynomials as described above.
- etaQuotientIdealGenerators: (List List Integer, String) -> List Polynomial Integer
etaQuotientIdealGenerators(idxs,basedir)returns etaQuotientIdealGenerators(mspecs,basedir) for mspecs:=etaQuotientMonoidInfinitySpecifications(idxs,basedir).
- etaQuotientIdealGenerators: (List QEtaSpecification, String) -> List Polynomial Integer
etaQuotientIdealGenerators(mspecs,basedir)returns etaQuotientIdealGenerators(mspecs) and stores the computed generators underbasedir. If the file “etaQuotientIdealGenerators.input” already existed under the directory concat[basedir,"/",string(nn)], (where nn=groupLevel()$MODG) it will be read immediately and taken as the result of the computation.
- etaQuotientIdealGenerators: List QEtaSpecification -> List Polynomial Integer
etaQuotientIdealGenerators(mspecs)returns polynomials in the variables M_i (whereiruns from 1 to #mspecs) that generate the ideal of all relations of the eta-quotients given bymspecs. Originally it was intended thatmspecsis the specifications of the eta-quotients given by etaQuotientMonoidInfinitySpecifications(idxs) from the package QEtaQuotientSpecifications4ti2. This function just sets up a theq-series and then calls relationsIdealGenerators on these series.
- etaRelations: (List List Integer, List Polynomial Integer) -> List Polynomial Integer
etaRelations(idxs,eligens)eliminates theYvariables from the input and returns the resulting Groebner basis. It is assumed thateligensis a list of polynomials ineiandyivariables where the indicesiare given byidxs.
- etaRelations: (List List Integer, String) -> List Polynomial Integer
etaRelations(idxs,basedir)returns etaRelations(idxs,eligens) where mspecs:=etaQuotientMonoidInfinitySpecifications(idxs,basedir), eqigens:=etaQuotientIdealGenerators(mspecs,basedir), eligens:=etaLaurentIdealGenerators(idxs,mspecs,eqigens). If the file “etaRelations.input” already existed under the directory concat[basedir,"/",string(nn)], (where nn=groupLevel()$MODG) it will be read immediately and taken as the result of the computation.
- etaRelations: List List Integer -> List Polynomial Integer
etaRelations(idxs)returns algebraic relations among the generalized eta-function given by the indicesidxs.
- laurentRelations: (List Symbol, List Symbol) -> List Polynomial Integer
laurentRelations(esyms,ysyms)returns [e*y-1 foreinesymsforyinysyms].
- laurentRelations: List List Integer -> List Polynomial Integer
laurentRelations(idxs)returns [e*y-1 forein esyms foryin ysyms] where ysyms:=indexedSymbols("y",idxs)$QAuxiliaryTools and esyms:=indexedSymbols(“e”,idxs)$QAuxiliaryTools.
- relationsIdealGenerators: List ModularFunctionQSeriesInfinity Fraction Integer -> List Polynomial Integer
relationsIdealGenerators(qseries)returns a set of generators in the variables M_i of the ideal of all relations among the givenqseries. The initial series correspond to the variables M_i in the output of this function. We assume thatqseriesis a list of Laurent series inqthat correspond to modular functions for $Gamma_0(N)$ or $Gamma_1(N)$ (depending on the MODG parameter having a pole (if any) at infinity only. The samba algorithm can be used in its extended form in order to also get a representation of resulting algebra basis in terms of the original elements. Algoritm samba is described in: Ralf Hemmecke, “Dancing Samba with Ramanujan Partition Congruences”, Journal of Symbolic Computation, 84, 2018. See cite{HemmeckeRadu_EtaRelations_2019} for more detail and the package QEtaIdealHemmecke.