In mathematics, the factorial is the meromorphic function with fast growth along the real axis; for non-negative integer values of the argument, this function has integer values. Frequently, the postfix notation n! is used for the factorial of number n. For integer n, the n! gives the number of ways in which n labeled objects (for example the numbers from 1 to n) can be arranged in order. These are the permutations of the set of objects. In some programming languages, both n! and factorial(n) , or Factorial(n), are recognized as the factorial of the number n.
Integer values of the argument
For integer values of the argument, the factorial can be defined by a recurrence relation. If n labeled objects have to be assigned to n places, then the n-th object can be placed in one of n places: the remaining n-1 objects then have to be placed in the remaining n-1 places, and this is the same problem for the smaller set. So we have
and it follows that
which we could derive directly by noting that the first element can be placed in n ways, the second in n-1 ways, and so on until the last element can be placed in only one remaining way.
Since zero objects can be arranged in just one way ("do nothing") it is conventional to put 0! = 1.
The factorial function is found in many combinatorial counting problems. For example, the binomial coefficients, which count the number of subsets size r drawn from a set of n objects, can be expressed as
The factorial function can be extended to arguments other than positive integers: this gives rise to the Gamma function.
For complex values of the argument, the combinatoric definiton above should be extended.
The factorial can be defined as unique meromorphic function F, satisfying relations
- F(z + 1) = (z + 1)F(z)
- F(0) = 1
for all complex z except negative integer values. The uniqueness of function F, satisfying these equations, follows from the Wielandt's theorem  . Historialy, the deduction refers to the Gamma function, but the application to the factorial is straightforward.
Definition through the integral
Usually, the integral representation is used as definition. For , define
Such definition is similar to that of the Gamma function, and leads to the relation
- z! = Γ(z + 1)
for all complex z except the negative integer values.
The definition above agrees with the combinatoric definition for integer values of the argument; at integer z, the integral can be expressed in terms of the elementary functions.
Extension of integral definition
The definition through the integral can be extended to the whole complex plane, using relation
- z! = (z + 1)! / (z + 1)
for the cases , assuming that z is not negative integer. Also, the symmetry formula takes place for the non-integer values of z,
The similar formula of symmetry holds however, for the Gamma function. From this expression, it follows that is entire function of z. Also, this symmetry gives the simple way to express , and, therefore, factorial of half-integer numbers.
In the figure,
lines of constant and
lines of constant are shown.
The levels u = − 24, − 20, − 16, − 12, − 8, − 7, − 6, − 5, − 4, − 3, − 2, − 1,0,1,2,3,4,5,6,7,8,12,16,20,24 are drown with thick black lines.
Some of intermediate levels u = const are shown with thin blue lines for positive values and with thin red lines for negative values.
The levels v = − 24, − 20, − 16, − 12, − 8, − 7, − 6, − 5, − 4, − 3, − 2, − 1 are shown with thick red lines.
The level v = 0 is shown with thick pink lines.
The levels v = 1,2,3,4,5,6,7,8,12,16,20,24 are drown with thick blue lines. some of intermediate levels v = const are shown with thin green lines.
The dashed blue line shows the level u = μ0 and corresponds to the value of the principal local minimum of the factorial of the real argument.
The dashed red line shows the level and corresponds to the similar value of the negative local extremum of the factorial of the real argument.
Due to the fast growth of the function, in the right hand side of the figure, the density of the levels exceeds the ability of the plotter to draw them; so, this part is left empty.
Factorial of the real argument
The definition above was elaborated for factorial of complex argument. In particular, it can be used to evlauate the factorial of the real argument. In the figure at right, the factorial(x) = x! is plotted versus real x with red line. The function has simple poluses at negative integer x.
At , the .
The local minimum
The factorial has local minimum at
marked in the picture with pink vertical line; at this point, the derivative of the factorial is zero:
The value of factorial in this point
The Tailor expansion of z! at the point z = ν0 can be writen ax follows:
The coefficients of this expansion are copypasted in the table below:
|n||approximation of cn|
This expansion can be used for the precise evaluation of the inverse function of factorial (arcfactorial) in vicinity of the branchpoint.
Other local extrema are at negative values of the argument; one of them in shown in the figure above.
The Taylor expansion
|n||gn||approximation of gn|
Here, γ is the Euler constant and ζ is the Riemann function. The Computer algebra systems such as Maple and Mathematica can generate many terms of this expansion. The radius of convergence of the Taylor series is unity, and the coefficient gn does not decay as n increases. However, due to the relation , for any real value of argument of factorial, the expansion above can be used for the precize evaluation of factorial of the real argument, running the approximation above for an argument with modulus not larger than half. Also, the expansion at the half-integer values can be used: . The first coefficients of this expansion are copypasted in the table below:
|n||hn||approximation of gn|
|3||long expression||− 0.107294804564772211687541956389709662054575923821298300938631|
|4||even longer expression||0.144645359044621543038332210253884524070026861530981428414028|
The Taylor series of z! developed at z = 1 / 2, converges for all z such that | z − 1 / 2 | < 3 / 2.
In order to boost the approximation of factorial for real values of the argument, and, especially, for the evaluation for complex values, and the evaluation of the inverse function, the expansions for log(z!) and 1 / z! are used instead of the direct Taylor expansions above.
Halving of the imaginary part of the argument
While neither z nor (z + 1) / 2 is negative integer, the argument of factorial can be dropped with the identity
This may be useful to drop with factor 1/2 the imaginary part of the argument (for example, to apply the Taylor expansion above for the evaluation), but the function has to be evaluated twice.
In the plot of factorial of the real argument, the two other functions are plotted, ArcFactorial(x) = factorial − 1(x) and factorial(x) − 1. These functions can be useful for the generalization of the factorial and for its evaluation.
Inverse function of factorial can be defined with equation
- (ArcFactorial(z))! = z
and condition that ArcFactorial is holomorphic in the complex plane with cut along the part of the real axis, that begins at the minimum value of the factorial of the positive argument, and extends to . This function is shown with lines of constant real part and lines of constant imaginary part .
Levels u = 1,2,3 are shown with thick black curves.
Levels u = 0.2,0.4,0.6,0.8,1.2,1.4,1.6,1.8,2.2,2.4,2.6,2.8,3.2,3.4,3.6 are shown with thin blue curves.
Levels v = 1,2,3 are shown with thick blue curves.
Level v = 0 is shown with thick pink line.
Levels v = − 1, − 2, − 3 are shown with thick red curves.
The intermediate levels of constant v are shown with thin dark green curves. The ArcFactorial has the branch point ; the cut of the range of holomorphism is shown with black dashed line.
ArcFactorial for some real values of the argument is approximated in the table at right.
|n||approximation for dn|
In vicinity of the branchpoint z = μ0, the ArcFactorial can be expanded as follows:
The approximations for the first coefficients of this expansion are copypasted in the table at right. About of 30 terms in this expansion are sufficient to polt the distribution of the real and the imaginary parts of ArcFactorial in the figure above.
Function f(z) = 1 / z!
The inverse function of factorial, id est, ArcFactorial(z) = Factorial − 1(z) from the previous section, should not be confused with
shown in the figure at right.
The lines of constant and
the lines of constant are drawn.
The levels u = − 24, − 20, − 16, − 12, − 8, − 7..7,8,12,16,20,24 are shown with thick black lines.
The levels v = − 24, − 20, − 16, − 12, − 8, − 7...7, − 1 are shown with thick red lines.
The level v = 0 is shown with thick pink line.
The levels v = 1,2,...7,8,12,16,20,24 are shown with thick blue lines.
Some of intermediate levels u = const are shown with thin red lines for negative values and thin blue lines for the positive values.
Some of intermediate levels v = const are shown with thin green lines.
The blue dashed curves represent the level u = 1 / μ0 and correspond to the positive local maximum of the inverse function of the real argument.
The red dashed curves represent the level u = 1 / μ1, which corresponds to the first negative local maximum of the factorial of the real argument; ; factorial(ν1) = μ1.
In the upper-left hand side of the figure, and at the lower-left hand side of the figure, the density of levels exceeds the ability of the plotter to draw them, and these parts are left empty.
is entire function, that grows in the left hand side of the complex plane and quickly decays to zero along the real axis.
For the approximation of factorial, if can be represented in the form
- z! = exp(LogFactorial(z))
Plof of LogFactorial
Function LogFactorial is shown in figure with lines of constant real part and lines of constant imaginary part.
Levels of constant and
Levels of constant are drawn with solid lines:
Levels u = − 24, − 20, − 16, − 12, − 8, − 7, − 6, − 5, − 4, − 3, − 2, − 1,0,1,2,3,4,5,6,7,8,12,16,20,24 are shown with thick black curves.
Levels u = − 3.8, − 3.6, − 3.4, − 3.2 − 2.8, − 2.6, − 2.4, − 2.2 − 1.8, − 1.6, − 1.4, − 1.2 − 0.8, − 0.6, − 0.4, − 0.2 are shown with thin red curves.
Levels u = 0.2,0.4,0.6,0.81.2,1.4,1.6,1.82.2,2.4,1.6,2.83.2,3.4,3.6,3.8 are shown with thin blue curves.
Levels v = − 24, − 20, − 16, − 12, − 8, − 7, − 6, − 5, − 4, − 3, − 2, − 1 are shown with thick red curves.
Level v = 0 is shown with thick pink line.
Levels v = 1,2,3,4,5,6,7,8,12,16,20,24 are shown with thick blue lines.
Levels v = − 3.8, − 3.6, − 3.4, − 3.2 − 2.8, − 2.6, − 2.4, − 2.2 − 1.8, − 1.6, − 1.4, − 1.2 − 0.8, − 0.6, − 0.4, − 0.20.2,0.4,0.6,0.81.2,1.4,1.6,1.82.2,2.4,1.6,2.83.2,3.4,3.6,3.8 are shown with thin green curves.
The cut of range of holomorphism is shown with black dashed line.
Function LogFactorial has singularities at the same points, as the factorial, id est, at negative integer values of the argument.
Approximation of LogFactorial at large values of the argument
|n||an||approximation of an|
|0||1 / 12||0.083333333333333333|
|1||1 / 30||0.033333333333333333|
|2||53 / 210||0.252380952380952381|
|3||195 / 371||0.525606469002695418|
Far from the negative part of the real axis, the function LogFactorial can be approximated through the continued fraction p:
The coefficients a and their approximate evaluations are copypasted in the table at right.
In vicinity of the real axis, while the modulus of the imaginary part of LogFactorial does not exceed π, the LogFactorial can be interpreted as logarithm of factorial, id est,
- LogFactorial(z) = log(z!)
In particular, this relation is valid for positive real values of z.
For all z except negative integers,
However, the LogFactorial has singularities at negative integer values of the argument.
Historically, one of the first approximations of the factorial with elementary functions was Stirling's approximation below. For large n there is an approximation due to Scottish mathematician James Stirling
This formula can be obtained from the approximation for LogFactorial above, just replacing p(z) to zero.
- Ronald L. Graham; Donald E. Knuth, Oren Patashnik (1989). Concrete Mathematics. Addison Wesley, 111,332. ISBN 0-201-14236-8.
- ↑ Wielandt's theorem online: http://www.math.ku.dk/~henrikp/specialtopic2000/node7.html
- ↑ Reinhold Remmert The American Mathematical Monthly, Vol. 103, No. 3 (Mar., 1996), pp. 214-220, http://www.jstor.org/pss/2975370
|Some content on this page may previously have appeared on Citizendium.|