QEtaQuotientSpecifications4ti2 QMOD¶
qetaqmspecs.spad line 234 [edit on github]
QMOD: QEtaModularCategory
QEtaQuotientSpecificationss4ti2
computes a monoid basis of (specifications for) (generalized) eta-quotients with a pole at most at infinity.
- etaQuotientInfinitySpecifications: (PositiveInteger, List List Integer, Integer) -> List QEtaSpecification
etaQuotientInfinitySpecifications(nn,idxs,grd)
returns specifications for generalized eta-quotients with a pole of pole-ordergrd>0
at infinity and no pole at any other cusp.
- etaQuotientMonoidInfinitySpecifications: (PositiveInteger, List List Integer) -> List QEtaSpecification
etaQuotientMonoidInfinitySpecifications(nn,idxs)
returns monoidGenerators etaQuotientMonoidInfinityZSpecifications(nn
,idxs
).
- etaQuotientMonoidInfinitySpecifications: (PositiveInteger, List List Integer, String) -> List QEtaSpecification
etaQuotientMonoidInfinitySpecifications(nn,idxs,basedir)
reads the file “etaQuotientMonoidInfinitySpecifications.input” in directory given by dir:=concat[basedir
,"/"
,string(nn
)] if it exists and interprets it as specifications of levelnn
or returns etaQuotientMonoidInfinitySpecifications(nn
,idxs
). The return value will be saved in the above mentione file if it was not already there. WARNING: The function blindly trusts the contents of an existing file in the respective place. The user is responsible for reading from or storing in a directory that corresponds to theidxs
and QMOD parameters.
- etaQuotientMonoidInfinityZSpecifications: (PositiveInteger, List List Integer) -> Record(zinhom: List QEtaSpecification, zhom: List QEtaSpecification, zfree: List QEtaSpecification)
etaQuotientMonoidInfinityZSpecifications(nn,idxs)
returns etaQuotientMonoidZSpecifications(nn
,idxs
,[infinity()]).
- etaQuotientMonoidNoPolesSolutions: (PositiveInteger, List List Integer, List Cusp) -> Record(zinhom: List Vector Integer, zhom: List Vector Integer, zfree: List Vector Integer)
etaQuotientMonoidNoPolesSolutions(nn,idxs,nopolesat)
returns etaQuotientMonoidSolutions(nn
,idxs
,[],nopolesat
).
- etaQuotientMonoidNoPolesZSpecifications: (PositiveInteger, List List Integer, List Cusp) -> Record(zinhom: List QEtaSpecification, zhom: List QEtaSpecification, zfree: List QEtaSpecification)
etaQuotientMonoidNoPolesZSpecifications(nn,idxs,nopolesat)
returns etaQuotientMonoidZSpecifications(nn
,idxs
,[],nopolesat
), but sorted via sortByComponentGrade(x
,polesat) for polesat:=
[c
forc
in cusps(nn
)$QMOD | not member?(c
,nopolesat
)].
- etaQuotientMonoidSolutions: (PositiveInteger, List List Integer, List Cusp) -> Record(zinhom: List Vector Integer, zhom: List Vector Integer, zfree: List Vector Integer)
etaQuotientMonoidSolutions(nn,idxs,polesat)
returns etaQuotientMonoidSolutions(nn
,idxs
,[],nopolesat) = etaQuotientMonoidNoPolesSolutions(nn
,idxs
,nopolesat) for nopolesat:=
[c
forc
in cusps(nn
)$QMOD | not member?(c
,polesat
)].
- etaQuotientMonoidSolutions: (PositiveInteger, List List Integer, List Cusp, List Cusp) -> Record(zinhom: List Vector Integer, zhom: List Vector Integer, zfree: List Vector Integer)
etaQuotientMonoidSolutions(nn,idxs,polesat,nopolesat)
returns etaQuotientMonoidSolutions(nn
,idxs
,polesat
,rels,ords,nopolesat
) for rels:=[-1
forc
inpolesat
] and ords:=[0 forc
inpolesat
].
- etaQuotientMonoidSolutions: (PositiveInteger, List List Integer, List Cusp, List Integer, List Integer, List Cusp) -> Record(zinhom: List Vector Integer, zhom: List Vector Integer, zfree: List Vector Integer)
etaQuotientMonoidSolutions(nn,idxs,polesat,rels,ords,nopolesat)
returns specifications of (generalized) eta-quotients that (together with 1) generate the (multiplicative) monoid of all (generalized) eta-quotients (corresponding to the indices given byidxs
) that are modular functionswrt
. QMOD and have no poles at the cusps given bynopolesat
and for all cusps inpolesat
the expansion order fulfills the relation at the respective cusp. #polesat>=#rels and #polesat>=#ords. Missing values are assumed to be 0. Entries inrels
can be 1,0,-1
and stand for>=
, =, and<=
, respectively. The indices of the eta-functions that may appear is given byidxs
. It returns zsolve(etaQuotientMonoidSystem(nn
,idxs
,polesat
,rels
,ords
,nopolesat
)$QMOD)$X4ti2
. Note that the union of poleat andnopolesat
can be a proper subset of all cusps given by cusps(nn
).
- etaQuotientMonoidZSpecifications: (PositiveInteger, List List Integer, List Cusp) -> Record(zinhom: List QEtaSpecification, zhom: List QEtaSpecification, zfree: List QEtaSpecification)
etaQuotientMonoidZSpecifications(nn,idxs,polesat)
returns z=etaQuotientMonoidZSpecifications(nn
,idxs
,[],nopolesat) for nopolesat:=
[c
forc
in cusps(nn
)$QMOD | not member?(c
,polesat
)], but sorted via sortByComponentGrade(z
,polesat
).
- etaQuotientMonoidZSpecifications: (PositiveInteger, List List Integer, List Cusp, List Cusp) -> Record(zinhom: List QEtaSpecification, zhom: List QEtaSpecification, zfree: List QEtaSpecification)
etaQuotientMonoidZSpecifications(nn,idxs,polesat,nopolesat)
returns etaQuotientMonoidZSpecifications(nn
,idxs
,polesat
,rels,ords,nopolesat
) for rels:=[-1
forc
inpolesat
] and ords:=[0 forc
inpolesat
].
- etaQuotientMonoidZSpecifications: (PositiveInteger, List List Integer, List Cusp, List Integer, List Integer, List Cusp) -> Record(zinhom: List QEtaSpecification, zhom: List QEtaSpecification, zfree: List QEtaSpecification)
etaQuotientMonoidZSpecifications(nn,idxs,polesat,rels,ords,nopolesat)
returns specifications of (generalized) eta-quotients that (together with 1) generate the (multiplicative) monoid of all (generalized) eta-quotients (corresponding to the indices given byidxs
) that are modular functionswrt
. QMOD and have no poles at the cusps given bynopolesat
and for all cusps inpolesat
the expansion order fulfills the relation at the respective cusp. #polesat>=#rels and #polesat>=#ords. Missing values are assumed to be 0. Entries inrels
can be 1,0,-1
and stand for>=
, =, and<=
, respectively. The indices of the eta-functions that may appear is given byidxs
. Note that the union of poleat andnopolesat
can be a proper subset of all cusps given by cusps(nn
).
- etaQuotientZSpecifications: (PositiveInteger, List List Integer, List Cusp, Integer) -> Record(zinhom: List QEtaSpecification, zhom: List QEtaSpecification, zfree: List QEtaSpecification)
etaQuotientZSpecifications(nn,idxs,polesat,w)
returns specifications of (generalized) eta-quotientsf
(corresponding to the indices given byidxs
) that are modularwrt
. QMOD of weightw
and have poles at most at the cusps given bypolesat
, i.e.f
(matrix[[a,b
],[c
,d
]]*tau)=(c*tau+d)^w*f(tau).
- withProperPoles: (Record(zinhom: List QEtaSpecification, zhom: List QEtaSpecification, zfree: List QEtaSpecification), List Cusp) -> List QEtaSpecification
withProperPoles(zspecs,polesat)
tries to compute specifications from ZSPECS that have a proper pole at all cusps inpolesat
. The result is sorted via sortByComponentGrade(res,polesat
) from QEtaQuotientSortPackage(QMOD). The empty list is returned if no such specification can be found. It computes monomials with non-negative exponents for the elements in zhom and integer exponents for the elements in zfree such that the product is a specification that has a proper pole at any cusp ofpolesat
. We need at least one such element for thet
in the multi-samba algorithm.