QEtaQuotientSpecifications4ti2 QMOD

qetaqmspecs.spad line 234 [edit on github]

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-order grd>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 level nn 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 the idxs 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 for c 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 for c 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 for c in polesat] and ords:=[0 for c in polesat].

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 by idxs) that are modular functions wrt. QMOD and have no poles at the cusps given by nopolesat and for all cusps in polesat the expansion order fulfills the relation at the respective cusp. #polesat>=#rels and #polesat>=#ords. Missing values are assumed to be 0. Entries in rels can be 1,0,-1 and stand for >=, =, and <=, respectively. The indices of the eta-functions that may appear is given by idxs. It returns zsolve(etaQuotientMonoidSystem(nn,idxs,polesat,rels,ords,nopolesat)$QMOD)$X4ti2. Note that the union of poleat and nopolesat 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 for c 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 for c in polesat] and ords:=[0 for c in polesat].

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 by idxs) that are modular functions wrt. QMOD and have no poles at the cusps given by nopolesat and for all cusps in polesat the expansion order fulfills the relation at the respective cusp. #polesat>=#rels and #polesat>=#ords. Missing values are assumed to be 0. Entries in rels can be 1,0,-1 and stand for >=, =, and <=, respectively. The indices of the eta-functions that may appear is given by idxs. Note that the union of poleat and nopolesat 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-quotients f (corresponding to the indices given by idxs) that are modular wrt. QMOD of weight w and have poles at most at the cusps given by polesat, 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 in polesat. 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 of polesat. We need at least one such element for the t in the multi-samba algorithm.