Opentopia Directory Encyclopedia Tools

Factorial

Encyclopedia : F : FA : FAC : Factorial


In mathematics, the factorial of a natural number n is the product of all positive integers less than or equal to n. This is written as n! and pronounced "n factorial", or colloquially "n shriek" or "n bang". The notation n! was introduced by Christian Kramp in 1808.

The sequence of factorials (sequence in OEIS) for n = 0, 1, 2,... starts:

1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600, 6227020800, 87178291200, 1307674368000, 20922789888000, 355687428096000, 6402373705728000, 121645100408832000, 2432902008176640000, ...
This shows how quickly factorial numbers grow. Already 70! = 1.19785717... × 10100 is larger than a googol.

Definition

The factorial function is formally defined by

[ n!=\prod_^n k \qquad \mbox n \ge 0. \!]
For example,

[5 ! = 1\times 2 \times 3 \times 4 \times 5 = 120 \ ]
The above definition incorporates the convention that

[0! = 1 \ ]
as an instance of the convention that the product of no numbers at all is 1. This fact for factorials is useful, because

Non-integer factorials

The factorial function can also be defined for non-integer values, but this requires more advanced tools from mathematical analysis. The function that "fills in" the values of the factorial between the integers is called the Gamma function, denoted [\Gamma] and for z > −1 defined by

[\Gamma(z+1)=\int_^ t^z e^\, \mathrmt. \!]
The Gamma function is related to factorials in that it satisfies a similar recursive relationship:

[n!=n(n-1)! \,]
[\Gamma(n+1)=n\Gamma(n) \,]
Together with [\Gamma(1)=1] this yields the equation for any nonnegative integer n:

[\Gamma(n+1)=n!\,\!]
Based on the Gamma function's value for 1/2, the specific example of half-integer factorials is resolved to
[(n+1/2)!=\sqrt\times \prod_^n .]
For example
[3.5! = \sqrt \cdot \cdot\cdot\cdot \approx 11.63.]
The Gamma function is in fact defined for all complex numbers z except for the nonpositive integers (z = 0, −1, −2, −3, ...) where it goes to infinity. It is often thought of as a generalization of the factorial function to the complex domain, which is justified for the following reasons:

Applications

[=.]
[V_n=R^n\over (n/2)!}.]
Note that the Gamma function is required for odd dimensions and that its value cancels out the apparent fractional power of [\pi] in those cases.
[ n! = n \times (n-1)!. \,]

Number theory

Factorials have many applications in number theory. Factorial numbers are highly abundant numbers. In particular, n! is necessarily divisible by all prime numbers up to and including n. As a consequence, n > 4 is a composite number if and only if

[(n-1)!\ \equiv\ 0 \ (\ n)].
A stronger result is Wilson's theorem, which states that

[(n-1)!\ \equiv\ -1 \ (\ n)]
if and only if n is prime.

Adrien-Marie Legendre found that the multiplicity of the prime p occurring in the prime factorization of n! can be expressed exactly as

[\sum_^ \lfloor n/p^i \rfloor,]
which is finite since the floor function removes all [p^i > n].

The only factorial that is also a prime number is 2, but there are many primes of the form [n! \pm 1]. These are called factorial primes.

Rate of growth

Plot of the natural logarithm of the factorial
Enlarge
Plot of the natural logarithm of the factorial

As n grows, the factorial n! becomes larger than all polynomials and exponential functions in n.

When n is large, n! can be estimated quite accurately using Stirling's approximation:

[n!\sim \sqrt\left(\frac\right)^n]
A weak version that can be proved with mathematical induction is

[\left(\right)^n < n! < \left(\right)^n\ \mbox\ n\geq 6.\,]
The logarithm of the factorial can be used to calculate the number of digits in a given base the factorial of a given number will take. log n! can easily be calculated as follows:

[\sum_^n]
Note that this function, if graphed, is approximately linear, for small values; but the factor [ \over n] does grow arbitrarily large, although quite slowly. The graph of log(n!) for n between 0 and 20,000 is shown in the figure on the right.

A good approximation for log n! based on Stirling's approximation is

[\ln(n!) \approx n\ln(n) - n + \frac + \frac .]
One can see from this that log(n!) is Ο(n log n). This result plays a key role in the analysis of the computational complexity of sorting algorithms (see comparison sort).

Computation

The numeric value of n! can be calculated by repeated multiplication if n is not too large. That is basically what pocket calculators do. The largest factorial that most calculators can handle is 69!, because 70! > 10100. In practice, most software applications use only small factorials which can be computed by direct multiplication or table lookup. Larger values are often approximated in terms of floating-point estimates of the Gamma function, usually with Stirling's formula.

