CITE THIS NOTEBOOK: Falling and rising factorials by Peter Burbery. Wolfram Community DEC 15 2022.
I wrote about this in another essay on the twelve fold way but I want to reorganize my work for factorials into a separate notebook. I think this will be better organization.
This document is based on the Wikipedia article for falling and rising factorials and my post A systematic approach to combinatorics word problems.
I wanted to add colors to the cells with the new front end toolbar introduced in 13.1. I like light yellow so I made the background light yellow..
In mathematics, the falling factorial (sometimes called the descending factorial, falling sequential product, or lower factorial) is defined as the polynomial
(x)
n
=
n
x
=
nfactors
x(x-1)(x-2)...(x-n+1)
=
n
∏
k=1
(x-k+1)=
n-1
∏
k=0
(x-k)
The rising factorial (sometimes called the Pochhammer function, Pochhammer polynomial, ascending factorial, rising sequential product, or upper factorial) is defined as
(n)
x
=
n
x
=
nfactors
x(x+1)(x+2)...(x+n-1)
=
n
∏
k=1
(x+k-1)=
n-1
∏
k=0
(x+k)
The value of each is taken to be 1 (an empty product) when
n=0
. These symbols are collectively called factorial powers.
When
x
is a positive integer,
(x)
n
gives the number of
n-permutations
of an
x-element
set, or equivalently the number of injective functions from a set of size
n
to a set of size
x
.
Test if the FactorialPower gives the falling factorial:
In[]:=
FactorialPower[x,n]==
n
∏
k=1
(x-k+1)==
n-1
∏
k=0
(x-k)//FullSimplify
Out[]=
True
I can also use SameQ or CodeEquivalentQ from the paclet Code Equivalence Utilities.
The forms are not the same however in Mathematica:
In[]:=
SameQ@@FactorialPower[x,n],
n
∏
k=1
(x-k+1),
n-1
∏
k=0
(x-k)
Out[]=
False
In[]:=
CodeEquivalentQ@@FactorialPower[x,n],
n
∏
k=1
(x-k+1),
n-1
∏
k=0
(x-k)
Out[]=
False
In[]:=
Needs["Wolfram`CodeEquivalenceUtilities`"]
EquivalenceTestData shows why the forms are not the same:
Show the differences between FactorialPower and the first product:
In[]:=
EquivalenceTestDataFactorialPower[x,n],
n
∏
k=1
(x-k+1)
Out[]=
TimingSameQ0.×
-8
10
,EqualQ0.×
-8
10
,ToCanonicalForm10.3594133,ToCanonicalForm20.6406205,Evaluate10.6406205,Evaluate20.6562461,SandboxEquivalentQ0.8749948,SameQFalse,EqualQFalse,CanonicalForms1HoldComplete[FactorialPower[

1
,

2
]],2HoldComplete

3
∏

1
=1
(1-

1
+

2
),CanonicalEquivalentQFalse,SandboxForms1FactorialPower[x,n],2
(1-n+x)Pochhammer[2-n+x,n]
1+x
,SandboxEquivalentQFalse,EquivalentQFalse
Show the differences between the second and third terms. Notice the form with Pochhammer.
In[]:=
EquivalenceTestData
n
∏
k=1
(x-k+1),
n-1
∏
k=0
(x-k)
Out[]=
TimingSameQ0.×
-8
10
,EqualQ0.×
-8
10
,ToCanonicalForm10.0312844,ToCanonicalForm20.0625065,Evaluate10.0781393,Evaluate20.0781393,SandboxEquivalentQ0.3125000,SameQFalse,EqualQFalse,CanonicalForms1HoldComplete

3
∏

1
=1
(1-

1
+

2
),2HoldComplete
-1+

3
∏

1
=0
(-

1
+

2
),CanonicalEquivalentQFalse,SandboxForms1
(1-n+x)Pochhammer[2-n+x,n]
1+x
,2(1-n+x)Pochhammer[2-n+x,-1+n],SandboxEquivalentQFalse,EquivalentQFalse
Show the differences between the third product and FactorialPower:
In[]:=
EquivalenceTestData
n-1
∏
k=0
(x-k),FactorialPower[x,n]
Out[]=
TimingSameQ0.×
-8
10
,EqualQ0.×
-8
10
,ToCanonicalForm10.0468437,ToCanonicalForm20.0937165,Evaluate10.0937165,Evaluate20.1093448,SandboxEquivalentQ0.3280900,SameQFalse,EqualQFalse,CanonicalForms1HoldComplete
-1+

3
∏

1
=0
(-

1
+

2
),2HoldComplete[FactorialPower[

1
,

2
]],CanonicalEquivalentQFalse,SandboxForms1(1-n+x)Pochhammer[2-n+x,-1+n],2FactorialPower[x,n],SandboxEquivalentQFalse,EquivalentQFalse

Examples and combinatorial interpretation

