SymbolicEtaQuotientLambdaGammaΒΆ

qetasymb.spad line 376 [edit on github]

SymbolicEtaQuotientLambdaGamma holds data to compute an eta quotient expansion of $g_{r,m,lambda}(gamma tau)$. See eqref{eq:g_r-m-lambda(gamma*tau)}.

=: (%, %) -> Boolean

from BasicType

~=: (%, %) -> Boolean

from BasicType

cdExponent: % -> Fraction Integer

cdExponent(x) returns the sum over all rd*cdExponent(f) where f runs over all parts of definingSpecification(x) and rd is the corresponding exponent of the eta-function specification, i.e. it returns eqref{eq:g_r-m-lambda(gamma*tau)-cdExponent}

coerce: % -> OutputForm

from CoercibleTo OutputForm

definingSpecification: % -> QEtaSpecification

If x=etaQuotient(rspec,m,lambda,gamma)), then definingSpecification(x) returns purify(rspec).

elt: (%, List Integer) -> SymbolicEtaGamma

elt(x, [delta.g]) returns the data corresponding to the respective (delta, g) pair. Note that the pure eta-functions are indexed via (delta, -1).

etaQuotient: (QEtaSpecification, PositiveInteger, NonNegativeInteger, Matrix Integer) -> %

etaQuotient(rspec,m,lambda,gamma) represents the expansion of $g_{r,m,lambda}(gamma tau)$ in terms of $q=exp(2i pi tau)$ and gamma=matrix[[a,b],[c,d]] represents the cusp a/c. $r$ is given by rspec.

hash: % -> SingleInteger

from Hashable

hashUpdate!: (HashState, %) -> HashState

from Hashable

lambda: % -> NonNegativeInteger

If x=etaQuotient(rspec,m,lambda,gamma)), then lambda(x) returns lambda.

latex: % -> String

from SetCategory

minimalRootOfUnity: % -> PositiveInteger

minimalRootOfUnity(x) returns the smallest positive integer n such that the expansion of the function $g_{r,m,lambda}(gamma tau)$ corresponding to x=etaQuotient(rspec,m,lambda,gamma) (neglecting the (c*tau+d) factor) lives in Q[w][[z]] where w is an n-th root of unity and z a fractional q power.

minimalRootOfUnityWithoutUnityExponent: % -> PositiveInteger

minimalRootOfUnity(x) returns the smallest positive integer n such that the expansion of the function $g_{r,m,lambda}(gamma tau)$ corresponding to x=etaQuotient(rspec,m,lambda,gamma) (neglecting the (c*tau+d) factor and the denominator $v_{m,lambda,gamma}$, i.e. unityExponent(x)) lives in Q[w][[z]] where w is an n-th root of unity and z a fractional q power.

multiplier: % -> PositiveInteger

If x=etaQuotient(rspec,m,lambda,gamma)), then multiplier(x) returns the m.

qExponent: % -> Fraction Integer

qExponent(e) returns the order of the expansion of e in $q=exp(2i pi tau)$ while neglecting the (c*tau+d) factor. It corresponds to the exponent of the fourth product of eqref{eq:g_r-m-lambda(gamma*tau)}, i.e. it returns eqref{eq:g_r-m-lambda(gamma*tau)-qExponent}.

rationalPrefactor: % -> Fraction Integer

If x=etaQuotient(rspec,m,lambda,gamma)), then rationalPrefactor(x) returns the square of the third product in eqref{eq:g_r-m-lambda(gamma*tau)}, see eqref{eq:g_r-m-lambda(gamma*tau)-rationalPrefactor}. That is the product of rationalPrefactor(y[d,-1])^e for [d,-1,e] in pureParts(rspec).

transformationMatrix: % -> Matrix Integer

If x=etaQuotient(rspec,m,lambda,gamma)), then transformationMatrix(x) returns gamma.

unityExponent: % -> Fraction Integer

If x=etaQuotient(rspec,m,lambda,gamma)), then unityExponent(x) returns the second product in eqref{eq:g_r-m-lambda(gamma*tau)}, i.e. it returns eqref{eq:g_r-m-lambda(gamma*tau)-unityExponent}. That is the fractionalPart of the sum of unityExponent(y[d,g])*e for [d,g,e] in parts(rspec).

BasicType

CoercibleTo OutputForm

Hashable

SetCategory