QEtaRamanujanKolbergIdentity C

qetark.spad line 197 [edit on github]

QEtaRamanujanKolbergIdentity is a container that holds all relevant data describing a Ramanujan-Kolberg identity.

algebraBasis: % -> QEtaAlgebraBasis QEtaExtendedAlgebra(C, ModularFunctionQSeriesInfinity C, QEtaLazyAlgebra(C, Polynomial C))

algebraBasis(x) returns the algebra basis that was given at creation time.

alphaInfinity: % -> Integer

alphaInfinity(x) returns the q exponent that corresponds to the orbit product and the respective co-exponent in order to make the whole product a modular function. It is defined already in the abstract of cite{Radu_RamanujanKolberg_2015}.

alphaOrbitInfinity: % -> Fraction Integer

alphaOrbitInfinity(x)= alphaInfinity-rhoInfinity(coSpecification(x))

coefficient: % -> C

coefficient(x) is the coefficient of F in identityPolynomial(x) that results from a reduction process in case it cannot be inverted. For a coefficient field, it will give 1.

coerce: % -> OutputForm

from CoercibleTo OutputForm

cofactorX: % -> Expression C if C has Comparable

q^alphaOrbbitInfinity(x) * etaQuotient(coSpecification(x),”E”::Symbol).

coSpecification: % -> QEtaSpecification

coExponent(x) returns the specification for the cofactor (generalized) eta-quotient that must be muliplied to the orbit product in order to obtain a modular function.

definingSpecification: % -> QEtaSpecification

definingSpecification(x) returns the specification of (generalized) eta-quotient that forms the generating series of the coefficients a(n), i.e. sum_{n=0}^infty a(n)q^n =

equationX: % -> Equation Expression C if C has Comparable

equationX(x) returns equationX(x,”a”::Symbol).

equationX: (%, Symbol) -> Equation Expression C if C has Comparable

equationX(x,a) returns the result stored in x as an equation of expressions in “E” variables and with a (fractional) power of the q variable.

etaQuotient: (QEtaSpecification, Symbol) -> Fraction Polynomial C

etaQuotient(spec,v) returns the same as monomialQuotient(spec,v).

etaQuotientRepresentation: % -> QEtaSpecificationRing C