The first few rising factorials are as follows:
In[]:=
Grid[Table[{i,Pochhammer[x,i],Expand[Pochhammer[x,i]]},{i,0,9}],Frame->All]//TraditionalForm
Out[]//TraditionalForm=
0
1
1
1
x
x
2
x(x+1)
2
x
+x
3
x(x+1)(x+2)
3
x
+3
2
x
+2x
4
x(x+1)(x+2)(x+3)
4
x
+6
3
x
+11
2
x
+6x
5
x(x+1)(x+2)(x+3)(x+4)
5
x
+10
4
x
+35
3
x
+50
2
x
+24x
6
x(x+1)(x+2)(x+3)(x+4)(x+5)
6
x
+15
5
x
+85
4
x
+225
3
x
+274
2
x
+120x
7
x(x+1)(x+2)(x+3)(x+4)(x+5)(x+6)
7
x
+21
6
x
+175
5
x
+735
4
x
+1624
3
x
+1764
2
x
+720x
8
x(x+1)(x+2)(x+3)(x+4)(x+5)(x+6)(x+7)
8
x
+28
7
x
+322
6
x
+1960
5
x
+6769
4
x
+13132
3
x
+13068
2
x
+5040x
9
x(x+1)(x+2)(x+3)(x+4)(x+5)(x+6)(x+7)(x+8)
9
x
+36
8
x
+546
7
x
+4536
6
x
+22449
5
x
+67284
4
x
+118124
3
x
+109584
2
x
+40320x
The first few falling factorials are as follows:
In[]:=
Grid[Table[{i,FunctionExpand@FactorialPower[x,i],Expand[FunctionExpand@FactorialPower[x,i]]},{i,0,9}],Frame->All]//TraditionalForm
Out[]//TraditionalForm=
0
1
1
1
x
x
2
(x-1)x
2
x
-x
3
(x-2)(x-1)x
3
x
-3
2
x
+2x
4
(x-3)(x-2)(x-1)x
4
x
-6
3
x
+11
2
x
-6x
5
(x-4)(x-3)(x-2)(x-1)x
5
x
-10
4
x
+35
3
x
-50
2
x
+24x
6
(x-5)(x-4)(x-3)(x-2)(x-1)x
6
x
-15
5
x
+85
4
x
-225
3
x
+274
2
x
-120x
7
(x-6)(x-5)(x-4)(x-3)(x-2)(x-1)x
7
x
-21
6
x
+175
5
x
-735
4
x
+1624
3
x
-1764
2
x
+720x
8
(x-7)(x-6)(x-5)(x-4)(x-3)(x-2)(x-1)x
8
x
-28
7
x
+322
6
x
-1960
5
x
+6769
4
x
-13132
3
x
+13068
2
x
-5040x
9
(x-8)(x-7)(x-6)(x-5)(x-4)(x-3)(x-2)(x-1)x
9
x
-36
8
x
+546
7
x
-4536
6
x
+22449
5
x
-67284
4
x
+118124
3
x
-109584
2
x
+40320x
The coefficients that appear in the expansions are Stirling numbers of the first kind. I'm hoping to write about about Stirling numbers of the first kind later.
When the variable
x
is a positive integer, the number
(x)
n
is equal to the number of
n-permutationsfromanx-set
, that is the number of ways of choosing an ordered list of length
n
consisting of distinct elements drawn from a collection of size
x
. For example, what is the number of different podiums—assignments of gold, silver, and bronze metals—possible in an eight-person race? The answer is:
(8)
3
=8×7×6=336
Also
(x)
n
is the "number of ways to arrange
n
flags on
x
flagpoles", where all flags must be used and each flagpole can have at most one flag. In this context, other notations like
x
P
n
,
x
P
n
, or P(x,n) are also sometimes used.

Properties

The rising and falling factorials are simply related to one another:
(n)
m
=
(m+n-1)
n
=
n
(-1)
(-m)
n
(m)
n
=
(n)
(m-n+1)
=
n
(-1)
(n)
(-m)
The rising and falling factorials are directly related to the ordinary factorial:
n!=
(n)
1
=
(n)
n
(m)
n
=
m!
(m-n)!
(n)
m
=
(m+n-1)!
(m-1)!
The rising and falling factorials can be used to express a binomial coefficient:
(n)
x
n!
=
x+n-1
n

(x)
n
n!
=
x
n

Thus many identities on binomial coefficients carry over to the falling and rising factorials.
I don't really understand what a unital ring is in the next sentence. I get the idea of what a ring is but I don't fully understand what a unital ring is.
The rising and falling factorials are well defined in any unital ring, and therefore
x
can be taken to be, for example, a complex number, including negative integers, or a polynomial with complex coefficients, or any complex-valued function.
The rising factorial can be extended to real values of n using the log-convex gamma function provided
x
and
x+n
are real numbers that are not negative integers:
(n)
x
=
Γ(x+n)
Γ(x)
and so can the falling factorial:
(x)
n
=
Γ(x+1)
Γ(x-n+1)
Falling factorials appear in multiple differentiation of simple power functions:
I'm not sure why FullSimplify didn't work.
I can find an instance of the function however:

Relation to umbral calculus

I entered the following input with DifferenceDelta
Here is the same cell in StandardForm: