QEtaQuotientExponentVectorsAux¶
qetaqmspecs.spad line 113 [edit on github]
QEtaQuotientExponentVectorsAux provides a number of auxiliary functions for the use in the variants to compute etaQuotientExponentVectors.
- smallerGrade?: (List List Integer, List List Integer) -> Boolean
smallerGrade?(l1, l2)
takes two lists as input and sorts them (basically) lexicographically. It is supposed thatli
is a list of the form [[[g1
,i1
], [g2
,i2
], …, [gn
,in]] wheregk
is the grade of a powerseries and ik the index of that powerseries in a vector. Furthermore, we assume thatl1
andl2
have equal lengths and are themselves sorted descendingly.
- sortByComponentGrade: (PositiveInteger, List Vector Integer) -> List List Integer
rs
:=
sortByComponentGrade(m
, gens) sorts gens such that if ri:=vector(rs
.i
), rj:=vector(rs
.j
), and i<j then smallerGrade?(toG(ri
,t
).sgi, toG(rj
,t
).sgi) holds where t:=transpose(matrixLigozat(m
)$QMOD0
) and toG computes the respective sorted grades. Informally, since the gens correspond to exponent vectors of eta-quotients andt
to the transpose of the Ligozat matrix,v*t
corresponds to the orders of theq
-expansions at the respective cusps. This function orders the gens in such a way that the vector whose maximum grade (maximum taken over all cusps) is minimal comes first.