QEtaIdealCategory(C, QMOD)

qetaicat.spad line 144 [edit on github]

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 C, Character) -> List Polynomial C

algebraicRelations(idxs, eqrels, c) returns relations among the variables in eqrels that start with the character c. Here eqrels is supposed to be a list of polynomial in Ei, Yi, and Mi variables.

etaLaurentIdealGenerators: (List List Integer, List QEtaSpecification, List Polynomial C) -> List Polynomial C

etaLaurentIdealGenerators(idxs,mspecs,eqigens) returns the concatenation of the lists returned by etaLaurentIdealLists(idxs,mspecs,eqigens).

etaLaurentIdealGenerators: (PositiveInteger, List List Integer) -> List Polynomial C

etaLaurentIdealGenerators(nn,idxs) computes generators for the ideal of eta-functions and their inverses given by the indices having no poles at the cusps given through QMOD except at infinity. These eta-quotient generators are then expressed in Ei and Yi variables where Ei stands for the eta-function with index i and Yi for its inverse. Additionally relations of the form Ei*Yi-1 are added to include the relations among the Ei and Yi variables.

etaLaurentIdealLists: (List List Integer, List QEtaSpecification, List Polynomial C) -> List List Polynomial C

etaLaurentIdealLists(idxs,mspecs,eqigens) assumes that eqigens are generators for the ideal of all relations among the eta-quotients given by mspecs. The i-th entry of mspecs should be represented in eqigens by the variable Mi. The function simplifies Ei*Yi to 1 for any index i appearing in idxs. 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 QEtaSpecification -> List Polynomial C

etaQuotientIdealGenerators(mspecs) returns polynomials in the variables M_i (where i runs from 1 to #mspecs) that generate the ideal of all relations of the eta-quotients given by mspecs. Originally it was intended that mspecs is the specifications of the eta-quotients given by etaQuotientMonoidSpecifications(level) from the package QEtaQuotientSpecifications4ti2. This function just sets up a the q-series and then calls relationsIdealGenerators on these series.

etaQuotientMonomial: (QEtaSpecification, Character, Character) -> Polynomial C

etaQuotientMonomial(spec, e, y) translates the specification of a generalized eta-quotient to a monomial. The indices i are translated into a variable via indexedSymbol(e,i) if the exponent is positive and to indexedSymbol(y,i) if the exponent is negative. All those variables with their (absolute) value of) the exponent are multiplied together to give the resulting monomial.

etaQuotientMonomial: QEtaSpecification -> Polynomial C

etaQuotientMonomial(spec) returns etaQuotientMonomial(spec, char “E”, char "Y").

etaRelations: (List List Integer, List Polynomial C) -> List Polynomial C

etaRelations(idxs,eligens) eliminates the Y variables from the input and returns the resulting Groebner basis. It is assumed that eligens is a list of polynomials in Ei and Yi variables where the indices i are given by idxs.

etaRelations: List List Integer -> List Polynomial C

etaRelations(idxs) returns algebraic relations among the generalized eta-function given by the indices idxs.

laurentRelations: (List Symbol, List Symbol) -> List Polynomial C

laurentRelations(esyms, ysyms) returns [e*y-1 for e in esyms for y in ysyms].

relationsIdealGenerators: List Finite0Series C -> List Polynomial C

relationsIdealGenerators(qseries) returns a set of generators in the variables M_i of the ideal of all relations among the given qseries. The initial series correspond to the variables M_i in the output of this function. We assume that qseries is a list of Laurent series in q that correspond to modular functions for $Gamma_0(N)$ 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.