QPochhammerSpecification¶
qpochspec.spad line 228 [edit on github]
QPochhammerSpecification helps translate various formats of user data into a common format that specifies a quotient of q-Pochhammer symbols.
- 1: %
from MagmaWithUnit
- <=: (%, %) -> Boolean
from PartialOrder
- <: (%, %) -> Boolean
from PartialOrder
- >=: (%, %) -> Boolean
from PartialOrder
- >: (%, %) -> Boolean
from PartialOrder
- ^: (%, Integer) -> %
from Group
- ^: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- ^: (%, PositiveInteger) -> %
from Magma
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- coerce: QEtaSpecification -> %
- commutator: (%, %) -> %
from Group
- denom: % -> %
- dilate: (%, PositiveInteger) -> %
- eulerProduct: QEtaSpecification -> %
eulerProduct(x)returns the eta-specification without the q^rhoInfinity(x) factor. It holds (x::%)=qPower(rhoInfinity(x))*eulerProduct(x).
- exponent: (%, Vector Integer) -> Integer
exponent(x,idx)returns the exponent ofxcorresponding to the indexidx. The index is either given as a two element list [d,g] with 0<g<d or [0,r] or [d]. The latter case corresponds to asking for the exponent of a pureq-Pochhammer symbol, i.e. one of the form $(q^d,q^d)_infty$, whereas [0,r] seeks for the exponent of the prefactorq^(1/r).
- exponents: (%, List List Integer) -> List Integer
exponents(x,idxs)returns the exponents ofxcorresponding to the indicesidxs.
- expression: (Integer, Integer) -> OutputForm
expression(d,g)generates $(q^g;q^d)_infty$ as an OutputForm. Requirement: 0<g<d, 2*g~=d.
- hash: % -> SingleInteger
from Hashable
- hashUpdate!: (HashState, %) -> HashState
from Hashable
- indices: % -> List List Integer
indices(x)returns the indices ofxcorresponding to non-zero exponents.
- latex: % -> String
from SetCategory
- leftPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- leftPower: (%, PositiveInteger) -> %
from Magma
- leftRecip: % -> Union(%, failed)
from MagmaWithUnit
- level: % -> PositiveInteger
- lift: % -> QEtaSpecification
lift(x)returns retract(x* missingSpecificationForEtax)
- max: (%, %) -> %
from OrderedSet
- min: (%, %) -> %
from OrderedSet
- missingSpecificationForEta: % -> %
missinSpecificationForEta(
x) returns aq-Pochhammer specificationysuch that retractIfCan(x*y) gives a corresponding eta-quotient specification.ywill only consist of specifications with parts [d,g,e] of length 3 and eitherd=0or 2*g>=d.
- monomial: % -> Polynomial Integer
- monomial: (%, String, String) -> Polynomial Integer
- numer: % -> %
- one?: % -> Boolean
from MagmaWithUnit
- parts: % -> List List Integer
parts(x)returns concat(purePartsx, properGeneralizedPartsx) with [0,d,n] prepended if n/d=qExponent(x) is non-zero.
- pretty: % -> OutputForm
pretty(x)returns pretty(x, expression), i.e. showsxas a product ofq-Pochhammer forms.
- pretty: (%, (Integer, Integer) -> OutputForm) -> OutputForm
pretty(x, v)showsxwith possibly negative exponents where the format is given byv.
- prettyQuotient: % -> OutputForm
prettyQuotient(x)returns prettyQuootient(x, expression), i.e. showsxas a quotient ofq-Pochhammer forms.
- prettyQuotient: (%, (Integer, Integer) -> OutputForm) -> OutputForm
prettyQuotient(x)basically returns pretty(numer(x),v)/pretty(denom(x),v), i.e. showsxas a quotient.
- properGeneralizedParts: % -> List List Integer
properGeneralizedParts(x)returns the list of indicies and exponents of theq-Pochhammer specification that corresponds to $(q^g,q^d)_infty^e$ with 0<g<d. Each element is a 3-element list of the form [d,g,e] with 0<g<=d.
- pure?: % -> Boolean
pure?(x)returnstrueifxcontains only parts that corresponds toq-Pochhammer symbols of the form $(q^d,q^d)_infty$. The qExponent(x) is neglected in this function.
- pureParts: % -> List List Integer
pureParts(x)returns the part of theq-Pochhammer specification that corresponds to pureq-Pochhammer symbols of the form $(q^d,q^d)_infty^e$. Each element of the result is a two-element list [d,e].
- purify: % -> %
- qExponent: % -> Fraction Integer
qExponent(x)returns e/r if there is an entry of the form [0,r,e] stored in parts(x), otherwise it returns 0.
- qPochhammer: (Polynomial Integer, Polynomial Integer) -> %
qPochhammer(p1,p2)returns specification([[d,s*g]]) ifp1andp2are polynomials in the variableqof the p1=q^d, p2=s*q^g wheres=1ors=-1. Otherwise, it is an error.
- qPochhammer: List Polynomial Integer -> %
qPochhammer([p0,p1,...,p_r])returns 1 if the list is empty, returns qPochhammer(p0) or qPochhammer(p0,p1) if the length of the list is smaller than 3, and returns qPochhammer(p0,p1)*…*qPochhammer(p0,pr) otherwise.
- qPochhammer: Polynomial Integer -> %
qPochhammer(p)returns specification([[d]]) ifpis a polynomial in the variableqof the formq^d. Otherwise, it is an error.
- qPower: Fraction Integer -> %
qPower(a/b)returns a specification forq^(a/b). It is equivalent to specification([[0,b,a]])
- qPower: Integer -> %
qPower(n)returns the same as qPower(n/1). It is equivalent to specification([[0,1,n]])
- quotient: % -> Fraction Polynomial Integer
- quotient: (%, String) -> Fraction Polynomial Integer
- recip: % -> Union(%, failed)
from MagmaWithUnit
- retractIfCan: % -> Union(QEtaSpecification, failed)
- rightPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- rightPower: (%, PositiveInteger) -> %
from Magma
- rightRecip: % -> Union(%, failed)
from MagmaWithUnit
- sample: %
from MagmaWithUnit
- smaller?: (%, %) -> Boolean
from Comparable
- specification: (Fraction Polynomial Integer, String) -> %
- specification: (Polynomial Integer, String) -> %
- specification: Fraction Polynomial Integer -> %
- specification: List List Integer -> %
specification(rbar)returns the specification of aq-Pochhammer-quotient given by a list of (index, exponent) pairs where an index can be either a positive integerdor a pair (d,g) of such adand a non-zero numbergwith -d<=g<=d.. In more detail an elementlofrbarcan have the following form: a) [d]--this is equivalent to [d,1]b) [d,e]--stands for $(q^d,q^d)_infty^e = (q^d)_|infty^e$c) [d,g,e]--stands for $(q^g;q^d)_infty^e$ ifg>0d) [d,-g,e]--stands for $(-q^g;q^d)_infty^e$ ifg>0--will be treated like two triples [2*d,2*g,e],[d,g,-e]e) [d,0,e]--is not allowedf) [d,g1,…,gr,e]--stands for [[d,g1,e],…,[d,gr,e]]g) [0,r]--stands forq^(1/r) prefactorh) [0,r,e]--stands forq^(e/r) prefactor Note that you can apply the function purify to such an eta-quotient. Ifrbaris empty, then the result corresponds to 1.- specification: Polynomial Integer -> %
- var: Symbol -> (Integer, Integer) -> OutputForm
var(v)(d,g) generates vd_g as an OutputForm. Requirement: 0<g<d, 2*g~=d.
- varPower: (List Integer, (Integer, Integer) -> OutputForm) -> OutputForm
varPower([d,g,e], v)returnsv(d,g)^e ifd>0andq^(e/g) ifd=0.
- varsub: Symbol -> (Integer, Integer) -> OutputForm
varsub(v)(d,g) generates subscript(v,[d,g]) as an OutputForm. Requirement: 0<g<d, 2*g~=d.
CoercibleFrom QEtaSpecification