Jump to content

Factorial

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 211.31.22.140 (talk) at 10:33, 28 May 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 5,040
8 40,320
9 362,880
10 3,628,800
11 39,916,800
12 479,001,600
13 6,227,020,800
14 87,178,291,200
15 1,307,674,368,000
20 2,432,902,008,176,640,000
25 15,511,210,043,330,985,984,000,000
50 3.04140932... × 1064
70 1.19785717... × 10100
450 1.73336873... × 101,000
3,249 6.41233768... × 1010,000
25,206 1.205703438... × 10100,000
47,176 8.4485731495... × 10200,001
100,000 2.8242294079... × 10456,573
1,000,000 8.2639316883... × 105,565,708
9.99... × 10304 1 × 103.045657055180967... × 10307

Template:Caption

In mathematics, the factorial of a non-negative integer n, denoted by n!, is the product of all positive integers less than or equal to n. For example,

and

The notation n! was introduced by Christian Kramp in 1808.

Definition

The factorial function is formally defined by

or recursively defined by

Both of the above definitions incorporate the instance

as an instance of the fact that the product of no numbers at all is 1. This fact for factorials is useful, because:

  • the recurrence relation works for ;
  • it allows simple construction of expressions for infinite polynomials, e.g. ;
  • this definition makes many identities in combinatorics valid for zero sizes. The number of ways to choose 0 elements from an empty set is .

Applications

  • Factorials are used in combinatorics. For example, there are different ways of arranging n distinct objects in a sequence. (The arrangements are called permutations.) And the number of ways one can choose k objects from among a given set of n objects (the number of combinations), is given by the so-called binomial coefficient
  • In permutations, if objects can be chosen from a total of n objects and arranged in different ways, where rn, then the total number of distinct permutations is given by:

Number theory

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

A stronger result is Wilson's theorem, which states that

if and only if p 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

This fact is based on counting the number of factors of the integers from to . The number of multiples of in the numbers to are given by ; however, this formula counts those numbers with two factors of only once. Hence another factors of must be counted too. Similarly for three, four, five factors, to infinity. The sum is finite since is less than or equal to for only finitely many values of , and the floor function results in 0 when applied to

The only factorial that is also a prime number is 2, but there are many primes of the form , called factorial primes.

All factorials greater than 0! and 1! are even, as they are all multiples of 2.

Rate of growth

Plot of the natural logarithm of the factorial

As n grows, the factorial n! becomes larger than all polynomials and exponential functions (but slower than double exponential functions) in n.

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

A weak version that can easily be proved with mathematical induction is

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. It satisfies the identity:

Note that this function, if graphed, looks approximately linear; but the factor log n!/n, and thereby the slope of the graph, is proportional to log n; therefore, the slope becomes arbitrarily large in the limit as n goes to infinity, although the rate at which it grows is quite slow. The graph of log(n!) for n between 0 and 20,000 is shown in the figure on the right.

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

A much better approximation for log n! was given by Srinivasa Ramanujan[citation needed]:

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 value of can be calculated by repeated multiplication if is not too large. The largest factorial that most calculators can handle is 69!, because 70! > 10100. Calculators that use 3-digit exponents can compute larger factorials, up to, for example, 253! ≈ 5.2×10499 on HP calculators and 449! ≈ 3.9×10997 on the TI-86. The calculator seen in Mac OS X, Microsoft Excel and Google Calculator can handle factorials up to 170!, which is the largest factorial that can be represented as a 64-bit IEEE 754 floating-point value. The scientific calculator in Windows XP is able calculate factorials up to at least 100000!. This calculator can display exponents of more than 1000000, although exponent input is limited to 10000. 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. In practice, most software applications will compute these small factorials 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 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).[1] Peter Luschny presents source code and benchmarks for several efficient factorial algorithms, with or without the use of a prime sieve.[2]

Extension of factorial to non-integer values of argument

The gamma function

The Gamma function, as plotted here along the real axis, extends the factorial to a smooth function defined for all non-integer values.

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 for integers z no less than 1, defined by

Euler's original formula for the Gamma function was

The Gamma function is related to factorials in that it satisfies a similar recursive relationship:

Together with this yields the equation for any nonnegative integer :

Based on the Gamma function's value for 1/2, the specific example of half-integer factorials is resolved to

For example

The Gamma function is in fact defined for all complex numbers except for the nonpositive integers . It is often thought of as a generalization of the factorial function to the complex domain, which is justified for the following reasons:

  • Shared meaning. The canonical definition of the factorial function shares the same recursive relationship with the Gamma function.
  • Context. The Gamma function is generally used in a context similar to that of the factorials (but, of course, where a more general domain is of interest).
  • Uniqueness (Bohr–Mollerup theorem). The Gamma function is the only function which satisfies the aforementioned recursive relationship for the domain of complex numbers, is meromorphic, and is log-convex on the positive real axis. That is, it is the only smooth, log-convex function that could be a generalization of the factorial function to all complex numbers.

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:

It can also be written as below:

However, the rate of convergence is too slow for practical use.

Applications of the gamma function

Factorial at the complex plane

Amplitude and phase of factorial of complex argument.

