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 thatliis a list of the form [[[g1,i1], [g2,i2], …, [gn,in]] wheregkis the grade of a powerseries and ik the index of that powerseries in a vector. Furthermore, we assume thatl1andl2have 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 andtto the transpose of the Ligozat matrix,v*tcorresponds 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.