etaQuotientRepresentation(x) returns a C-linear combination of eta-quotients. It is replacing any Mi of coefficient(identityPolynomial(x),'F,0) by the respective eta-specification.

etaQuotientX: (QEtaSpecification, Symbol) -> Expression C if C has Comparable

etaQuotientX(spec,v) returns monomialQuotientX(spec,v).

etaRelation: (List SparseUnivariatePolynomial C, List QEtaSpecification, Integer, (Integer, Integer) -> OutputForm, C, Fraction Integer, QEtaSpecification) -> OutputForm

etaRelation(cis, bas, fmt, v, c, e, sspec) returns the eta-relation part multiplied by c*q^e*etaQuotient(sspec).

etaRelationMonomial: (SparseUnivariatePolynomial C, QEtaSpecification, Integer, (Integer, Integer) -> OutputForm, Fraction Integer) -> OutputForm

etaRelationMonomial(ci, rspec, fmt, v, e) return an eta-quoatient given by rspec and coefficient ci which is multiplied by q^e with variables given through v and in a form given by fmt.

expand?: Integer -> Boolean

expand?(fmt) is true if the respective bit in fmt corresponding to formatExpanded() is set.

f: (%, Integer, (Integer, Integer) -> OutputForm, C, Fraction Integer, QEtaSpecification, OutputForm, OutputForm) -> OutputForm

f(id,fmt.v,c,e,rspec,a,n) returns the dissection part of the equation, multiplied by the eta-quotient given by rspec and c*q^e. The coefficient under the sum is named by a and the summation variable is denoted by n.

formatAsNonModular: (Integer)

formatAsNonModular() is a number to be used as a format value in the function pretty. If set like prettyVariable(x,…+formatAsNonModular()+…,e) it means that the output is such that on the left hand side appears only the disected orbit sum without any factor. The corresponding test is modularFunctionIdentity?.

formatExpanded: (Integer)

formatExpanded() is a number to be used as a format value in the function pretty. If set like pretty(x,…+formatExpanded()+…,e) it means that the output is entirely in eta-quotients even the value for M1 (which is otherwise shown as a variable). The corresponding test is expand?.

identity: (QEtaSpecification, QEtaSpecification, PositiveInteger, List NonNegativeInteger, List QEtaSpecification, Polynomial C, QEtaAlgebraBasis QEtaExtendedAlgebra(C, ModularFunctionQSeriesInfinity C, QEtaLazyAlgebra(C, Polynomial C))) -> %

identity(sspec, rspec, m, orb, bspecss, rel, xab) returns a structure that represents all information about the q-expansion of $F_{s,r,m,t}$ at infinity, see Definition of $F_{s,r,m,t}$ in qeta.tex, Equation~eqref{eq:F_s-r-m-t(tau)}. The relations is then c*F=sum_{i}(rel(i)*etaQuotient(bspecs(i))) where F corresponds to the modular function $F_{s,r,m,t}$ in question. t is an element of orb. At the same time this data structure serves as a container for a generalized eta-quotient identity for $F_{bar{s},bar{r},m,t}(tau)$.

identityPolynomial: % -> Polynomial C

identityPolynomial(x) gives the representation of the identity as a polynomial (which equates to zero. This polynomial is in terms of the variables F and Mi where F corresponds to the orbit product together with a prefactor to turn this orbit product into a modular function and the Mi correspond to eta-quotients given by monoidSpecifications(x).

modularFunctionIdentity?: Integer -> Boolean

modularFunctionIdentity?(fmt) is true if the respective bit in fmt corresponding to formatAsNonModular() is not set.

moduleCoefficients: % -> List SparseUnivariatePolynomial C

moduleCoefficients(x) gives the list of coefficients that correspond to the (generalized) eta-quotients given by nonConstantMonoidSpecifications(x) and form the relation that that was computed. Note that the first entry of nonConstantMonoidSpecifications(x) must be replaced by 1 in order to make this relation a true relation.

moduleRepresentation: % -> QEtaSpecificationRing SparseUnivariatePolynomial C

moduleRepresentation(x) returns a C[t]-linear combination of eta-quotients. It is replacing in coefficient(identityPolynomial(x),'F,0) M1 by t and the M2,…Mk by the respective eta-quotients of the module basis.

monoidSpecifications: % -> List QEtaSpecification

monoidSpecifications(x) returns the specifications of the (generalized) eta-quotients that form the combination of the identity. The first non-constant element of this basis is the special element t so that the relation is actually formed by the module over C[t] generated by 1 and rest monoidSpecifications(x).

monomial: (QEtaSpecification, Symbol) -> Polynomial C

monomial(spec,v) assumes that all exponents in the specification are positive and returns a product of powers of specification parts. If [d,g,e] is in parts(spec), then the result is v[d,g]^e where v[d,g] is the symbol v subscripted by [d,g].

monomialQuotient: (QEtaSpecification, Symbol) -> Fraction Polynomial C

monomialQuotient(spec,v) returns monomial(numer(spec),v)/monomial(denom(spec),v).

monomialQuotientX: (QEtaSpecification, Symbol) -> Expression C if C has Comparable

monomialQuotientX(spec,v) returns monomialQuotient(spec,v)::Expression(C).

monomialX: (QEtaSpecification, Symbol) -> Expression C if C has Comparable

monomialX(spec,v) returns monomial(spec,v)::Expression(C).

multiplier: % -> PositiveInteger

multiplier(x) returns factor m to select a certain subsequence a(m*n+k) of the defining series (where k is one number out of orbit(x).

nonConstantMonoidSpecifications: % -> List QEtaSpecification

monoidSpecifications(x) returns specifications for modular (generalized) eta-quotients with a pole only at infinity. nonConstantMonoidSpecifications(x) returns those elements of monoidSpecifications(x) whose pole order at infinity is positive.

nonConstantMonoidSpecifications: List QEtaSpecification -> List QEtaSpecification

monoidSpecifications(x) returns specifications for modular (generalized) eta-quotients with a pole only at infinity. nonConstantMonoidSpecifications(x) returns those elements of monoidSpecifications(x) whose pole order at infinity is positive.

orbit: % -> List NonNegativeInteger

orbit(x) returns the orbit, i.e. only a product of the generating series for $a(m*n+k)$ for all k in the orbit can be turned into a modular function (for Gamma0) by multiplying it with an eta-quotient.

orbitProduct: % -> OutputForm

orbitProduct(x) is the same as orbitProduct(x, a, n) where a and n are the outputforms of the symbols “a” and "n".

orbitProduct: (%, OutputForm, OutputForm) -> OutputForm

orbitProduct(x, a, n) returns the orbit product as an OutputForm where the series coefficients are printed as a(n) and n is the summation variable.

orbitProductX: % -> Expression C if C has Comparable

orbitProductX(x) returns orbitProductX(x,”a”::Symbol).

orbitProductX: (%, Symbol) -> Expression C if C has Comparable

orbitProductX(x,a) returns the respective orbit product part of x as an expression with summation variable n and series variable a(m n + k) where m is the respective multiplier and k is in orbit(x).

pretty: (%, Integer) -> Equation OutputForm

pretty(x, fmt) returns the same as pretty(x,fmt,”a”::Symbol::OutputForm,”n”::Symbol::OutputForm).

pretty: (%, Integer, (Integer, Integer) -> OutputForm) -> Equation OutputForm

pretty(x, fmt, v) returns the same as pretty(x,fmt,v,”a”::Symbol::OutputForm,”n”::Symbol::OutputForm).

pretty: (%, Integer, (Integer, Integer) -> OutputForm, C, Fraction Integer, QEtaSpecification, OutputForm, OutputForm) -> Equation OutputForm

pretty(x, fmt, v, c, e, sspec, a, n) outputs x as computed in eta-quotients, but multiplied by c*q^e*etaQuotient(sspec).

pretty: (%, Integer, (Integer, Integer) -> OutputForm, OutputForm, OutputForm) -> Equation OutputForm

pretty(x,fmt,v,a,n) outputs x as computed with respect to a style given by the fmt parameter. If the lowest bit is set in fmt then, the q factor is shown. If the bit 1 is set, then the t parameter is replaced by the respective eta-quotient, so that the coefficients will just be elements of the coefficient domain. The summation index is n and the coefficients under the sum are a(n).

pretty: (%, Integer, OutputForm, OutputForm) -> Equation OutputForm

pretty(x, fmt, a, n) returns pretty(x, fmt, v, a, n) where v is a variable indexing function chosen by bit 3 and 4 of fmt according to the rules. If bit3=0, then variables are used. If bit0=0, then the variable is “E” otherwise it is “u”. If bit4=0, then no subscripts are uses, bit4=1 means subscripts. If bit3=1, then expressions are used. If bit0=0, then v=varEta. If bit0=1, then v=varPochhammer. The summation index is n and the coefficients under the sum are a(n).

qcofactor: % -> Fraction Polynomial C

qcofactor(x) returns q^alphaInfinity(x)*etaQuotient(coSpecification(x),”u”::Symbol).

qcofactorX: % -> Expression C if C has Comparable

qcofactorX(x) returns qcofactor(x)::Expression(C).

qequationX: % -> Equation Expression C if C has Comparable

qequationX(x) returns qequationX(x,”a”::Symbol).

qequationX: (%, Symbol) -> Equation Expression C if C has Comparable

qequationX(x,a) returns the result stored in x as an equation of expressions in “u” variables and with a power of the q variable.

sumX: (BasicOperator, Symbol, PositiveInteger, NonNegativeInteger) -> Expression C if C has Comparable

sumX(a,n,m,t) returns the expression for $sum_{n=0}^infty{a(m{n}+t)q^n}$.

CoercibleTo OutputForm