QPochhammer[a,q,n]
gives the
-Pochhammer symbol
.
QPochhammer[a,q]
gives the
-Pochhammer symbol
.
QPochhammer[q]
gives the
-Pochhammer symbol
.
QPochhammer
QPochhammer[a,q,n]
gives the
-Pochhammer symbol
.
QPochhammer[a,q]
gives the
-Pochhammer symbol
.
QPochhammer[q]
gives the
-Pochhammer symbol
.
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
.
.- QPochhammer automatically threads over lists.
Examples
open all close allBasic Examples (4)
QPochhammer[-1.2, .2, 5]Plot over a subset of the reals:
Plot[QPochhammer[q], {q, -1, 1}]Plot over a subset of the complexes:
ComplexPlot3D[QPochhammer[z ^ 2, 1 / 2], {z, -1 - I, 1 + I}, PlotLegends -> Automatic]Series expansion at the origin:
Series[QPochhammer[x], {x, 0, 7}]Scope (22)
Numerical Evaluation (6)
QPochhammer[3, 5, 9]QPochhammer[.4, .2]N[QPochhammer[2 / 7, 1 / 9, 1 / 3], 25]The precision of the output tracks the precision of the input:
QPochhammer[1 / 3, 1 / 9, 1.1111111111111]QPochhammer[.3 + I, .5 - I, 9]Evaluate efficiently at high precision:
QPochhammer[1 / 4, 1 / 5`100]//TimingQPochhammer[1 / 3, 1 / 5`30000];//TimingCompute average-case statistical intervals using Around:
QPochhammer[ 2, Around[.2, 0.01]]Compute the elementwise values of an array:
QPochhammer[3, {{-1, 0}, {0, 5}}, 5]Or compute the matrix QPochhammer function using MatrixFunction:
MatrixFunction[QPochhammer[3, #, 5]&, {{-1, 0}, {0, 5}}]Specific Values (4)
Values of QPochhammer at fixed points:
Table[QPochhammer[x], {x, {0, 1}}]QPochhammer for symbolic parameters:
QPochhammer[a, 2, 1]//FunctionExpandQPochhammer[2, q, 5]//FunctionExpandFinite products evaluate for all Gaussian rational numbers:
QPochhammer[(1 + I/2), (1 - I/2), 10]Find the maximum of QPochhammer[x]:
xmax = x /. FindRoot[D[QPochhammer[x], x] == 0, {x, -0.2}]//ChopPlot[QPochhammer[x], {x, -1, 1}, Epilog -> Style[Point[{xmax, QPochhammer[xmax]}], PointSize[Large], Red]]Visualization (2)
Plot the QPochhammer function:
Plot[QPochhammer[x], {x, -1, 1}]Plot[QPochhammer[x, 1 / 2], {x, -2, 2}]ComplexContourPlot[Re[QPochhammer[z, 1 / 2]], {z, -4 - 4I, 4 + 4I}, Contours -> 20]ComplexContourPlot[Im[QPochhammer[z, 1 / 2]], {z, -4 - 4I, 4 + 4I}, Contours -> 20]Function Properties (9)
FunctionDomain[QPochhammer[x], x]Approximate function range of
:
FunctionRange[QPochhammer[x], x, y]//QuietFunctionAnalytic[QPochhammer[x], x]Has both singularities and discontinuities for x≤-1 or for x≥1:
FunctionSingularities[QPochhammer[x], x]FunctionDiscontinuities[QPochhammer[x], x]
is neither nonincreasing nor nondecreasing:
FunctionMonotonicity[QPochhammer[x], x]QPochhammer is not injective:
FunctionInjective[QPochhammer[x], x]Plot[{QPochhammer[x], .5}, {x, -1, 1}]QPochhammer is not surjective:
FunctionSurjective[QPochhammer[x], x]Plot[{QPochhammer[x], -1}, {x, -1, 1}]QPochhammer is neither non-negative nor non-positive:
FunctionSign[QPochhammer[x], x]QPochhammer is neither convex nor concave:
FunctionConvexity[QPochhammer[x], x]TraditionalForm formatting:
QPochhammer[a, q]//TraditionalFormQPochhammer[a, q, n]//TraditionalFormSeries Expansions (1)
Find the Taylor expansion using Series:
Series[QPochhammer[n, q, x], {q, 0, 3}]//NormalPlots of the first three approximations around
:
terms = Normal@Table[Series[QPochhammer[2, q, 1 / 3], {q, 0, m}], {m, 1, 3}];
Plot[{QPochhammer[2, q, 1 / 3], terms}, {q, 0, 1 / 20}]Applications (11)
-series are building blocks of other
-factorial functions:
FunctionExpand[QGamma[n, q]]QHypergeometricPFQ[{}, {}, q, z]QHypergeometricPFQ[{a}, {}, q, z]QHypergeometricPFQ[{}, {0}, q, q]QHypergeometricPFQ[{}, {0}, q, q^2]Build
-analogs of sine and cosine:
cosq[u_, q_] := (QPochhammer[-I u, q] + QPochhammer[I u, q]) / 2sinq[u_, q_] := -I(QPochhammer[-I u, q] - QPochhammer[I u, q]) / 2Cosq[u_, q_] := (1 / QPochhammer[-I u, q] + 1 / QPochhammer[I u, q]) / 2Sinq[u_, q_] := I(1 / QPochhammer[-I u, q] - 1 / QPochhammer[I u, q]) / 2Verify some analogs of the usual trigonometric identities:
sinq[u, q]Sinq[u, q] + cosq[u, q]Cosq[u, q]//FullSimplifysinq[u, q]Cosq[u, q] - cosq[u, q]Sinq[u, q]//FullSimplifyPlot[{sinq[u, 1 / 2], cosq[u, 1 / 2]}, {u, 0, π}, PlotRange -> All]Plot[{Sinq[u, 1 / 2], Cosq[u, 1 / 2]}, {u, 0, 2π}, PlotRange -> All]qPower[x_, a_, n_, q_] := x^n QPochhammer[(a/x), q, n]qPower[x, a, 3, q]//FunctionExpand//FactorDq[f_, x_] := (f /. x -> x q) - f(Dq[qPower[x, a, n, q], x]/Dq[x, x]) == (1 - q^n/1 - q)qPower[x, a, n - 1, q] /. n -> 5//FullSimplifyDemonstrate the pentagonal number theorem:
Series[QPochhammer[q], {q, 0, 27}]Sum[(-1)^kq^PolygonalNumber[5, k], {k, -4, 4}]An alternative formulation in terms of a Dirichlet character modulo 12:
Sum[DirichletCharacter[12, 4, k]q^(k^2 - 1/24), {k, 1, 25}]Series[(1/QPochhammer[q]), {q, 0, 10}]Sum[PartitionsP[n]q^n, {n, 0, 10}]Series[(1/QPochhammer[q, q^2]), {q, 0, 10}]Sum[PartitionsQ[n]q^n, {n, 0, 10}]Verify Jacobi's triple product identity through series expansion:
QPochhammer[q^2]QPochhammer[-q z, q^2]QPochhammer[-q / z, q^2]Series[% - Sum[z^nq^n^2, {n, -10, 10}], {q, 0, 100}]Find RamanujanTau from its generating function, the modular discriminant:
q QPochhammer[q] ^ 24 + O[q] ^ 20Sum[RamanujanTau[n]q ^ n, {n, 20}] + O[q] ^ 21Define a function for computing the conjugate of an integer partition:
conjugatePartition[p_] := Total[UnitStep[Outer[Plus, p, -Range[First[p]]]]]Count the number of integer partitions of
that are self-conjugate:
n = 23;
Count[IntegerPartitions[n], p_ /; p === conjugatePartition[p]]Compute the same result from the generating function:
SeriesCoefficient[QPochhammer[-q, q^2], {q, 0, n}]The probability that the determinant of a random uniform matrix in a finite field of characteristic
is zero:
ZeroDetProbability[n_, p_] = 1 - Product[1 - p^k - n, {k, 0, n - 1}]Compute the probability for a
matrix in a field of characteristic 2:
ZeroDetProbability[5, 2]//Nrandomdet[n_, p_] := Mod[Det[RandomInteger[{0, p - 1}, {n, n}]], p]With[{n = 1*^5}, Length[Table[If[randomdet[5, 2] == 0, 1, Nothing], {n}]] / n]//NNeat Examples (4)
Hirschhorn's modular identity
:
Series[QPochhammer[q] ^ 5 - QPochhammer[q ^ 5], {q, 0, 20}]Collect[%, q, Mod[#, 5]&]The boundary of the unit disk contains a dense subset of essential singularities of
:
With[{b = 0.99}, ContourPlot[Abs[QPochhammer[x + I y]], {x, y}∈Disk[{0, 0}, b]]]Expand the Rogers–Ramanujan continued fraction into a series:
Series[q^1 / 5ContinuedFractionK[q^k, 1, {k, 0, 4}], {q, 0, 12}]Compare with the closed form in terms of QPochhammer:
Series[q^1 / 5 (QPochhammer[q, q^5] QPochhammer[q^4, q^5]/QPochhammer[q^2, q^5] QPochhammer[q^3, q^5]), {q, 0, 12}]Visualize the Rogers–Ramanujan continued fraction over the unit disk:
Module[{f, r = 0.995},
f[q_ ? NumberQ] := If[Abs[q] > r, 0, Arg[q^1 / 5 (QPochhammer[q, q^5] QPochhammer[q^4, q^5]/QPochhammer[q^2, q^5] QPochhammer[q^3, q^5])]];
DensityPlot[f[qx + I qy], {qx, qy}∈Disk[{0, 0}, r], IconizedObject[«plot options»]]]Visualize a partial sum of the "strange function" of Kontsevich and Zagier in the complex plane:
ComplexPlot[Underoverscript[∑, k = 0, 19]QPochhammer[q, q, k], {q, -2 - 2I, 2 + 2I}]Related Guides
Related Links
History
Text
Wolfram Research (2008), QPochhammer, Wolfram Language function, https://reference.wolfram.com/language/ref/QPochhammer.html.
CMS
Wolfram Language. 2008. "QPochhammer." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/QPochhammer.html.
APA
Wolfram Language. (2008). QPochhammer. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/QPochhammer.html
BibTeX
@misc{reference.wolfram_2026_qpochhammer, author="Wolfram Research", title="{QPochhammer}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/QPochhammer.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_qpochhammer, organization={Wolfram Research}, title={QPochhammer}, year={2008}, url={https://reference.wolfram.com/language/ref/QPochhammer.html}, note=[Accessed: 13-June-2026]}