EtaQuotientInfinity C¶
qetaquotinf.spad line 111 [edit on github]
C: Ring
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
- /: (%, %) -> % if C has IntegralDomain
from Group
- ^: (%, Integer) -> % if C has IntegralDomain
from Group
- ^: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- ^: (%, PositiveInteger) -> %
from Magma
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- commutator: (%, %) -> % if C has IntegralDomain
from Group
- conjugate: (%, %) -> % if C has IntegralDomain
from Group
- eta: PositiveInteger -> %
eta(n)returnsq^(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 listlinrspec. See generalizedEtaPower for the format of the parameterl.
- 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
xis a (generalized) eta-quotient, then eulerExponent(x) is the fractional exponenteofqsuch that q^e*eulerExpansion(x) is equal to the Puiseux series expansion ofx.
- 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) andqis 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 powere. generalizedEtaPower(d,g,e) returns etaPower(d, numer(2*e)), ifg=0; etaQuotient([g,d],[numer(2*e),-numer(2*e)]), ifg=d/2; and returns $eta_{d,g}(tau)^e$ ifeis an integer. Note that only forg=0andg=d/2the exponentecan 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 formEiwith the letterEand a positive numberi. In the polynomialpthe powers Ei^ni will be replaced by eta(i)^ni. Iflis the leading monomialp, then it is assumed that prefactor(toEta(l))=prefactor(polynomialToEta(m)) for every monomialmofp.
- prefactor: % -> Fraction Integer
prefactor(x)returns the fractional part of the fractional of the fractionalq-power prefactor ofxwhereqis the variable ofL. The returned value is in the range 0<=prefactor(x)<1, because integer powers ofqare 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 ofx.x= q^r*seriesPart(x) where r=prefactor(x).
Group if C has IntegralDomain
TwoSidedRecip if C has IntegralDomain
unitsKnown if C has IntegralDomain