For number theoretic and combinatorial computations, very large exact factorials are often needed. Bignum factorials can be computed by direct multiplication, but multiplying the sequence 1×2×...×n from the bottom up (or top-down) is inefficient; it is better to recursively split the sequence so that the size of each subproduct is minimized.

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, Schönhage-Strassen multiplication).Peter Borwein. "On the Complexity of Calculating Factorials". Journal of Algorithms 6, 376-380 (1985) Peter Luschny presents source code and benchmarks for several efficient factorial algorithms, with or without the use of a prime sieve.Peter Luschny. [The Homepage of Factorial Algorithms].

Factorial-like products

Primorial

The primorial is similar to the factorial, but with the product taken only over the prime numbers.

Multifactorials

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.

n!! denotes the double factorial of n and is defined recursively by

[ n!!= \left\ 1,\qquad\quad\ &&\mboxn=0\mboxn=1; \\ n(n-2)!!&&\mboxn\ge2.\qquad\qquad \end \right. ]
For example, 8!! = 2 · 4 · 6 · 8 = 384 and 9!! = 1 · 3 · 5 · 7 · 9 = 945. The sequence of double factorials (sequence in OEIS) for n = 0, 1, 2,... starts
1, 1, 2, 3, 8, 15, 48, 105, 384, 945, 3840, ...
Some identities involving double factorials are:
[n!=n!!(n-1)!! \,]
[(2n)!!=2^nn! \,]
[(2n+1)!!==]
[\Gamma\left(n+\right)=\sqrt\pi]
One should be careful not to interpret n!! as the factorial of n!, which would be written (n!)! and is a much larger number (for n>2). Some mathematicians have suggested an alternative notation of n!2 for the double factorial and similarly n!n for other multifactorials, but this has not come into general use.

The double factorial is the most commonly used variant, but one can similarly define the triple factorial (n!!!) and so on. In general, the k-th factorial, denoted by n!(k), is defined recursively as

[ n!^= \left\ 1,\qquad\qquad\ &&\mbox0\le n

Hyperfactorials

Main article: Hyperfactorial
Occasionally the hyperfactorial of n is considered. It is written as H(n) and defined by

[ H(n) =\prod_^n k^k =1^1\cdot2^2\cdot3^3\cdots(n-1)^\cdot n^n. ]
For n = 1, 2, 3, 4,... the values of H(n) are 1, 4, 108, 27648,... (sequence in OEIS).

The hyperfactorial function is similar to the factorial, but produces larger numbers. The rate of growth of this function, however, is not much larger than a regular factorial.

Superfactorials

Neil Sloane and Simon Plouffe defined the superfactorial in 1995 as the product of the first n factorials. So the superfactorial of 4 is

[ \mathrm(4)=1! \times 2! \times 3! \times 4!=288 \,]
In general

[ \mathrm(n) =\prod_^n k! =\prod_^n k^ =1^n\cdot2^\cdot3^\cdots(n-1)^2\cdot n^1. ]
The sequence of superfactorials starts (from n = 0) as

1, 1, 2, 12, 288, 34560, 24883200, ... (sequence in OEIS)
This idea was extended in 2000 by Henry Bottomley to the superduperfactorial as the product of the first n superfactorials, starting (from n = 0) as

1, 1, 2, 24, 6912, 238878720, 5944066965504000, ... (sequence in OEIS)
and thus recursively to any multiple-level factorial where the mth-level factorial of n is the product of the first n (m − 1)th-level factorials, i.e.

[\mathrm(n,m) = \mathrm(n-1,m)\mathrm(n,m-1) =\prod_^n k^ ]
where [\mathrm(n,0)=n] for [n>0] and [\mathrm(0,m)=1].

Superfactorials (alternative definition)

Clifford Pickover in his 1995 book Keys to Infinity defined the superfactorial of n, written as n$ (the $ should really be a factorial sign ! with an S superimposed) as

[n\$\equiv \begin \underbrace}}} \\ n! \end \,],
or as,
[n\$=n!^n! \,]
where the (4) notation denotes the hyper4 operator, or using Knuth's up-arrow notation,
[n\$=(n!)\uparrow\uparrow(n!) \,]
This sequence of superfactorials starts:
[1\$=1 \,]
[2\$=2^2=4 \,]
[3\$=6\uparrow\uparrow6=6^}}} \!=8.02\times 10^]

See also

References

External links

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: