EtaQuotientInfinity C

qetaquotinf.spad line 111 [edit on github]

EtaQuotientInfinity implements the (multiplicative) group of (generalized) eta-functions in their expansion at infinity. Elements can be represented as Laurent series in q with a prefactor of q^r where r is a rational number (and in case of eta-quotient (non-generalized) r has a denominator that is a divisor of 24). Note that this domain keeps the “fractional part” always separate from the “series part” even when the fractional part is an integer.

1: %

from MagmaWithUnit

*: (%, %) -> %

from Magma

/: (%, %) -> % if C has IntegralDomain

from Group

=: (%, %) -> Boolean

from BasicType

^: (%, Integer) -> % if C has IntegralDomain

from Group

^: (%, NonNegativeInteger) -> %

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

coerce: % -> OutputForm

from CoercibleTo OutputForm

commutator: (%, %) -> % if C has IntegralDomain

from Group

conjugate: (%, %) -> % if C has IntegralDomain

from Group

eta: PositiveInteger -> %

eta(n) returns q^(n/24)*prod_{k=1}^infty (1-q^{kn}).

etaPower: (PositiveInteger, Integer) -> %

etaPower(d, e) returns eta(d)^e.

etaQuotientInfinity: QEtaSpecification -> %

etaQuotientInfinity(rspec) returns the product (generalized) eta-powers for each list l in rspec. See generalizedEtaPower for the format of the parameter l.

eulerExpansion: % -> QEtaLaurentSeries C

eulerExpansion(x) returns the power series (with constant coefficient 1) that results from just considering the product of Euler function powers (q-Pochhammer symbols) connected to the creation the (generalized) eta-quotient.

eulerExponent: % -> Fraction Integer

If x is a (generalized) eta-quotient, then eulerExponent(x) is the fractional exponent e of q such that q^e*eulerExpansion(x) is equal to the Puiseux series expansion of x.

eulerFunctionPower: (PositiveInteger, Integer) -> QEtaLaurentSeries C

eulerFunctionPower(n, e) computes (prod_{k=1}^infty(1-q^{kn}))^e.

expansion: % -> QEtaLaurentSeries C

expansion(x) aborts with error if eulerExponent(x) is not am integer. Otherwise it returns q^r*seriesPart(x) where r=prefactor(x) and q is the variable of the series domain. It is the same as q^e*eulerExpansion(x) where e=eulerExponent(x).

generalizedEtaPower: (PositiveInteger, PositiveInteger, Fraction Integer) -> %

generalizedEtaPower(d,g,e) returns the generalized eta-quotient given by eqref{eq:generalized-eta-quotient} and formula (1.11) in cite{ChenDuZhao_FindingModularFunctionsRamanujan_2019} raised to the power e. generalizedEtaPower(d,g,e) returns etaPower(d, numer(2*e)), if g=0; etaQuotient([g, d],[numer(2*e),-numer(2*e)]), if g=d/2; and returns $eta_{d,g}(tau)^e$ if e is an integer. Note that only for g=0 and g=d/2 the exponent e can be a half-integer. Otherwise, it must come with denominator =1.

hash: % -> SingleInteger

from SetCategory

hashUpdate!: (HashState, %) -> HashState

from SetCategory

inv: % -> % if C has IntegralDomain

from Group

latex: % -> String

from SetCategory

leftPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

leftPower: (%, PositiveInteger) -> %

from Magma

leftRecip: % -> Union(%, failed)

from MagmaWithUnit

one?: % -> Boolean

from MagmaWithUnit

polynomialToEta: Polynomial C -> %

polynomialToEta(p) assumes that all variables are of the form Ei with the letter E and a positive number i. In the polynomial p the powers Ei^ni will be replaced by eta(i)^ni. If l is the leading monomial p, then it is assumed that prefactor(toEta(l))=prefactor(polynomialToEta(m)) for every monomial m of p.

prefactor: % -> Fraction Integer

prefactor(x) returns the fractional part of the fractional of the fractional q-power prefactor of x where q is the variable of L. The returned value is in the range 0<=prefactor(x)<1, because integer powers of q are moved to the series part.

recip: % -> Union(%, failed)

from MagmaWithUnit

rightPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

rightPower: (%, PositiveInteger) -> %

from Magma

rightRecip: % -> Union(%, failed)

from MagmaWithUnit

sample: %

from MagmaWithUnit

seriesPart: % -> QEtaLaurentSeries C

seriesPart(x) returns the Laurent series part of x. x = q^r*seriesPart(x) where r=prefactor(x).

BasicType

CoercibleTo OutputForm

Group if C has IntegralDomain

Magma

MagmaWithUnit

Monoid

SemiGroup

SetCategory

TwoSidedRecip if C has IntegralDomain

unitsKnown if C has IntegralDomain