Representation through the Gamma-function allows evaluation of factorial of complex argument. Equilines of amplitude and phase of factorial are shown in figure. Let . Several levels of constant modulus (amplitude) and constant phase are shown. The grid covers range , with unit step. The scratched line shows the level .

Thin lines show intermediate levels of constant modulus and constant phase. At poles , phase and amplitude are not defined. Equilines are dense in vicinity of singularities along negative integer values of the argument.

For moderate values of , the Taylor expansions can be used:

The first coefficients of this expansion are

approximation
0
1
2
3

where is the Euler constant and is the Riemann function. Computer algebra systems such as Mathematica can generate many terms of this expansion.

Approximations of factorial

For the large values of the argument, factorial can be approximated through the integral of the psi function, using the continued fraction representation [3].

The first coefficients in this continued fraction are

There is common misconception, that or for any complex z ≠ 0. Indeed, the relation through the logarithm is valid only for specific range of values of z in vicinity of the real axis, while . The larger is the real part of the argument, the smaller should be the imaginary part. However, the inverse relation, z! = exp(P(z)), is valid for the whole complex plane, the only, z in the continued fraction should not be zero, and the convergence is poor in vicinity of the negative part of the real axis. (It is difficult to have good convergence of any approximation in vicinity of the singularities). While or , the 8 coefficients above are sufficient for the evaluation of the factorial with the complex<double> precision.

Factorial-like products and functions

There are several other integer sequences similar to the factorial that are used in mathematics:

Primorial

The primorial (sequence A002110 in the OEIS) is similar to the factorial, but with the product taken only over the prime numbers.

Double factorial

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

For example, 8!! = 2 · 4 · 6 · 8 = 384 and 9!! = 1 · 3 · 5 · 7 · 9 = 945. The sequence of double factorials (sequence A006882 in the OEIS) for n = 0, 1, 2, ... starts as

1, 1, 2, 3, 8, 15, 48, 105, 384, 945, 3840, ...

The above definition can be rewritten to define double factorials of negative odd numbers:

The sequence of double factorials for n = −1, −3, −5, −7, ... starts as

while the double factorial of negative even integers is undefined.

Some identities involving double factorials are:

where is the Gamma function. The last equation above can be used to define the double factorial as a function of any complex number n ≠ 0, just as the Gamma function generalizes the factorial function. 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).

Multifactorials

A common related notation is to use multiple exclamation points to denote a multifactorial, the product of integers in steps of two (), three (), or more. The double factorial is the most commonly used variant, but one can similarly define the triple factorial () and so on. In general, the kth factorial, denoted by , is defined recursively as

Some mathematicians have suggested an alternative notation of for the double factorial and similarly for other multifactorials, but this has not come into general use.

In the same way that is not defined for integers, and is not defined for even integers, is not defined for .

Also,

Quadruple factorial

The so-called quadruple factorial, however, is not a multifactorial; it is a much larger number given by , starting as

1, 2, 12, 120, 1680, 30240, 665280, ... (sequence A001813 in the OEIS).

Superfactorial

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

In general

The sequence of superfactorials starts (from ) as

1, 1, 2, 12, 288, 34560, 24883200, ... (sequence A000178 in the OEIS)

This idea was extended in 2000 by Henry Bottomley to the superduperfactorial as the product of the first superfactorials, starting (from ) as

1, 1, 2, 24, 6912, 238878720, 5944066965504000, ... (sequence A055462 in the OEIS)

and thus recursively to any multiple-level factorial where the mth-level factorial of is the product of the first th-level factorials, i.e.

where for and .

Alternative definition

Clifford Pickover in his 1995 book Keys to Infinity used a new notation, n$, to define the superfactorial

or as,

where the (4) notation denotes the hyper4 operator, or using Knuth's up-arrow notation,

This sequence of superfactorials starts:

Here, as is usual for compound exponentiation, the grouping is understood to be from right to left:

Hyperfactorial

Occasionally the hyperfactorial of is considered. It is written as and defined by

For n = 1, 2, 3, 4, ... the values H(n) are 1, 4, 108, 27648,... (sequence A002109 in the 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. However, H(14) = 1.85...×1099 is already almost equal to a googol, and H(15) = 8.09...×10116 is almost of the same magnitude as the Shannon number, the theoretical number of possible chess games. For a function that grows even faster than the hyperfactorial, see the Ackermann function.

The hyperfactorial function can be generalized to complex numbers in a similar way as the factorial function. The resulting function is called the K-function.

See also

References

  1. ^ Peter Borwein. "On the Complexity of Calculating Factorials". Journal of Algorithms 6, 376-380 (1985)
  2. ^ Peter Luschny, The Homepage of Factorial Algorithms.
  3. ^ M.Abramowitz, I.Stegun. Handbook on special functions, formula (6.1.48), http://www.math.sfu.ca/~cbm/aands/page_258.htm
  • Approximation formulas
  • All about factorial notation n!
  • The Dictionary of Large Numbers
  • Weisstein, Eric W. "Factorial". MathWorld.
  • "Factorial Factoids" by Paul Niquette
  • Factorial at PlanetMath.
Factorial calculators and algorithms