Skip to content

Pochhammer ​

The rising factorial (a)_n = a(a+1)(a+2)…(a+n−1).

✓ checked against that system · ! checked, with disagreements (hover a chip)WikipediaFalling and rising factorialsMathWorldPochhammerSymbolWikidataQ2339261DLMF5.2FungrimRisingFactorialWolfram LanguagePochhammer✓
Pochhammer(a, n)the rising factorial (a)n(a)_n.
SageMathrising_factorial(a, n)SymPyrf(a, n)mpmathrf(a, n)Juliaenumeratio_ball(_rising, a, n)
Typed signatures
TypePackageApplies
(complex | infinity, complex | infinity) -> numbercompute-enginealways
(complex | infinity, complex | infinity) -> numbernumber-theoryreplaces compute-enginealways

Domain: Combinatorics

Details
  • Closed form via the Gamma function: (a)n=Γ(a+n)Γ(a)(a)_n = \frac{\Gamma(a+n)}{\Gamma(a)}.
  • (1)n=n!(1)_n = n!, since the rising factorial from 1 just counts up to n.
  • Negative order gives the falling reciprocal: (a)−n=1(a−1)(a−2)⋯(a−n)(a)_{-n} = \frac{1}{(a-1)(a-2)\cdots(a-n)}.
  • Dividing by k!k! counts multisets: (n+k−1k)=(n)kk!\binom{n+k-1}{k} = \frac{(n)_k}{k!}.
  • If a is a non-positive integer with ∣a∣<n|a| < n, the product picks up a zero factor and vanishes.
  • A building block of hypergeometric series, where it appears in both numerator and denominator terms.

Plot

ComplexPlot
real slice

Examples

1 more kept as data, checked against the oracles
Basic #

5 × 6 × 7

live ↗
InPochhammer(5,3)\mathrm{Pochhammer}(5, 3)Out210210

An empty product is 1

live ↗
InPochhammer(2,0)\mathrm{Pochhammer}(2, 0)Out11

(1)_5 equals 5!

live ↗
InPochhammer(1,5)\mathrm{Pochhammer}(1, 5)Out120120
live ↗
InPochhammer(3,4)\mathrm{Pochhammer}(3, 4)Out360360

10 × 11 × 12 × 13 × 14 × 15

live ↗
InPochhammer(10,6)\mathrm{Pochhammer}(10, 6)Out3 603 6003\,603\,600

Threads element-wise over a list, as Wolfram's Listable heads do

live ↗
InPochhammer([2,3,4],2)\mathrm{Pochhammer}(\bigl\lbrack2, 3, 4\bigr\rbrack, 2)Out[6,12,20]\bigl\lbrack6, 12, 20\bigr\rbrack

A symbolic base with integer order expands to the product

live ↗
InPochhammer(n,5)\mathrm{Pochhammer}(n, 5)Outn×(n+1)(n+2)(n+3)(n+4)n×(n+1)(n+2)(n+3)(n+4)

A negative order expands to the reciprocal falling product

live ↗
InPochhammer(n,−5)\mathrm{Pochhammer}(n, -5)Out1(n−5)(n−4)(n−3)(n−2)(n−1)\frac{1}{(n-5)(n-4)(n-3)(n-2)(n-1)}

Real base and order evaluate as Γ(a+n)Γ(a)\frac{\Gamma(a+n)}{\Gamma(a)}

live ↗
InPochhammer(2.4,8.5)\mathrm{Pochhammer}(2.4, 8.5)Out2 310 224.673 240 707 780 572\,310\,224.673\,240\,707\,780\,57

A zero base gives 0 for any positive order

live ↗
InPochhammer(0,1 285)\mathrm{Pochhammer}(0, 1\,285)Out00

A rational base: 12⋅32⋅52\frac12 \cdot \frac32 \cdot \frac52

live ↗
InPochhammer(12,3)\mathrm{Pochhammer}(\frac{1}{2}, 3)Out158\frac{15}{8}

A rational order evaluates through Gamma, exactly: (32)1/2=Γ(2)Γ(3/2)=2π\left(\frac32\right)_{1/2} = \frac{\Gamma(2)}{\Gamma(3/2)} = \frac{2}{\sqrt\pi}

