QEtaIdealCategory QMOD¶
qetaicat.spad line 151 [edit on github]
QMOD: QEtaModularCategory
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, Character) -> List Polynomial Integer
algebraicRelations(idxs, eqrels, c)
returns relations among the variables ineqrels
that start with the characterc
. Hereeqrels
is supposed to be a list of polynomial inEi
,Yi
, andMi
variables.
- 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: (PositiveInteger, List List Integer) -> List Polynomial Integer
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 inEi
andYi
variables whereEi
stands for the eta-function with indexi
andYi
for its inverse. Additionally relations of the form Ei*Yi-1 are added to include the relations among theEi
andYi
variables.
- etaLaurentIdealLists: (List List Integer, List QEtaSpecification, List Polynomial Integer) -> List List Polynomial Integer
etaLaurentIdealLists(idxs,mspecs,eqigens)
assumes thateqigens
are generators for the ideal of all relations among the eta-quotients given bymspecs
. Thei
-th entry ofmspecs
should be represented ineqigens
by the variableMi
. The function simplifies Ei*Yi to 1 for any indexi
appearing 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: (PositiveInteger, List List Integer, String) -> List Polynomial Integer
etaQuotientIdealGenerators(nn,idxs,basedir)
returns etaQuotientIdealGenerators(nn
,mspecs,basedir
) for mspecs:=etaQuotientMonoidInfinitySpecifications(nn
,idxs
,basedir
).
- etaQuotientIdealGenerators: (PositiveInteger, List QEtaSpecification, String) -> List Polynomial Integer
etaQuotientIdealGenerators(nn,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
)], 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 (wherei
runs from 1 to #mspecs) that generate the ideal of all relations of the eta-quotients given bymspecs
. Originally it was intended thatmspecs
is the specifications of the eta-quotients given by etaQuotientMonoidInfinitySpecifications(nn
,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 theY
variables from the input and returns the resulting Groebner basis. It is assumed thateligens
is a list of polynomials inEi
andYi
variables where the indicesi
are given byidxs
.
- etaRelations: (PositiveInteger, List List Integer, String) -> List Polynomial Integer
etaRelations(nn,idxs,basedir)
returns etaRelations(idxs
,eligens) where mspecs:=etaQuotientMonoidInfinitySpecifications(nn
,idxs
,basedir
), eqigens:=etaQuotientIdealGenerators(nn
, mspecs,basedir
), eligens:=etaLaurentIdealGenerators(idxs
, mspecs, eqigens). If the file “etaRelations.input” already existed under the directory concat[basedir
,"/"
,string(nn
)], 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 fore
inesyms
fory
in ysyms].
- relationsIdealGenerators: (PositiveInteger, List ModularFunctionQSeriesInfinity Fraction Integer) -> List Polynomial Integer
relationsIdealGenerators(nn,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 thatqseries
is a list of Laurent series inq
that correspond to modular functions for $Gamma_0(N
)$ or $Gamma_1(N
)$ (depending on the QMOD 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.