階乗
に対する二重階乗の値の最初の方は
1, 2, 8, 48, 384, 3840, 46080, 645120, ... (A000165)
で与えられる。
負の奇数にも拡張される( ( − ( 2 n + 1 ) ) ! ! = ( − 1 ) n / ( 2 n − 1 ) ! ! {\displaystyle \left(-(2n+1)\right)!!={(-1)^{n}}/{(2n-1)!!}} )。また、複素数値への拡張として、以下が知られている。
z ! ! = 2 [ 1 + 2 z − cos  ( π z ) ] / 4 π [ cos  ( π z ) − 1 ] / 4 Γ ( 1 + 1 2 z ) {\displaystyle z!!={2}^{\left[1+2z-\cos(\pi z)\right]/4}{\pi }^{\left[\cos(\pi z)-1\right]/4}\Gamma \left(1+{\frac {1}{2}}z\right)}
n k _ = n ! ( n − k ) ! , n k ̄ = ( n + k − 1 ) ! ( n − 1 ) ! , {\displaystyle n^{\underline {k}}={\frac {n!}{(n-k)!}},\quad n^{\overline {k}}={\frac {(n+k-1)!}{(n-1)!}},}
n ! = n n _ = 1 n ̄ . {\displaystyle n!=n^{\underline {n}}=1^{\overline {n}}.}
また一般に実数 x ≠ 0 に対して
x 0 _ = x 0 ̄ = 1 {\displaystyle x^{\underline {0}}=x^{\overline {0}}=1}
と定義する(空積も参照)が x = 0 のときもそうであるかは規約による(例えば上記の関係式 n! = n は n = 0 のとき 1 = 0! = 0 で矛盾しない。0^0も参照)。
多重指数 α = ( α 1 , α 2 , ... , α n ) {\displaystyle \alpha =(\alpha _{1},\alpha _{2},\ldots ,\alpha _{n})} に対し階乗は、
α ! = α 1 ! ⋅ α 2 ! ⋯ α n ! {\displaystyle \alpha !=\alpha _{1}!\cdot \alpha _{2}!\cdots \alpha _{n}!}
と定義できる。これは例えば、多変数関数の展開に使われる。
Π ( n ) = n ! {\displaystyle \Pi (n)=n!}
が成り立つことを思えば、こちらのほうが階乗を補完した函数としては適していると言えるかもしれない。さてパイ函数は階乗が満たすのと同じ漸化式
Π ( z ) = z Π ( z − 1 ) {\displaystyle \Pi (z)=z\Pi (z-1)}
を、しかし定義される限り任意の複素数 z に対して満たす。事実としてはこれはもう漸化式ではなくて函数等式と見るべきものであるが。この函数等式をガンマ函数に関するものに書き換えれば
Γ ( n + 1 ) = n Γ ( n ) {\displaystyle \Gamma (n+1)=n\Gamma (n)}
となる。階乗を延長したものがパイ函数なのだから、定義可能な任意の複素数 z に対して
z ! := Π ( z ) {\displaystyle z!:=\Pi (z)}
と定めることは可能である。これらの補間函数を用いて半整数における階乗の値を定めるならば、例えば
Γ ( 1 2 ) = ( − 1 2 ) ! = Π ( − 1 2 ) = π {\displaystyle \Gamma \left({\frac {1}{2}}\right)=\left(-{\frac {1}{2}}\right)!=\Pi \left(-{\frac {1}{2}}\right)={\sqrt {\pi }}}
が成り立ち、さらに自然数 n ∈ N に対して
Γ ( 1 2 + n ) = ( − 1 2 + n ) ! = Π ( − 1 2 + n ) = π ∏ k = 1 n 2 k − 1 2 = ( 2 n ) ! 4 n n !
) のオーダーは Θ(n log n) であることを言っているのであり、この結果はソートアルゴリズムの計算量を測るのに重要な役割を果たす。さて上記の log(n!) の評価から
e ( n e ) n ≤ n ! ≤ e ( n + 1 e ) n + 1 {\displaystyle e\left({\frac {n}{e}}\right)^{n}\leq n!\leq e\left({\frac {n+1}{e}}\right)^{n+1}}
がわかる。実用上はより弱い結果だがより評価のしやすいものを用いることもある。上記の式から簡単な評価をしてみると、任意の n に対して (n/3) < n! であり、また n ≥ 6 のとき n! < (n/2) であることなどが分かる。
大きな n に対して n ! をよりよく評価するにはスターリングの公式
n ! ∼ 2 π n ( n e ) n {\displaystyle n!\sim {\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}}
を利用する。(ここで ∼ {\displaystyle \sim } は両辺の比が 1 に収束することを表す。)実は任意の n に対して
2 π n ( n e ) n < n !
を与えた。
さて、任意の複素数 z ≠ 0 に対して log(z!) = P(z) あるいは log(Γ(z + 1)) = P(z) とするのは誤りであり、実際には実軸の近くの特定の範囲の z でしか成り立たない(一方 |I(Γ(z + 1))| < π である。引数の実部は大きいほど、虚部はより小さくなければならない。しかし逆の関係式 z! = exp(P(z)) は原点を除くガウス平面の全域で有効である。ただし実軸の負の部分では収束性は弱くなる(特異点の周辺ではどのような近似もよい収束性を得ることが難しい)。一方、|I(z)| > 2 または R(z) > 2 の範囲では上記の六つの係数は double 精度の複素数に対してその階乗の近似値を得るのに十分である。より高い精度でより多くの係数を計算するには rational QD-scheme (H. Rutishauser's QD algorithm)を用いる。