live ↗
InPochhammer(32,12)\mathrm{Pochhammer}(\frac{3}{2}, \frac{1}{2})Out2π\frac{2}{\sqrt{π}}

Complex base and order evaluate through Gamma

live ↗
InPochhammer(2+5i,8i)\mathrm{Pochhammer}(2+5i, 8i)Out0.000 002 138 682 291 868 096 3−0.000 014 218 737 711 709 974i0.000\,002\,138\,682\,291\,868\,096\,3-0.000\,014\,218\,737\,711\,709\,974i

Dividing by k!k! counts multisets: (n+k−1k)=(n)kk!\binom{n+k-1}{k} = \frac{(n)_k}{k!}, here choosing 3 items from 5 types with repetition

live ↗
InPochhammer(5,3)3!\frac{\mathrm{Pochhammer}(5, 3)}{3!}Out3535

(1)n=n!(1)_n = n!, since the rising factorial from 1 just counts up to n

live ↗
InPochhammer(1,5)=5!\mathrm{Pochhammer}(1, 5)=5!OutTrue\mathrm{True}

Negative order gives the reciprocal: (a)−n=1(a−1)(a−2)⋯(a−n)(a)_{-n} = \frac{1}{(a-1)(a-2)\cdots(a-n)}, so (5)−2=14⋅3(5)_{-2} = \frac{1}{4\cdot3}

live ↗
InPochhammer(5,−2)\mathrm{Pochhammer}(5, -2)Out112\frac{1}{12}

Order 0 is the empty product: (a)0=1(a)_0 = 1

live ↗
InPochhammer(a,0)\mathrm{Pochhammer}(a, 0)Out11

(a)1=a(a)_1 = a

live ↗
InPochhammer(a,1)\mathrm{Pochhammer}(a, 1)Outaa

The Gamma form (a)n=Γ(a+n)Γ(a)(a)_n = \frac{\Gamma(a+n)}{\Gamma(a)}. See Gamma

live ↗
InPochhammer(4,3)=Γ(7)Γ(4)\mathrm{Pochhammer}(4, 3)=\frac{Γ(7)}{Γ(4)}OutTrue\mathrm{True}

Rising and falling factorials: xn‾=(−1)n (−x)nx^{\underline{n}} = (-1)^n\,(-x)_n

live ↗
InFallingFactorial(5,3)=−Pochhammer(−5,3)\mathrm{FallingFactorial}(5, 3)=-\mathrm{Pochhammer}(-5, 3)OutTrue\mathrm{True}

If a is a non-positive integer with ∣a∣<n|a| < n, the product picks up a zero factor: (−3)(−2)(−1)(0)(-3)(-2)(-1)(0)

live ↗
InPochhammer(−3,4)\mathrm{Pochhammer}(-3, 4)Out00
Scope #

(0)−1=1/(0−1)=−1(0)_{-1} = 1/(0-1) = -1 — exact for any a≤0a \le 0 and negative integer nn (DLMF 5.2.vi)

live ↗
InPochhammer(0,−1)\mathrm{Pochhammer}(0, -1)Out−1-1

(0)−2=1/[(0−1)(0−2)]=1/2(0)_{-2} = 1/[(0-1)(0-2)] = 1/2

live ↗
InPochhammer(0,−2)\mathrm{Pochhammer}(0, -2)Out12\frac{1}{2}
About
Examples24
Checked againstWolfram Language 24 agreeSageMath 22 agree2 errorSymPy 24 agreempmath 20 agreemathlib4 8 agree9 errorJulia 20 agree
CrosswalkWikipediaMathWorldWikidataDLMFFungrimWolfram LanguageSageMathSymPympmathJulia

Implementation

mappedsympypackages/oracle/src/mappings.ts
mappedmpmathpackages/oracle/src/mappings.ts
mappedsagepackages/oracle/src/mappings.ts
mappedjuliapackages/oracle/src/mappings.ts
mappedmathlib4packages/oracle/src/mappings.ts

Nat.ascFactorial n k = n(n+1)...(n+k-1) since Mathlib's 2024 redefinition; natural arguments only, so a rational, real or negative argument fails to typecheck.

See also: Factorial, Binomial