n!
n の階乗を与える.
Factorial 
n!
n の階乗を与える.
予備知識
- Factorialは階乗関数を表す.具体的に言うと,Factorial[n]は与えられた数
の階乗
を返す.これは,正の整数については,
と定義される.n1,2,…の最初のいくつかの値は1,2,6,24,120,720,…となる.特殊ケースの
は1と定義される.この定義は,0個のオブジェクトを並べる方法は厳密に1通りであるという組合せ論の解釈と矛盾しない.一般的な複素数
については,
となる.ここに含まれるGamma関数
は,
が負の整数である場合(この場合の
は複素無限大となる)を除く,
のすべての複素値について,
と定義される.半整数の階乗は
の有理数倍で表される. - 階乗は,置換として知られる,リストの元の一定の順序への並べ替えを数える場合がよく知られている.置換はPermutationsで生成することができる.相異なる
個の元のリストには
通りの置換がある.これは,最初の元が置ける場所は
個,最初の元の場所が決まった後で2番目の元が置ける場所は
個,最初の2個の元の場所が決まった後で3番目の元が置ける場所は
個と言う具合にして,最後に残った場所に最後に残った元を置くまで続ける.これに従うと,
の置換は
通りで,
,
,
,
,
,
となる. - より一般的に言うと,相異なる
個の元(
番目の元は
個のコピーを持つ)の
個の多重集合(したがって,
)の置換数は,Multinomialが与える多項係数
に等しい.多項係数
もまた,
個の元を,大きさが n1,…,nkのラベル付きの
個の部分集合に分割する方法を数える.これは,Binomialが与える二項係数
と同じで,
元の集合の
元部分集合を数えると定義され,
を満足する. - 階乗関数は,再帰関数
および
を満足する.階乗関数は,スターリング(Stirling)の近似
が示すように,他のどの指数関数よりも急激に増大する.階乗は整数論とその解析の基本的な結果にも出現する.ウィルソン(Wilson)の定理には,
が素数のときかつそのときに限り
,とある.
が無限に微分可能なスカラー関数であれば,点
(Seriesで計算可)の周りのテイラー(Taylor)級数表現は
で与えられる.指数関数
のテイラー級数で
および
と設定すると,E(自然対数の底)についての美しい恒等式
が与えられる. - Factorialと関連がある,あるいはこれの一般化である関数には,Factorial2,FactorialPower,
,QFactorial,BarnesG,Pochhammerがある.
例題
すべて開く すべて閉じる例 (6)
Table[n!, {n, 10}]25!(1.5)!Plot[Factorial[x], {x, -5, 5}]ComplexPlot3D[Factorial[z], {z, -2 - 2I, 2 + 2I}, PlotLegends -> Automatic]Series[Factorial[x], {x, 0, 2}]//FullSimplifyInfinityにおける級数展開:
Series[Factorial[x], {x, ∞, 2}]//FullSimplify//Normalスコープ (35)
数値評価 (6)
Factorial[4]Factorial[0]N[Factorial[1 / 13], 10]Factorial[5.211111111111111111]N[Factorial[2 + I]]Factorial[13`100]//TimingFactorial[45`1000];//TimingIntervalオブジェクトとCenteredIntervalオブジェクトを使って最悪の場合に保証される区間を計算する:
Factorial[Interval[{2.1, 2.2}]]Factorial[CenteredInterval[4, 1 / 100]]Aroundを使って平均的な場合の統計区間を計算することもできる:
Factorial[Around[2, 0.01]]Factorial[{{1, 2}, {3, 4}}]MatrixFunctionを使って行列のFactorial関数を計算することもできる:
MatrixFunction[Factorial, {{1, 2}, {3, 4}}]//FullSimplify特定の値 (5)
固定点におけるFactorialの値:
Table[Factorial[x ], {x, 1, 4}]Factorial[0]10000!//ShortN[%](1 / 2)!Factorial[x]の正の最小値を求める:
xmin = FindRoot[D[Factorial[x ], x] == 0, {x, 0.2}][[1, 2]]Plot[Factorial[x], {x, -2, 4}, Epilog -> Style[Point[{xmin, Factorial[xmin]}], PointSize[Large], Red]]可視化 (2)
Factorial関数をプロットする:
Plot[Factorial[x], {x, -5, 5}]ComplexContourPlot[Re[Factorial[z]], {z, -1 - I, 1 + I}, Contours -> 20]ComplexContourPlot[Im[Factorial[z]], {z, -1 - I, 1 + I}, Contours -> 20]関数の特性 (10)
FunctionDomain[Factorial[x], x]FunctionDomain[Factorial[z], z, Complexes]Factorialは要素単位でリストに縫い込まれる:
{2, 3, 5, 7, 11}!FullSimplify[Factorial[Conjugate[z]] == Conjugate[Factorial[z]]]Factorialは解析関数ではない:
FunctionAnalytic[Factorial[z], z]FunctionMeromorphic[Factorial[z], z]Factorialは非減少でも非増加でもない:
FunctionMonotonicity[{Factorial[z], z > -1}, z]Factorialは単射ではない:
FunctionInjective[Factorial[z], z]Plot[{Factorial[z], 1.2}, {z, -5, 5}]Factorialは全射ではない:
FunctionSurjective[Factorial[z], z]Plot[{Factorial[z], 0}, {z, -5, 5}]Factorialは非負でも非正でもない:
FunctionSign[Factorial[z], z]Factorialは負の整数について特異点と不連続点の両方を持つ:
FunctionSingularities[Factorial[z], z]FunctionDiscontinuities[Factorial[z], z]Factorialは凸でも凹でもない:
FunctionConvexity[Factorial[z], z]微分 (2)
級数展開 (6)
Seriesを使ってテイラー(Taylor)展開を求める:
Series[Factorial[x], {x, 0, 3}]// Normal// FullSimplifyterms = Normal@Table[Series[Factorial[x], {x, 0, m}], {m, 1, 5, 2}];
Plot[{Factorial[x], terms}, {x, -5, 5}]Infinityにおける級数展開(スターリング(Stirling)の近似)を求める:
Series[Factorial[x], {x, Infinity, 1}]Simplify[Normal[%]]Series[n!, {n, 1, 2}]Series[Factorial[x], {x, DirectedInfinity[z], 1}, Assumptions -> x > 0]// FullSimplifySeries[Factorial[x], {x, -1, 2}, Assumptions -> x > 1]//FullSimplifySeries[Factorial[x], {x, x0, 2}]// FullSimplify再帰恒等式と簡約 (2)
関数表現 (2)
Integrate[t ^ n Exp[-t], {t, 0, Infinity}, Assumptions -> Re[n] > -1]TraditionalFormによる表示:
Factorial[z]//TraditionalForm一般化と拡張 (4)
N[(22 / 10)!, 50](2.20000000000000000000000)!Factorial[Infinity]Factorial[-Infinity]Factorialは導関数を許容する:
D[n!, n]アプリケーション (6)
Table[(n - 1 / 2)!, {n, 10}]Length[Permutations[Range[6]]]6!複素平面におけるFactorialの絶対値のプロット:
Plot3D[Abs[Factorial[x + I y]], {x, -5, 2}, {y, -1, 1}]Series[(n + α)! / (n + β)!, {n, Infinity, 2}]//SimplifyPi ^ (n / 2) / (n / 2)!Table[% r ^ n, {n, 1, 4}]ListPlot[Table[%%, {n, 0, 25}]]Series[n!, {n, -Infinity, 3}]Simplify[Normal[%]]特性と関係 (9)
FullSimplifyを使ってFactorialを含む式を簡約する:
FullSimplify[(n + 3)! / n!]Factorialを含む母関数の総和を計算する:
Sum[x ^ n / n!, {n, Infinity}]Factorialを含む数値的な総和を計算する:
Underoverscript[∑, k = 0, n]k!Underoverscript[∑, k = 1, n](k - 1/k!)Sum[k! * x ^ k, {k, 0, Infinity}, Assumptions -> x != 0]Sum[k! x ^ k, {k, 0, Infinity}, Regularization -> "Borel"]Series[%, {x, 0, 12}]Series[HypergeometricPFQ[{1, 1}, {}, x], {x, 0, 12}]Integrate[Log[n!], {n, 0, 1}]Product[(3k + 1)!, {k, n}]Round[% /. n -> 10]Product[(3k + 1)!, {k, 10}]FactorialはDifferenceRootとして表すことができる:
DifferenceRootReduce[Factorial[k], k]FindSequenceFunctionはFactorial数列を認識する:
Table[Factorial[n], {n, 10}]FindSequenceFunction[%, n]Factorialの指数母関数:
ExponentialGeneratingFunction[Factorial[n], n, x]考えられる問題 (2)
おもしろい例題 (3)
DigitCount[100000!]Histogram[IntegerDigits[100000!]]DensityPlot[Arg[Nest[Factorial, x + I y, 3]], {x, -1, -0.65}, {y, -0.2, 0.2}]Factorialを無限大でプロットする:
DensityPlot[Arg[Factorial[1 / (x + I y)]], {x, -0.4, 0.4}, {y, -0.4, 0.4}]テクニカルノート
-
▪
- 数学関数 ▪
- 組合せ関数 ▪
- 実装に関するノート:数値および関連関数
関連するガイド
-
▪
- 組合せ関数 ▪
- 離散数学 ▪
- 再帰関数と総和関数 ▪
- 数学関数 ▪
- 整数関数 ▪
- ガンマ関数と関連関数 ▪
- 整数列 ▪
- 統計学で使用される関数
履歴
1988 で導入 (1.0) | 2021 で更新 (13.0) ▪ 2022 (13.1)
テキスト
Wolfram Research (1988), Factorial, Wolfram言語関数, https://reference.wolfram.com/language/ref/Factorial.html (2022年に更新).
CMS
Wolfram Language. 1988. "Factorial." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/Factorial.html.
APA
Wolfram Language. (1988). Factorial. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Factorial.html
BibTeX
@misc{reference.wolfram_2026_factorial, author="Wolfram Research", title="{Factorial}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/Factorial.html}", note=[Accessed: 07-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_factorial, organization={Wolfram Research}, title={Factorial}, year={2022}, url={https://reference.wolfram.com/language/ref/Factorial.html}, note=[Accessed: 07-September-2026]}