QEtaRepresentationΒΆ

qetarep.spad line 94 [edit on github]

QEtaRepresentation implements functions to represent a $q$-series as a (generalized) eta-quotient.

guessEtaQuotientSpecification: (List List Integer, QEtaLaurentSeries Integer, PositiveInteger) -> Record(fspec: QEtaSpecification, fexp: Fraction Integer, fser: QEtaLaurentSeries Integer)

guessEtaQuotientSpecification(idxs,s,n) assumes that s=q^a*t for some integer a and t is a Taylor series with constant term 1 and returns [spec,e,r], i.e. an eta-quotient specification together with a (rational) exponent e and a series r such that if u=etaQuotientInfintiy(spec), then t and eulerExpansion(u) have the same coefficients up to the coefficient of q^n, a=e+eulerExponent(u), and t=r*eulerExpansion(u). In other words, s=u*q^e*r where u is the eta-quotient given by spec. The specification will contain only indices from idxs. If order(eulerExpansion(r)-1,n)<n, then the function has not succeeded and only returns a specification it has found so far.

guessEtaQuotientSpecification: (PositiveInteger, QEtaLaurentSeries Integer, PositiveInteger) -> Record(fspec: QEtaSpecification, fexp: Fraction Integer, fser: QEtaLaurentSeries Integer)

guessEtaQuotientSpecification(nn,s,n) is equivalent to guessEtaQuotientSpecification(idxs, s, n) for idxs:=concat(eidxs,pidxs) where pidxs=[[nn,g] for g in 1..floor((nn-1)/2)] and eidx=[nn/2,nn] if nn is even and eidxs=[nn] for odd nn. The specification may contain generalized eta-quotients and will be of level nn.

guessEtaQuotientSpecification: (QEtaLaurentSeries Integer, PositiveInteger) -> Record(fspec: QEtaSpecification, fexp: Fraction Integer, fser: QEtaLaurentSeries Integer)

guessEtaQuotientSpecification(s,n) is equivalent to guessEtaQuotientSpecification(idxs,s,n) for idxs=[[d] for d in 1..n]. Only pure eta-quotients are returned.