The factorial operation is encountered in many areas of mathematics, notably in combinatorics, algebra, and mathematical analysis. Its most basic use counts the possible distinct sequences – the permutations – of n distinct objects: there are n!.
The factorial function can also be extended to non-integer arguments while retaining its most important properties by defining x! = Γ(x + 1), where Γ is the gamma function; this is undefined when x is a negative integer.
This section needs expansion. You can help by adding to it. (November 2019)
The use of factorials is documented since the Talmudic period (200 to 500 CE), one of the earliest examples being the Hebrew Book of Creation Sefer Yetzirah which lists factorials (up to 7!) as a means of counting permutations. Indian scholars have been using factorial formulas since at least the 12th century. Siddhānta Shiromani by Bhāskara II (c. 1114–1185) mentioned factorials for permutations in Volume I, the Līlāvatī. Fabian Stedman later described factorials as applied to change ringing, a musical art involving the ringing of several tuned bells. After describing a recursive approach, Stedman gives a statement of a factorial (using the language of the original):
Now the nature of these methods is such, that the changes on one number comprehends [includes] the changes on all lesser numbers ... insomuch that a compleat Peal of changes on one number seemeth to be formed by uniting of the compleat Peals on all lesser numbers into one entire body.
The factorial function is defined by the product
This leads to the recurrence relation
Factorial of zero
The factorial of 0 is 1, or in symbols, 0! = 1.
There are several motivations for this definition:
- For n = 0, the definition of n! as a product involves the product of no numbers at all, and so is an example of the broader convention that the product of no factors is equal to the multiplicative identity (see Empty product).
- There is exactly one permutation of zero objects (with nothing to permute, the only rearrangement is to do nothing).
- It makes many identities in combinatorics valid for all applicable sizes. The number of ways to choose 0 elements from the empty set is given by the binomial coefficient: More generally, the number of ways to choose all n elements among a set of n is:
- It allows for the compact expression of many formulae, such as the exponential function, as a power series:
- It extends the recurrence relation to 0.
- It matches the gamma function .
Although the factorial function has its roots in combinatorics, formulas involving factorials occur in many areas of mathematics.
- There are n! different ways of arranging n distinct objects into a sequence, the permutations of those objects.
- Often factorials appear in the denominator of a formula to account for the fact that ordering is to be ignored. A classical example is counting k-combinations (subsets of k elements) from a set with n elements. One can obtain such a combination by choosing a k-permutation: successively selecting and removing one element of the set, k times, for a total of possibilities. This, however, produces the k-combinations in a particular order that one wishes to ignore; since each k-combination is obtained in k! different ways, the correct number of k-combinations isThis number is known as the binomial coefficient, because it is also the coefficient of xk in (1 + x)n. The term is often called a falling factorial (pronounced "n to the falling k").
- Factorials occur in algebra for various reasons, such as via the already mentioned coefficients of the binomial formula, or through averaging over permutations for symmetrization of certain operations.
- Factorials also turn up in calculus; for example, they occur in the denominators of the terms of Taylor's formula, where they are used as compensation terms due to the nth derivative of xn being equivalent to n!.
- Factorials are also used extensively in probability theory and number theory (see below).
- Factorials can be useful to facilitate expression manipulation. For instance the number of k-permutations of n can be written as while this is inefficient as a means to compute that number, it may serve to prove a symmetry property of binomial coefficients:
- The factorial function can be shown, using the power rule, to be where Dn xn is Euler's notation for the nth derivative of xn.
Rate of growth and approximations for large n
Most approximations for n! are based on approximating its natural logarithm
The graph of the function f(n) = ln n! is shown in the figure on the right. It looks approximately linear for all reasonable values of n, but this intuition is false. We get one of the simplest approximations for ln n! by bounding the sum with an integral from above and below as follows:
Hence ln n! ∼ n ln n (see Big O notation). This result plays a key role in the analysis of the computational complexity of sorting algorithms (see comparison sort). From the bounds on ln n! deduced above we get that
It is sometimes practical to use weaker but simpler estimates. Using the above formula it is easily shown that for all n we have (n/3)n < n!, and for all n ≥ 6 we have n! < (n/2)n.
For large n we get a better estimate for the number n! using Stirling's approximation:
This in fact comes from an asymptotic series for the logarithm, and n factorial lies between this and the next approximation:
Both this and Stirling's approximation give a relative error on the order of 1/n3, but Ramanujan's is about four times more accurate. However, if we use two correction terms in a Stirling-type approximation, as with Ramanujan's approximation, the relative error will be of order 1/n5:
If efficiency is not a concern, computing factorials is trivial from an algorithmic point of view: successively multiplying a variable initialized to 1 by the integers up to n (if any) will compute n!, provided the result fits in the variable. In functional languages, the recursive definition is often implemented directly to illustrate recursive functions.
The main practical difficulty in computing factorials is the size of the result. To assure that the exact result will fit for all legal values of even the smallest commonly used integral type (8-bit signed integers) would require more than 700 bits, so no reasonable specification of a factorial function using fixed-size types can avoid questions of overflow. The values 12! and 20! are the largest factorials that can be stored in, respectively, the 32-bit and 64-bit integers commonly used in personal computers, however many languages support variable length integer types capable of calculating very large values. Floating-point representation of an approximated result allows going a bit further, but this also remains quite limited by possible overflow. Most calculators use scientific notation with 2-digit decimal exponents, and the largest factorial that fits is then 69!, because 69! < 10100 < 70!. Other implementations (such as computer software such as spreadsheet programs) can often handle larger values.
Most software applications will compute small factorials by direct multiplication or table lookup. Larger factorial values can be approximated using Stirling's formula. Wolfram Alpha can calculate exact results for the ceiling function and floor function applied to the binary, natural and common logarithm of n! for values of n up to 249999, and up to 20000000! for the integers.
If the exact values of large factorials are needed, they can be computed using arbitrary-precision arithmetic. Instead of doing the sequential multiplications ((1 × 2) × 3) × 4..., a program can partition the sequence into two parts, whose products are roughly the same size, and multiply them using a divide-and-conquer method. This is often more efficient.
The asymptotically best efficiency is obtained by computing n! from its prime factorization. As documented by Peter Borwein, prime factorization allows n! to be computed in time O(n(log n log log n)2), provided that a fast multiplication algorithm is used (for example, the Schönhage–Strassen algorithm). Peter Luschny presents source code and benchmarks for several efficient factorial algorithms, with or without the use of a prime sieve.
A stronger result is Wilson's theorem, which states that
Legendre's formula gives the multiplicity of the prime p occurring in the prime factorization of n! as
Adding 1 to a factorial n! yields a number that is only divisible by primes that are larger than n. This fact can be used to prove Euclid's theorem that the number of primes is infinite. Primes of the form n! ± 1 are called factorial primes.
Series of reciprocals
Factorial of non-integer values
The gamma and pi functions
Besides nonnegative integers, the factorial can also be defined for non-integer values, but this requires more advanced tools from mathematical analysis.
One function that fills in the values of the factorial (but with a shift of 1 in the argument), that is often used, is called the gamma function, denoted Γ(z). It is defined for all complex numbers z except for the non-positive integers, and given when the real part of z is positive by
Its relation to the factorial is that n! = Γ(n + 1) for every nonnegative integer n.
Euler's original formula for the gamma function was
Carl Friedrich Gauss used the notation Π(z) to denote the same function, but with argument shifted by 1, so that it agrees with the factorial for nonnegative integers. This pi function is defined by
The pi function and gamma function are related by the formula Π(z) = Γ(z + 1). Likewise, Π(n) = n! for any nonnegative integer n.
In addition to this, the pi function satisfies the same recurrence as factorials do, but at every complex value z where it is defined
It also follows that for n ∈ N,
The pi function is certainly not the only way to extend factorials to a function defined at almost all complex values, and not even the only one that is analytic wherever it is defined. Nonetheless it is usually considered the most natural way to extend the values of the factorials to a complex function. For instance, the Bohr–Mollerup theorem states that the gamma function is the only function that takes the value 1 at 1, satisfies the functional equation Γ(n + 1) = nΓ(n), is meromorphic on the complex numbers, and is log-convex on the positive real axis. A similar statement holds for the pi function as well, using the Π(n) = nΠ(n − 1) functional equation.
However, there exist complex functions that are probably simpler in the sense of analytic function theory and which interpolate the factorial values. For example, Hadamard's 'gamma' function (Hadamard 1894) harv error: no target: CITEREFHadamard1894 (help) which, unlike the gamma function, is an entire function.
Euler also developed a convergent product approximation for the non-integer factorials, which can be seen to be equivalent to the formula for the gamma function above:
However, this formula does not provide a practical means of computing the pi function or the gamma function, as its rate of convergence is slow.
Applications of the gamma function
Factorial in the complex plane
Representation through the gamma function allows evaluation of factorial of complex argument. Equilines of amplitude and phase of factorial are shown in figure. Let
Thin lines show intermediate levels of constant modulus and constant phase. At the poles at every negative integer, phase and amplitude are not defined. Equilines are dense in vicinity of singularities along negative integer values of the argument.
For |z| < 1, the Taylor expansions can be used:
|2||π2/12 + γ2/2||0.9890559955|
|3||−ζ(3)/3 − π2/12 − γ3/6||−0.9074790760|
Approximations of the factorial
For the large values of the argument, the factorial can be approximated through the logarithm of the gamma function, using a continued fraction representation. This approach is due to T. J. Stieltjes (1894). Writing
n an 0 1/12 1 1/30 2 53/210 3 195/371 4 22999/22737 5 29944523/19733142 6 109535241009/48264275462
The continued fraction converges iff . The convergence is poor in the vicinity of the imaginary axis. When , the six coefficients above are sufficient for the evaluation of the factorial with complex double precision. For higher precision more coefficients can be computed by a rational QD scheme (Rutishauser's QD algorithm).
Non-extendability to negative integers
The relation n! = n × (n − 1)! allows one to compute the factorial for an integer given the factorial for a smaller integer. The relation can be inverted so that one can compute the factorial for an integer given the factorial for a larger integer:
However, this recursion does not permit us to compute the factorial of a negative integer; use of the formula to compute (−1)! would require a division of a nonzero value by zero, and thus blocks us from computing a factorial value for every negative integer. Similarly, the gamma function is not defined for zero or negative integers, though it is defined for all other complex numbers.
Factorial-like products and functions
There are several other integer sequences similar to the factorial that are used in mathematics:
The notation is sometimes used to represent the product of the n integers counting up to and including x (i.e. ).
This is also known as a falling factorial.
The product of all the odd integers up to some odd positive integer n is called the double factorial of n, and denoted by n!!. That is,
For example, 9!! = 1 × 3 × 5 × 7 × 9 = 945.
The sequence of double factorials for n = 1, 3, 5, 7,... starts as
Double factorial notation may be used to simplify the expression of certain trigonometric integrals, to provide an expression for the values of the gamma function at half-integer arguments and the volume of hyperspheres, and to solve many counting problems in combinatorics including counting binary trees with labeled leaves and perfect matchings in complete graphs.
A common related notation is to use multiple exclamation points to denote a multifactorial, the product of integers in steps of two (n!!), three (n!!!), or more (see generalizations of the double factorial). The double factorial is the most commonly used variant, but one can similarly define the triple factorial (n!!!) and so on. One can define the k-tuple factorial, denoted by n!(k), recursively for positive integers as
For sufficiently large n ≥ 1, the ordinary single factorial function is expanded through the multifactorial functions as follows:
In the same way that n! is not defined for negative integers, and n!! is not defined for negative even integers, n!(k) is not defined for negative integers divisible by k.
The compositorial of a natural number n (sequence A036691 in the OEIS) is similar to the factorial, but with the product taken only over the composite numbers less than or equal to n. For example, the compositorial of 11 is
The fibonorial is the product of the first n positive Fibonacci numbers.
The sequence of fibonorials starts as
The subfactorial yields the number of derangements of a set of objects. Its value is:
where and "nint" denotes the function which rounds its input to the nearest integer (there will never be any ambiguity/ties in this case because is always an integer and is an algebraically-independent transcendental, namely the natural base/Euler's number).
Equivalently, the superfactorial is given by the formula
The superfactorials can be extended to all complex numbers with the Barnes G-function, such that for all positive integers n. The sequence of superfactorials starts (from n = 0) as
By this definition, we can define the k-superfactorial of n (denoted sfk(n)) as:
The 3-superfactorials of n are
The 0-superfactorial of n is n.
In his 1995 book Keys to Infinity, Clifford Pickover defined a different function n$ that he called the superfactorial. It is defined by
This operation may also be expressed as the tetration
Occasionally the hyperfactorial of n is considered. It is written as H(n) and defined by
The asymptotic growth rate is
where A = 1.2824... is the Glaisher–Kinkelin constant. H(14) ≈ 1.8474×1099 is already almost equal to a googol, and H(15) ≈ 8.0896×10116 is almost of the same magnitude as the Shannon number, the theoretical number of possible chess games. Compared to the Pickover definition of the superfactorial, the hyperfactorial grows relatively slowly.
- Graham, Knuth & Patashnik 1988, p. 111.
- Wilson, Robin; Watkins, John J.; Graham, Ronald (2013). Combinatorics: Ancient & Modern. Oxford University Press. p. 111. ISBN 978-0-19-965659-2.
- Biggs, Norman L. (May 1979). "The roots of combinatorics". Historia Mathematica. 6 (2): 109–136. doi:10.1016/0315-0860(79)90074-0. ISSN 0315-0860.
- Stedman 1677, pp. 6–9.
- Stedman 1677, p. 8.
- Higgins 2008, p. 12
- Cheng, Eugenia (2017). Beyond Infinity: An expedition to the outer limits of the mathematical universe. Profile Books. ISBN 9781782830818.
- Conway, John H.; Guy, Richard (1998). The Book of Numbers. Springer Science & Business Media. ISBN 9780387979939.
- Knuth, Donald E. (1997). The Art of Computer Programming: Volume 1: Fundamental Algorithms. Addison-Wesley Professional. ISBN 9780321635747.
- "18.01 Single Variable Calculus, Lecture 37: Taylor Series". MIT OpenCourseWare. Fall 2006. Archived from the original on 2018-04-26. Retrieved 2017-05-03.
- Kardar, Mehran (2007). "Chapter 2: Probability". Statistical Physics of Particles. Cambridge University Press. pp. 35–56. ISBN 9780521873420.
- "18.01 Single Variable Calculus, Lecture 4: Chain rule, higher derivatives". MIT OpenCourseWare. Fall 2006. Archived from the original on 2018-04-26. Retrieved 2017-05-03.
- Impens, Chris (2003), "Stirling's series made easy", American Mathematical Monthly, 110 (8): 730–735, doi:10.2307/3647856, hdl:1854/LU-284957, JSTOR 3647856, MR 2024001; see in particular the inequality on p. 732 showing that the relative error is at most .
- "wesselbosman/nFactorial". GitHub. 2017-12-25. Archived from the original on 26 April 2018. Retrieved 26 April 2018.
- "Factorial Algorithm". GNU MP Software Manual. Archived from the original on 2013-03-14. Retrieved 2013-01-22.
- Borwein, Peter (1985). "On the Complexity of Calculating Factorials". Journal of Algorithms. 6 (3): 376–380. doi:10.1016/0196-6774(85)90006-9.
- Luschny, Peter. "Fast-Factorial-Functions: The Homepage of Factorial Algorithms". Archived from the original on 2005-03-05.
- O'Connor, John J.; Robertson, Edmund F., "Abu Ali al-Hasan ibn al-Haytham", MacTutor History of Mathematics archive, University of St Andrews
- Weisstein, Eric W. "Wilson's Theorem". MathWorld. Retrieved 2017-05-17.
- Bostock, Chandler & Rourke 2014, pp. 168.
- Guy 2004, p. 346.
- Luschny, Peter. "Hadamard versus Euler – Who found the better Gamma function?". Archived from the original on 2009-08-18.
- Char, Bruce W. (April 1980). "On Stieltjes' Continued Fraction for the Gamma Function". Mathematics of Computation. 34 (150): 547–551. doi:10.2307/2006103. JSTOR 2006103.
- "5.10". Digital Library of Mathematical Functions. Archived from the original on 2010-05-29. Retrieved 2010-10-17.
- "DLMF: 5.10 Continued Fractions".
- Luschny, Peter. "On Stieltjes' Continued Fraction for the Gamma Function". Archived from the original on 2011-05-14.
- Auberdene (1993). "On the computation of discrete legendre polynomial coefficients". Multidimensional Systems and Signal Processing. 4 (2): 181–186. doi:10.1007/BF00986240. S2CID 58013621.
- Callan, David (2009), A combinatorial survey of identities for the double factorial, arXiv:0906.1317, Bibcode:2009arXiv0906.1317C.
- Meserve, B. E. (1948), "Classroom Notes: Double Factorials", The American Mathematical Monthly, 55 (7): 425–426, doi:10.2307/2306136, JSTOR 2306136, MR 1527019
- Mezey, Paul G. (2009), "Some dimension problems in molecular databases", Journal of Mathematical Chemistry, 45 (1): 1–6, doi:10.1007/s10910-008-9365-8, S2CID 120103389.
- Dale, M. R. T.; Moon, J. W. (1993), "The permuted analogues of three Catalan sets", Journal of Statistical Planning and Inference, 34 (1): 75–87, doi:10.1016/0378-3758(93)90035-5, MR 1209991.
- Weisstein, Eric W. "Multifactorial". mathworld.wolfram.com. Retrieved 2021-07-18.
- Weisstein, Eric W. "Glaisher–Kinkelin Constant". MathWorld.
- Bostock, Linda; Chandler, Suzanne; Rourke, C. (2014-11-01), Further Pure Mathematics, Nelson Thornes, ISBN 9780859501033
- Graham, Ronald L.; Knuth, Donald E.; Patashnik, Oren (1988), Concrete Mathematics, Reading, MA: Addison-Wesley, ISBN 0-201-14236-8
- Guy, Richard K. (2004), "E24 Irrationality sequences", Unsolved problems in number theory (3rd ed.), Springer-Verlag, ISBN 0-387-20860-7, Zbl 1058.11001
- Higgins, Peter (2008), Number Story: From Counting to Cryptography, New York: Copernicus, ISBN 978-1-84800-000-1
- Stedman, Fabian (1677), Campanalogia, London The publisher is given as "W.S." who may have been William Smith, possibly acting as agent for the Society of College Youths, to which society the "Dedicatory" is addressed.
- Hadamard, M. J. (1968) , "Sur L'Expression Du Produit 1·2·3· · · · ·(n−1) Par Une Fonction Entière" (PDF), Œuvres de Jacques Hadamard (in French), Paris: Centre National de la Recherche Scientifiques
- Ramanujan, Srinivasa (1988), The Lost Notebook and Other Unpublished Papers, Springer Berlin, p. 339, ISBN 3-540-18726-X
|Wikimedia Commons has media related to Factorial (function).|