SymbolicModularEtaQuotient QMOD

qetasymbmod.spad line 295 [edit on github]

SymbolicModularEtaQuotient(QMOD) holds data to compute an eta-quotient expansions of $F_{s,r,m,t}(gamma tau)$ at several transformation matrices. See eqref{eq:F_s-r-m-t(gamma*tau)}.

=: (%, %) -> Boolean

from BasicType

~=: (%, %) -> Boolean

from BasicType

coerce: % -> OutputForm

from CoercibleTo OutputForm

constant?: % -> Boolean

constant?(x) returns true if ordersMin(x) returns a list of entries that are all properly bigger than -1. Note that ordersMin(x) gives an upper bound of the order for each transformation matrix. If x represents a modular function, with only poles at the (stored) transformation matrices of x, it means that the function must be constant. Since we rely on estimates, x can represent a constant even if constant?(x) is false. If, however, multiplier(x)=1 then x represents simply an eta-quotient and ordersMin(x) gives the exact orders.

coSpecification: % -> QEtaSpecification

If x=etaQuotient(sspec,rspec,…) coSpecification(x) returns sspec. If the definition of x did not involve any cofactor, then coSpecification(x) returns etaQuotientSpecification(level(definingSpecification(x)),[]).

definingSpecification: % -> QEtaSpecification

If x=etaQuotient(sspec,rspec,…) or x=etaQuotient(rspec,spitzen) or x=etaQuotient(rspec), then definingSpecification(x) returns rspec.

elt: (%, Matrix Integer) -> SymbolicModularEtaQuotientGamma QMOD

x.gamma returns the data corresponding to the respective transformation matrix.

etaQuotient: (QEtaSpecification, List Cusp) -> %

etaQuotient(rspec,gammas) for nn:=level(rspec) and gammas:=[cuspToMatrix(nn,c)$QMOD for c in spitzen].

etaQuotient: (QEtaSpecification, List Matrix Integer) -> %

etaQuotient(rspec,gammas) represents the expansion of $g_r(gamma tau)$ for all gamma in gammas. $r$ is given by rspec.

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

etaQuotient(sspec,rspec,m,t) represents the expansion of $F_{r,s,m,t}(gamma tau)$ for all gamma corresponding to the cusps of QMOD. $r$ and $s$ are given by rspec and sspec, respectively.

etaQuotient: (QEtaSpecification, QEtaSpecification, PositiveInteger, NonNegativeInteger, List Cusp) -> %

etaQuotient(sspec,rspec,m,t,spitzen) computes etaQuotient(sspec,rspec,m,t,gammas) for nn:=level(sspec) and gammas:=[cuspToMatrix(nn,c)$QMOD for c in spitzen].

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

etaQuotient(sspec,rspec,m,t,gammas) represents the expansion of $F_{s,r,m,t}(gamma tau)$ for all gamma in gammas. $r$ and $s$ are given by rspec and sspec, repectively.

etaQuotient: QEtaSpecification -> %

etaQuotient(rspec) represents the expansion of $g_r(gamma tau)$ for all gamma corresponding to the cusps of QMOD. $r$ is given by rspec.

hash: % -> SingleInteger

from Hashable

hashUpdate!: (HashState, %) -> HashState

from Hashable

latex: % -> String

from SetCategory

level: % -> PositiveInteger

level(y) returns level(coSpecification(y)).

minimalRootOfUnity: % -> PositiveInteger

minimalRootOfUnity(x) returns lcm [minimalRootOfUnity(x.u) for u in transformationMatrices x].

multiplier: % -> PositiveInteger

If x=etaQuotient(sspec,rspec,m,k,…), then multiplier(x) returns m. If x=etaQuotient(rspec,…), then multiplier(x)=1.

offset: % -> NonNegativeInteger

If x=etaQuotient(sspec,rspec,m,k,…), then offset(x) returns k. If x=etaQuotient(rspec,…), then offset(x)=0.

one?: % -> Boolean

one?(x) returns true if the eta-quotient corresponding to x represents 1. This is the case if one?(basefactor(x.trf)) and one?(cofactor(x.trf)) for one element trf of transformationMatrices(x).

orders: % -> List Integer

orders(x) returns the order at all transformation matrices (in the canonical variable) without computing the explicit series expansion at any matrix. It returns an error, if for one matrix trf in transformationMatrices(x) the input condition multiplier(basefactor(x.trf))=1 is not met. The result is [order(x.trf) for trf in transformationMatrices x].

ordersMin: % -> List Fraction Integer

ordersMin(x) returns an estimate for the order at all transformation matrices (in the canonical variable) without computing the explicit series expansion at any matrix. Note that due to estimation it does not necessarily return an integer, but a rational number. The result is [orderMin(x.trf) for trf in transformationMatrices x].

transformationMatrices: % -> List Matrix Integer

transformationMatrices(x) either returns the value that was given to etaQuotient at creation time or [cuspToMatrix(level(x),c)$QMOD for c in cusps(nn)$QMOD] if no transformation matrices or cusps where given.

BasicType

CoercibleTo OutputForm

Hashable

SetCategory