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 theq
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 ofF
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 inx
as an equation of expressions in “E” variables and with a (fractional) power of theq
variable.
- etaQuotient: (QEtaSpecification, Symbol) -> Fraction Polynomial C
etaQuotient(spec,v)
returns the same as monomialQuotient(spec
,v
).
- etaQuotientRepresentation: % -> QEtaSpecificationRing C
etaQuotientRepresentation(x)
returns aC
-linear combination of eta-quotients. It is replacing anyMi
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 byrspec
and coefficientci
which is multiplied by q^e with variables given throughv
and in a form given byfmt
.
- expand?: Integer -> Boolean
expand?(fmt)
istrue
if the respective bit infmt
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 byrspec
and c*q^e. The coefficient under the sum is named by a and the summation variable is denoted byn
.
- 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 forM1
(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 theq
-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
))) whereF
corresponds to the modular function $F_
{s
,r
,m
,t
}$ in question.t
is an element oforb
. 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 variablesF
andMi
whereF
corresponds to the orbit product together with a prefactor to turn this orbit product into a modular function and theMi
correspond to eta-quotients given by monoidSpecifications(x
).
- modularFunctionIdentity?: Integer -> Boolean
modularFunctionIdentity?(fmt)
istrue
if the respective bit infmt
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 atrue
relation.
- moduleRepresentation: % -> QEtaSpecificationRing SparseUnivariatePolynomial C
moduleRepresentation(x)
returns aC
[t
]-linear combination of eta-quotients. It is replacing in coefficient(identityPolynomial(x
),'F
,0)M1
byt
and theM2
,…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 elementt
so that the relation is actually formed by the module overC
[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 isv
[d
,g
]^e wherev
[d
,g
] is the symbolv
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 factorm
to select a certain subsequence a(m*n+k) of the defining series (wherek
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 allk
in the orbit can be turned into a modular function (forGamma0
) by multiplying it with an eta-quotient.
- orbitProduct: % -> OutputForm
orbitProduct(x)
is the same as orbitProduct(x
, a,n
) where a andn
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
) andn
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 ofx
as an expression with summation variablen
and series variable a(m
n
+k
) wherem
is the respective multiplier andk
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)
outputsx
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)
outputsx
as computed with respect to a style given by thefmt
parameter. If the lowest bit is set infmt
then, theq
factor is shown. If the bit 1 is set, then thet
parameter is replaced by the respective eta-quotient, so that the coefficients will just be elements of the coefficient domain. The summation index isn
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
) wherev
is a variable indexing function chosen by bit 3 and 4 offmt
according to the rules. Ifbit3=0
, then variables are used. Ifbit0=0
, then the variable is “E” otherwise it is “u”. Ifbit4=0
, then no subscripts are uses,bit4=1
means subscripts. Ifbit3=1
, then expressions are used. Ifbit0=0
, then v=varEta. Ifbit0=1
, then v=varPochhammer. The summation index isn
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 inx
as an equation of expressions in “u” variables and with a power of theq
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
}$.