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

*: (%, %) -> %

from Magma

/: (%, %) -> %

from Group

<=: (%, %) -> Boolean

from PartialOrder

<: (%, %) -> Boolean

from PartialOrder

=: (%, %) -> Boolean

from BasicType

>=: (%, %) -> Boolean

from PartialOrder

>: (%, %) -> Boolean

from PartialOrder

^: (%, Integer) -> %

from Group

^: (%, NonNegativeInteger) -> %

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

coerce: % -> OutputForm

from CoercibleTo OutputForm

coerce: QEtaSpecification -> %

from CoercibleFrom QEtaSpecification

commutator: (%, %) -> %

from Group

conjugate: (%, %) -> %

from Group

denom: % -> %

from QEtaSpecificationCategory

dilate: (%, PositiveInteger) -> %

from QEtaSpecificationCategory

eulerProduct: QEtaSpecification -> %

eulerProduct(x) returns the eta-specification without the q^rhoInfinity(x) factor. It holds (x::%)=qPower(rhoInfinity(x))*eulerProduct(x).

exponent: (%, List Integer) -> Integer

exponent(x, idx) returns exponent(x, vector idx).

exponent: (%, Vector Integer) -> Integer

exponent(x,idx) returns the exponent of x corresponding to the index idx. 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 pure q-Pochhammer symbol, i.e. one of the form $(q^d,q^d)_infty$, whereas [0,r] seeks for the exponent of the prefactor q^(1/r).

exponents: (%, List List Integer) -> List Integer

exponents(x,idxs) returns the exponents of x corresponding to the indices idxs.

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 of x corresponding to non-zero exponents.

inv: % -> %

from Group

latex: % -> String

from SetCategory

leftPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

leftPower: (%, PositiveInteger) -> %

from Magma

leftRecip: % -> Union(%, failed)

from MagmaWithUnit

level: % -> PositiveInteger

from QEtaSpecificationCategory

lift: % -> QEtaSpecification

lift(x) returns retract(x * missingSpecificationForEta x)

max: (%, %) -> %

from OrderedSet

min: (%, %) -> %

from OrderedSet

missingSpecificationForEta: % -> %

missinSpecificationForEta(x) returns a q-Pochhammer specification y such that retractIfCan(x*y) gives a corresponding eta-quotient specification. y will only consist of specifications with parts [d,g,e] of length 3 and either d=0 or 2*g>=d.

monomial: % -> Polynomial Integer

from QEtaSpecificationCategory

monomial: (%, String, String) -> Polynomial Integer

from QEtaSpecificationCategory

numer: % -> %

from QEtaSpecificationCategory

one?: % -> Boolean

from MagmaWithUnit

parts: % -> List List Integer

parts(x) returns concat(pureParts x, properGeneralizedParts x) with [0,d,n] prepended if n/d=qExponent(x) is non-zero.

pretty: % -> OutputForm

pretty(x) returns pretty(x, expression), i.e. shows x as a product of q-Pochhammer forms.

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

pretty(x, v) shows x with possibly negative exponents where the format is given by v.

prettyQuotient: % -> OutputForm

prettyQuotient(x) returns prettyQuootient(x, expression), i.e. shows x as a quotient of q-Pochhammer forms.

prettyQuotient: (%, (Integer, Integer) -> OutputForm) -> OutputForm

prettyQuotient(x) basically returns pretty(numer(x),v)/pretty(denom(x),v), i.e. shows x as a quotient.

properGeneralizedParts: % -> List List Integer

properGeneralizedParts(x) returns the list of indicies and exponents of the q-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) returns true if x contains only parts that corresponds to q-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 the q-Pochhammer specification that corresponds to pure q-Pochhammer symbols of the form $(q^d,q^d)_infty^e$. Each element of the result is a two-element list [d,e].

purify: % -> %

from QEtaSpecificationCategory

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]]) if p1 and p2 are polynomials in the variable q of the p1=q^d, p2=s*q^g where s=1 or s=-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]]) if p is a polynomial in the variable q of the form q^d. Otherwise, it is an error.

qPower: Fraction Integer -> %

qPower(a/b) returns a specification for q^(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

from QEtaSpecificationCategory

quotient: (%, String) -> Fraction Polynomial Integer

from QEtaSpecificationCategory

recip: % -> Union(%, failed)

from MagmaWithUnit

retract: % -> QEtaSpecification

from RetractableTo QEtaSpecification

retractIfCan: % -> Union(QEtaSpecification, failed)

from RetractableTo QEtaSpecification

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) -> %

from QEtaSpecificationCategory

specification: (Polynomial Integer, String) -> %

from QEtaSpecificationCategory

specification: Fraction Polynomial Integer -> %

from QEtaSpecificationCategory

specification: List List Integer -> %

specification(rbar) returns the specification of a q-Pochhammer-quotient given by a list of (index, exponent) pairs where an index can be either a positive integer d or a pair (d,g) of such a d and a non-zero number g with -d<=g<=d.. In more detail an element l of rbar can 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$ if g>0 d) [d,-g,e] -- stands for $(-q^g;q^d)_infty^e$ if g>0 -- will be treated like two triples [2*d,2*g,e],[d,g,-e] e) [d,0,e] -- is not allowed f) [d,g1,…,gr,e] -- stands for [[d,g1,e],…,[d,gr,e]] g) [0,r] -- stands for q^(1/r) prefactor h) [0,r,e] -- stands for q^(e/r) prefactor Note that you can apply the function purify to such an eta-quotient. If rbar is empty, then the result corresponds to 1.

specification: Polynomial Integer -> %

from QEtaSpecificationCategory

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) returns v(d,g)^e if d>0 and q^(e/g) if d=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.

BasicType

CoercibleFrom QEtaSpecification

CoercibleTo OutputForm

CommutativeStar

Comparable

Group

Hashable

Magma

MagmaWithUnit

Monoid

OrderedSet

PartialOrder

QEtaSpecificationCategory

RetractableTo QEtaSpecification

SemiGroup

SetCategory

TwoSidedRecip

unitsKnown