QPochhammer¶
Status: Stable
documented, exercised by the test suite and/or worked examples, with no known limitations recorded.
Description¶
QPochhammer[a, q, n]
gives the q-Pochhammer symbol prod_{k=0}^{n-1} (1 - a q^k).
QPochhammer[a, q] gives the infinite q-Pochhammer (a;q)_Inf for |q|<1. The finite form is exact/symbolic for a non-negative integer n; the infinite form evaluates for machine-real a, q. Listable, NumericFunction.
Examples (1)¶
Every input below was run against the current Mathilda build and its output recorded.
Basic examples (1)¶
Algorithm¶
Mathilda -- QPochhammer, the q-Pochhammer symbol (q-shifted factorial).
QPochhammer[a, q, n] = prod_{k=0}^{n-1} (1 - a q^k)
QPochhammer[a, q] = prod_{k=0}^{Infinity} (1 - a q^k) ((a;q)_inf)
Finite form (3 args): for a non-negative integer n the product is built and handed to the evaluator, which reduces it exactly for exact a, q and at
symbolic / non-integer n is left unevaluated -- which is exactly what Product relies on to emit QPochhammer[a, q, n] as a closed form.
Infinite form (2 args): evaluated for machine-real a, q with |q| < 1 by
accumulating factors until they fall below machine epsilon. Symbolic or
|q| >= 1 inputs stay unevaluated.
Memory: honours the builtin ownership contract (never frees res).
Implementation notes¶
Attributes: Listable, NumericFunction, Protected.
References¶
See also: Product
- Source:
src/info.c - Specification:
docs/spec/builtins/special-functions.md - Tests:
tests/test_compile.c - Tests:
tests/test_product.c - Tests:
tests/test_product_special.c - Tests:
tests/test_sum_product_families.c