Factorial: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
→‎Computation: source that explicitly talks about this being a good test case for demoing different styles; start sourcing styles
Line 196: Line 196:


===Computation===
===Computation===
If efficiency is not a concern, computing factorials is trivial from an algorithmic point of view: successively multiplying a variable initialized to <math>1</math> by the integers up to <math>n</math> will compute <math>n!</math>. The simplicity of this computation makes it suitable as an exercise for beginning programmers in the use of various basic control structures for computer programs, including loops, recursion, dynamic programming, and functional programming. In the unit-cost [[random-access machine]] model of computation, in which each arithmetic operation is assumed to take constant time, any of these methods will compute <math>n!</math> in time <math>O(n)</math>. However, when computing factorials using exact integer arithmetic, this model of computation is only suitable for small values of <math>n</math>, small enough to allow all numbers in the computation to fit into a [[machine word]]. The values 12! and 20! are the largest factorials that can be stored in, respectively, the [[32-bit computing|32-bit]] and [[64-bit computing|64-bit]] integers. [[Floating point]] representations allow larger factorials to be computed in this way, but produce an approximate rather than exact result. For the exact computation of factorials of larger numbers, the use of [[arbitrary-precision arithmetic]] software is necessary, and it is more appropriate to model the time to perform a multiplication as a function of the number of digits in the result.
If efficiency is not a concern, computing factorials is trivial from an algorithmic point of view: successively multiplying a variable initialized to <math>1</math> by the integers up to <math>n</math> will compute <math>n!</math>. The simplicity of this computation makes it suitable as an example for beginning programmers in the use of different programming styles,<ref>{{cite book|title=Drawing Programs: The Theory and Practice of Schematic Functional Programming|first1=Tom|last1=Addis|first2=Jan|last2=Addis|publisher=Springer|year=2009|isbn=978-1-84882-618-2|pages=149–150|url=https://books.google.com/books?id=cWM7ZBfEl_0C&pg=PA149}}</ref> including [[iteration]], [[Recursion (computer science)|recursion]],<ref>{{cite book|title=The Computing Universe: A Journey through a Revolution|first1=Tony|last1=Hey|first2=Gyuri|last2=Pápay|publisher=Cambridge University Press|year=2014|isbn=9781316123225|page=64|url=https://books.google.com/books?id=q4FIBQAAQBAJ&pg=PA64}}</ref> [[dynamic programming]], and [[functional programming]].<ref>{{cite book|title=Scala From a Functional Programming Perspective: An Introduction to the Programming Language|volume=9980|series=Lecture Notes in Computer Science|first=Vicenç|last=Torra|publisher=Springer|year=2016|isbn=978-3-319-46481-7|page=96|url=https://books.google.com/books?id=eMwcDQAAQBAJ&pg=PA96}}</ref> In the unit-cost [[random-access machine]] model of computation, in which each arithmetic operation is assumed to take constant time, any of these methods will compute <math>n!</math> in time <math>O(n)</math>. However, when computing factorials using exact integer arithmetic, this model of computation is only suitable for small values of <math>n</math>, small enough to allow all numbers in the computation to fit into a [[machine word]]. The values 12! and 20! are the largest factorials that can be stored in, respectively, the [[32-bit computing|32-bit]] and [[64-bit computing|64-bit]] integers. [[Floating point]] representations allow larger factorials to be computed in this way, but produce an approximate rather than exact result. For the exact computation of factorials of larger numbers, the use of [[arbitrary-precision arithmetic]] software is necessary, and it is more appropriate to model the time to perform a multiplication as a function of the number of digits in the result.


The asymptotically best efficiency is obtained by computing {{math|''n''!}} from its prime factorization. As documented by [[Peter Borwein]], prime factorization allows {{math|''n''!}} to be computed in time {{math|[[Big O notation|''O'']](''n''(log ''n'' log log ''n'')<sup>2</sup>)}}, provided that a fast [[multiplication algorithm]] is used (for example, the [[Schönhage–Strassen algorithm]]).<ref>{{cite journal|first=Peter |last=Borwein |author-link=Peter Borwein |title=On the Complexity of Calculating Factorials |journal=[[Journal of Algorithms]] |volume=6 |issue=3 |pages=376–380 |date=1985|doi=10.1016/0196-6774(85)90006-9 }}</ref>
The asymptotically best efficiency is obtained by computing {{math|''n''!}} from its prime factorization. As documented by [[Peter Borwein]], prime factorization allows {{math|''n''!}} to be computed in time {{math|[[Big O notation|''O'']](''n''(log ''n'' log log ''n'')<sup>2</sup>)}}, provided that a fast [[multiplication algorithm]] is used (for example, the [[Schönhage–Strassen algorithm]]).<ref>{{cite journal|first=Peter |last=Borwein |author-link=Peter Borwein |title=On the Complexity of Calculating Factorials |journal=[[Journal of Algorithms]] |volume=6 |issue=3 |pages=376–380 |date=1985|doi=10.1016/0196-6774(85)90006-9 }}</ref>

Revision as of 08:54, 21 December 2021

Selected factorials; values in scientific notation are rounded
0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800
11 39916800
12 479001600
13 6227020800
14 87178291200
15 1307674368000
16 20922789888000
17 355687428096000
18 6402373705728000
19 121645100408832000
20 2432902008176640000
25 1.551121004×1025
50 3.041409320×1064
70 1.197857167×10100
100 9.332621544×10157
450 1.733368733×101000
1000 4.023872601×102567
3249 6.412337688×1010000
10000 2.846259681×1035659
25206 1.205703438×10100000
100000 2.824229408×10456573
205023 2.503898932×101000004
1000000 8.263931688×105565708
10100 1010101.9981097754820

In mathematics, the factorial of a non-negative integer , denoted by , is the product of all positive integers less than or equal to :

For example,

The value of 0! is 1, according to the convention for an empty product.[1]

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 distinct objects: there are .

The factorial function can also be extended to non-integer arguments while retaining its most important properties by defining , where is the gamma function; this is undefined when is a negative integer.

History

The concept of factorials has arisen independently in many cultures:

  • In Indian mathematics, one of the earliest known descriptions of factorials comes from the Anuyogadvāra-sūtra, one of the canonical works of Jain literature, likely dating from 200 BCE to 100 CE. It separates out the sorted and reversed order of a set of items from the other ("mixed") orders, evaluating the number of mixed orders by subtracting two from the usual product formula for the factorial. The product rule for permutations was also described by 6th-century CE Jain monk Jinabhadra.[2] Hindu scholars have been using factorial formulas since at least 1150, when Bhāskara II mentioned factorials in his work Līlāvatī, in connection with a problem of how many ways Vishnu could hold his four characteristic objects (a conch shell, discus, mace, and lotus flower) in his four hands, and a similar problem for a ten-handed god.[3]
  • In the mathematics of the Middle East, the Hebrew mystic book of creation Sefer Yetzirah, from the Talmudic period (200 to 500 CE), lists factorials up to 7! as part of an investigation into the number of words that can be formed from the Hebrew alphabet.[4][5] Factorials were also studied for similar reasons by 8th-century Arab grammarian Al-Khalil ibn Ahmad al-Farahidi.[4]
  • In Europe, although Greek mathematics included some combinatorics, and Plato famously used 5040 (a factorial) as the population of an ideal community, in part because of its divisibility properties,[6] there is no direct evidence of ancient Greek study of factorials. Instead, the first work on factorials in Europe was by Jewish scholars such as Shabbethai Donnolo, explicating the Sefer Yetzirah passage.[7] In 1677, British author Fabian Stedman described the application of factorials to change ringing, a musical art involving the ringing of several tuned bells.[8][9]

From the late 15th century onward, factorials became the subject of study by western mathematicians. In a 1494 treatise, Italian mathematician Luca Pacioli calculated factorials up to 11!, in connection with a problem of dining table arrangements.[10] Christopher Clavius discussed factorials in a 1603 commentary on the work of Johannes de Sacrobosco, and in the 1640s, French polymath Marin Mersenne published large (but not entirely correct) tables of factorials, up to 64!, based on the work of Clavius.[11] The power series for the exponential function, with the reciprocals of factorials for its coefficients, was first formulated in 1676 by Isaac Newton in a letter to Gottfried Wilhelm Leibniz.[12] Other important works of early European mathematics on factorials include extensive coverage in a 1685 treatise by John Wallis, a study of their approximate values for large values of by Abraham de Moivre in 1721, a 1729 letter from James Stirling to de Moivre stating what became known as Stirling's approximation, and work at the same time by Daniel Bernoulli and Leonhard Euler formulating the continuous extension of the factorial function to the gamma function.[13] Adrien-Marie Legendre included Legendre's formula, describing the exponents in the factorization of factorials into prime powers, in an 1808 text on number theory.[14]

The notation for factorials was introduced by the French mathematician Christian Kramp in 1808. Many other notations have also been used. Another later notation, in which the argument of the factorial was half-enclosed by the left and bottom sides of a box, was popular for some time in Britain and America but fell out of use, perhaps because it is difficult to typeset.[15] The word "factorial" (originally French, factorielle) was first used in this sense in 1800 by Louis François Antoine Arbogast, in the first work on Faà di Bruno's formula.[16][17]

Definition

The factorial function of a positive integer is defined by the product[1]

This may be written more concisely in product notation as[1]

In this product formula, all but the last term define a product of the same form, for a smaller factorial. This leads to a recurrence relation, according to which each value of the factorial function can be obtained by multiplying the previous value by :[18]

For example, .

Factorial of zero

The factorial of is , or in symbols, . There are several motivations for this definition:

  • For , the definition of as a product involves the product of no numbers at all, and so is an example of the broader convention that the empty product, a product of no factors, is equal to the multiplicative identity.[19]
  • There is exactly one permutation of zero objects: with nothing to permute, the only rearrangement is to do nothing.[18]
  • This convention makes many identities in combinatorics valid for all valid choices of their parameters. For instance, the number of ways to choose all elements from a set of is a binomial coefficient identity that would only be valid with .[20]
  • With , the recurrence relation for the factorial remains valid at . Therefore, with this convention, a recursive computation of the factorial needs to have only the value for zero as a base case, simplifying the computation and avoiding the need for additional special cases.[21]
  • Setting allows for the compact expression of many formulae, such as the exponential function, as a power series: [12]
  • This choice matches the gamma function , for which it is necessary in order to make the function continuous.[22]

Applications

The earliest uses of the factorial function involve counting permutations: there are different ways of arranging distinct objects into a sequence.[23] Factorials appear more broadly in many formulas in combinatorics, to account for different orderings of objects. For instance the binomial coefficients count the -element combinations (subsets of elements) from a set with elements, and can be computed from factorials using the formula[24]

The Stirling numbers of the first kind sum to the factorials, and count the permutations of grouped into subsets with the same numbers of cycles.[25] Another combinatorial application is in counting derangements, permutations that do not leave any element in its original position; the number of derangements of items is the nearest integer to .[26]

In algebra, the factorials arise through the binomial theorem, which uses binomial coefficients to expand products of sums.[27] They also occur in the coefficients used to relate certain families of polynomials to each other, for instance in Newton's identities for symmetric polynomials.[28] Their use in counting permutations can also be restated algebraically: the factorials are the orders of finite symmetric groups.[29] In calculus, factorials occur in Faà di Bruno's formula for chaining higher derivatives.[17] In mathematical analysis, factorials frequently appear in the denominators of power series, most notably in the series for the exponential function,[12]

and in the coefficients of other Taylor series, where they cancel factors of coming from the th derivative of .[30] This usage of factorials in power series connects back to analytic combinatorics through the exponential generating function, which for a combinatorial class with elements of size is defined as the power series[31]

In number theory, the most salient property of factorials is the divisibility of by all positive integers up to , described more precisely for prime factors by Legendre's formula. It follows that has only large prime factors, leading to a proof of Euclid's theorem that the number of primes is infinite.[32] When is itself prime it is called a factorial prime;[33] relatedly, Brocard's problem, also posed by Srinivasa Ramanujan, concerns the existence of square numbers of the form .[34] In contrast, the numbers must all be composite, proving the existence of arbitrarily large prime gaps.[35] An elementary proof of Bertrand's postulate on the existence of a prime in any interval of the form , one of the first results of Paul Erdős, was based on the divisibility properties of factorials.[36][37] Factorials can be used in a primality test based on Wilson's theorem, which states that a number is prime if and only if

The factorial number system is a mixed radix notation for numbers in which the place values of each digit are factorials.[38]

Factorials are used extensively in probability theory, for instance in the Poisson distribution[39] and in the probabilities of random permutations.[40] In computer science, beyond appearing in the analysis of brute-force searches over permutations,[41] factorials arise in the lower bound of on the number of comparisons needed to comparison sort a set of items,[42] and in the analysis of chained hash tables, where the distribution of keys per cell can be accurately approximated by a Poisson distribution.[43]

Properties

Growth and approximation

Comparison of the factorial, Stirling's approximation, and the simpler approximation , on a doubly logarithmic scale
Relative error in a truncated Stirling series vs. number of terms

As a function of , the factorial has faster than exponential growth, but grows more slowly than a double exponential function.[44] Its growth rate is similar to , but slower by an exponential factor. One way of approaching this result is by taking the natural logarithm of the factorial, which turns its product formula into a sum, and then estimating the sum by an integral:

Exponentiating the result (and ignoring the negligible term) approximates as .[45] More carefully bounding the sum both above and below by an integral, using the trapezoid rule, shows that this estimate needs a correction term proportional to . The constant of proportionality for this correction can be found from the Wallis product, which expresses as a limiting ratio of factorials and powers of two. The result of these corrections is Stirling's approximation:[46]
Here, the symbol means that, as goes to infinity, the ratio between the left and right sides approaches one in the limit. Stirling's formula provides the first term in an asymptotic series that becomes even more accurate when taken to greater numbers of terms:[47]
An alternative version uses only odd exponents in the correction terms:[47]
Many other variations of these formulas have also been developed, by Srinivasa Ramanujan, Bill Gosper, and others.[47]

The binary logarithm of the factorial, used to analyze comparison sorting, can be very accurately estimated using Stirling's approximation. In the formula below, the term invokes big O notation.[42]

Divisibility

The product formula for the factorial implies that is divisible by all prime numbers that are at most , and by no larger prime numbers.[48] More precise information about its divisibility is given by Legendre's formula, which gives the exponent of each prime in the prime factorization of as[49][50]

Here denotes the sum of the base- digits of , and the exponent given by this formula can also be interpreted in advanced mathematics as the p-adic valuation of the factorial.[50] Applying Legendre's formula to the product formula for binomial coefficients produces Kummer's theorem, a similar result on the exponent of each prime in the factorization of a binomial coefficient.[51]

The special case of Legendre's formula for gives the number of trailing zeros in the decimal representation of the factorials. Legendre's formula implies that the exponent of the prime is always larger than the exponent for , so each factor of five can be paired with a factor of two to produce one of these trailing zeros.[52]

The product of two factorials, , always evenly divides .[53] There are infinitely many factorials that equal the product of other factorials: if is itself any product of factorials, then equals that same product multiplied by one more factorial, . The only known examples of factorials that are products of other factorials but are not of this "trivial" form are , , and .[54] It would follow from the abc conjecture that there are only finitely many nontrivial examples.[55]

The greatest common divisor of the values of a primitive polynomial over the integers must be a divisor of the factorial of the polynomial's degree.[53]

Continuous interpolation and non-integer generalization

The gamma function provides a continuous interpolation of the factorial to non-integer values
Absolute values of the complex gamma function, showing poles at non-positive integers

There are infinitely many ways to extend the factorials to a continuous function.[56] The most widely used of these[57] is the gamma function, which can be defined for positive real numbers as the integral

The resulting function is related to the factorial of a non-negative integer by the equation
which can be used as a definition of the factorial for other numbers. At all values for which both and are defined, the gamma function obeys the functional equation
generalizing the recurrence relation for the factorials.[56]

The same integral converges more generally for any complex number whose real part is positive. It can be extended to the rest of the complex plane by solving for Euler's reflection formula

However, this fails to assign a value to the gamma function at the non-positive integers, because it would lead to a division by zero. The result of this extension process is an analytic function, the analytic continuation of the integral formula for the gamma function. It has a nonzero value at all complex numbers, except for the non-positive integers where it has simple poles. Correspondingly, this provides a definition for the factorial at all complex numbers other than the negative integers.[57] One property of the gamma function, distinguishing it from other continuous interpolations of the factorials, is given by the Bohr–Mollerup theorem, which states that the gamma function (offset by one) is the only log-convex function on the positive real numbers that interpolates the factorials and obeys the same functional equation. A related uniqueness theorem of Helmut Wielandt states that the complex gamma function and its scalar multiples are the only holomorphic functions on the positive complex half-plane that obey the functional equation and remain bounded for complex numbers with real part between 1 and 2.[58]

Other complex functions that interpolate the factorial values include Hadamard's gamma function, which is an entire function over all the complex numbers, including the non-positive integers.[59][60] In the p-adic numbers, it is not possible to continuously interpolate the factorial function directly, because the factorials of large integers (a dense subset of the p-adics) converge to zero according to Legendre's formula, forcing any continuous function that is close to their values to be zero everywhere. Instead, the p-adic gamma function provides a continuous interpolation of a modified form of the factorial, omitting the factors in the factorial that are divisible by p.[61]

The digamma function is the logarithmic derivative of the gamma function. Just as the gamma function provides a continuous interpolation of the factorials, offset by one, the digamma function provides a continuous interpolation of the harmonic numbers, offset by the Euler–Mascheroni constant.[62]

Computation

If efficiency is not a concern, computing factorials is trivial from an algorithmic point of view: successively multiplying a variable initialized to by the integers up to will compute . The simplicity of this computation makes it suitable as an example for beginning programmers in the use of different programming styles,[63] including iteration, recursion,[64] dynamic programming, and functional programming.[65] In the unit-cost random-access machine model of computation, in which each arithmetic operation is assumed to take constant time, any of these methods will compute in time . However, when computing factorials using exact integer arithmetic, this model of computation is only suitable for small values of , small enough to allow all numbers in the computation to fit into a machine word. The values 12! and 20! are the largest factorials that can be stored in, respectively, the 32-bit and 64-bit integers. Floating point representations allow larger factorials to be computed in this way, but produce an approximate rather than exact result. For the exact computation of factorials of larger numbers, the use of arbitrary-precision arithmetic software is necessary, and it is more appropriate to model the time to perform a multiplication as a function of the number of digits in the result.

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).[66]

Related sequences and functions

Several other integer sequences are similar to or related to the factorials:

Alternating factorial
The alternating factorial is the absolute value of the alternating sum of the first factorials, . These have mainly been studied in connection with their primality; only finitely many of them can be prime, but a complete list of primes of this form is not known.[67]
Bhargava factorial
The Bhargava factorials are a family of integer sequences defined by Manjul Bhargava with similar number-theoretic properties to the factorials, including the factorials themselves as a special case.[53]
Double factorial
The product of all the odd integers up to some odd positive integer is called the double factorial of , and denoted by .[68] That is,
For example, 9!! = 1 × 3 × 5 × 7 × 9 = 945. Double factorials are used in trigonometric integrals,[69] in expressions for the gamma function at half-integers and the volumes of hyperspheres,[70] and in counting binary trees and perfect matchings.[68][71]
Exponential factorial
Just as triangular numbers sum the numbers from to , and factorials take their product, the exponential factorial exponentiates. The exponential factorial of , denoted as , is defined recursively as , with the base case For example,
These numbers grow much more quickly than regular factorials or even hyperfactorials.[72]
Falling factorial
The notations or are sometimes used to represent the product of the n integers counting up to and including x, equal to . This is also known as a falling factorial or backward factorial, and the notation is a Pochhammer symbol.[73] Falling factorials occur as coefficients in the higher derivatives of polynomials,[74] and in the factorial moments of random variables.[75] They count the number of different sequences of distinct items that can be drawn from a universe of items.[76]
Jordan–Pólya numbers
The Jordan–Pólya numbers are the products of factorials, allowing repetitions. Every tree has a symmetry group whose number of symmetries is a Jordan–Pólya number, and every Jordan–Pólya number counts the symmetries of some tree.[77]
Primorial
The primorial is the product of prime numbers less than or equal to ; this construction gives them some similar divisibility properties to factorials,[33] but unlike factorials they are squarefree.[78] As with the factorial primes , researchers have studied primorial primes .[33]
Subfactorial
The subfactorial yields the number of derangements of a set of objects. It is sometimes denoted , and equals the closest integer to .[26]

References

  1. ^ a b c Graham, Ronald L.; Knuth, Donald E.; Patashnik, Oren (1988). Concrete Mathematics. Reading, MA: Addison-Wesley. p. 111. ISBN 0-201-14236-8.
  2. ^ Datta, Bibhutibhusan; Singh, Awadhesh Narayan (2019). "Use of permutations and combinations in India". In Kolachana, Aditya; Mahesh, K.; Ramasubramanian, K. (eds.). Studies in Indian Mathematics and Astronomy: Selected Articles of Kripa Shankar Shukla. Sources and Studies in the History of Mathematics and Physical Sciences. Springer Singapore. pp. 356–376. doi:10.1007/978-981-13-7326-8_18.. Revised by K. S. Shukla from a paper in Indian Journal of History of Science 27 (3): 231–249, 1992, MR1189487. See p. 363.
  3. ^ Biggs, Norman L. (May 1979). "The roots of combinatorics". Historia Mathematica. 6 (2): 109–136. doi:10.1016/0315-0860(79)90074-0. MR 0530622.
  4. ^ a b Katz, Victor J. (June 1994). "Ethnomathematics in the classroom". For the Learning of Mathematics. 14 (2): 26–30. JSTOR 40248112.
  5. ^ Sefer Yetzirah at Wikisource, Chapter IV, Section 4
  6. ^ Acerbi, F. (2003). "On the shoulders of Hipparchus: a reappraisal of ancient Greek combinatorics". Archive for History of Exact Sciences. 57 (6): 465–502. doi:10.1007/s00407-003-0067-0. JSTOR 41134173. MR 2004966.
  7. ^ Katz, Victor J. (2013). "Chapter 4: Jewish combinatorics". In Wilson, Robin; Watkins, John J. (eds.). Combinatorics: Ancient & Modern. Oxford University Press. pp. 109–121. ISBN 978-0-19-965659-2. See p. 111.
  8. ^ Hunt, Katherine (May 2018). "The Art of Changes: Bell-Ringing, Anagrams, and the Culture of Combination in Seventeenth-Century England". Journal of Medieval and Early Modern Studies. 48 (2): 387–412. doi:10.1215/10829636-4403136.
  9. ^ Stedman, Fabian (1677). Campanalogia. London. pp. 6–9. 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.
  10. ^ Knobloch, Eberhard (2013). "Chapter 5: Renaissance combinatorics". In Wilson, Robin; Watkins, John J. (eds.). Combinatorics: Ancient & Modern. Oxford University Press. pp. 123–145. ISBN 978-0-19-965659-2. See p. 126.
  11. ^ Knobloch 2013, pp. 130–133.
  12. ^ a b c Ebbinghaus, H.-D.; Hermes, H.; Hirzebruch, F.; Koecher, M.; Mainzer, K.; Neukirch, J.; Prestel, A.; Remmert, R. (1990). Numbers. Graduate Texts in Mathematics. Vol. 123. New York: Springer-Verlag. p. 131. doi:10.1007/978-1-4612-1005-4. ISBN 0-387-97202-1. MR 1066206.
  13. ^ Dutka, Jacques (1991). "The early history of the factorial function". Archive for History of Exact Sciences. 43 (3): 225–249. doi:10.1007/BF00389433. JSTOR 41133918. MR 1171521.
  14. ^ Dickson, Leonard E. (1919). "Chapter IX: Divisibility of factorials and multinomial coefficients". History of the Theory of Numbers. Vol. 1. Carnegie Institution of Washington. pp. 263–278. See in particular p. 263.
  15. ^ Cajori, Florian (1929). "448–449. Factorial "n"". A History of Mathematical Notations, Volume II: Notations Mainly in Higher Mathematics. The Open Court Publishing Company. pp. 71–77.
  16. ^ Miller, Jeff. "Earliest Known Uses of Some of the Words of Mathematics (F)". MacTutor History of Mathematics archive. University of St Andrews.
  17. ^ a b Craik, Alex D. D. (2005). "Prehistory of Faà di Bruno's formula". The American Mathematical Monthly. 112 (2): 119–130. doi:10.1080/00029890.2005.11920176. JSTOR 30037410. MR 2121322.
  18. ^ a b Hamkins, Joel David (2020). Proof and the Art of Mathematics. Cambridge, Massachusetts: MIT Press. p. 50. ISBN 978-0-262-53979-1. MR 4205951.
  19. ^ Dorf, Richard C. (2003). "Factorials". CRC Handbook of Engineering Tables. CRC Press. p. 5-5. ISBN 978-0-203-00922-2.
  20. ^ Goldenberg, E. Paul; Carter, Cynthia J. (October 2017). "A student asks about (−5)!". The Mathematics Teacher. 111 (2): 104–110. doi:10.5951/mathteacher.111.2.0104. JSTOR 10.5951/mathteacher.111.2.0104.
  21. ^ Haberman, Bruria; Averbuch, Haim (2002). "The case of base cases: Why are they so difficult to recognize? Student difficulties with recursion". In Caspersen, Michael E.; Joyce, Daniel T.; Goelman, Don; Utting, Ian (eds.). Proceedings of the 7th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, ITiCSE 2002, Aarhus, Denmark, June 24-28, 2002. Association for Computing Machinery. pp. 84–88. doi:10.1145/544414.544441.
  22. ^ Farrell, Orin J.; Ross, Bertram (1971). Solved Problems in Analysis: As Applied to Gamma, Beta, Legendre and Bessel Functions. Dover Books on Mathematics. Courier Corporation. p. 10. ISBN 978-0-486-78308-6.
  23. ^ Conway, John H.; Guy, Richard (1998). "Factorial numbers". The Book of Numbers. Springer Science & Business Media. pp. 55–56. ISBN 978-0-387-97993-9.
  24. ^ Graham, Knuth & Patashnik 1988, p. 156.
  25. ^ Riordan, John (1958). An Introduction to Combinatorial Analysis. Wiley Publications in Mathematical Statistics. Chapman & Hall. p. 76. MR 0096594.
  26. ^ a b Graham, Knuth & Patashnik 1988, p. 195.
  27. ^ Graham, Knuth & Patashnik 1988, p. 162.
  28. ^ Randić, Milan (1987). "On the evaluation of the characteristic polynomial via symmetric function theory". Journal of Mathematical Chemistry. 1 (1): 145–152. doi:10.1007/BF01205340. MR 0895533.
  29. ^ Hill, Victor E. (2000). "8.1 Proposition: Symmetric group Sn". Groups and Characters. Chapman & Hall. p. 70. ISBN 978-1-351-44381-4. MR 1739394.
  30. ^ Christensen, Kim; Moloney, Nicholas R. (2005). "Appendix A: Taylor expansion". Complexity and Criticality. Advanced physics texts. Vol. 1. Imperial College Press. p. 341. ISBN 978-1-86094-504-5.
  31. ^ Wilf, Herbert S. (2006). generatingfunctionology (3rd ed.). Wellesley, Massachusetts: A K Peters. p. 22. ISBN 978-1-56881-279-3. MR 2172781.
  32. ^ Ore, Øystein (1948). Number Theory and Its History. New York: McGraw-Hill. p. 66. MR 0026059.
  33. ^ a b c Caldwell, Chris K.; Gallot, Yves (2002). "On the primality of and ". Mathematics of Computation. 71 (237): 441–448. doi:10.1090/S0025-5718-01-01315-1. MR 1863013.
  34. ^ Guy, Richard K. (2004). "D25: Equations involving factorial ". Unsolved Problems in Number Theory. Problem Books in Mathematics (3rd ed.). New York: Springer-Verlag. pp. 301–302. doi:10.1007/978-0-387-26677-0. ISBN 0-387-20860-7. MR 2076335.
  35. ^ Neale, Vicky (2017). Closing the Gap: The Quest to Understand Prime Numbers. Oxford University Press. pp. 146–147. ISBN 978-0-19-878828-7.
  36. ^ Erdős, Pál (1932). "Beweis eines Satzes von Tschebyschef" [Proof of a theorem of Chebyshev] (PDF). Acta Litt. Sci. Szeged (in German). 5: 194–198. Zbl 0004.10103.
  37. ^ Chvátal, Vašek (2021). "1.5: Erdős's proof of Bertrand's postulate". The Discrete Mathematical Charms of Paul Erdős: A Simple Introduction. Cambridge, England: Cambridge University Press. pp. 7–10. doi:10.1017/9781108912181. ISBN 978-1-108-83183-3. MR 4282416.
  38. ^ Fraenkel, Aviezri S. (1985). "Systems of numeration". The American Mathematical Monthly. 92 (2): 105–114. doi:10.1080/00029890.1985.11971550. JSTOR 2322638. MR 0777556.
  39. ^ Pitman, Jim (1993). "3.5: The Poisson distribution". Probability. New York: Springer. pp. 222–236. doi:10.1007/978-1-4612-4374-8.
  40. ^ Pitman 1993, p. 153.
  41. ^ Kleinberg, Jon; Tardos, Éva (2006). Algorithm Design. Addison-Wesley. p. 55.
  42. ^ a b Knuth, Donald E. (1998). The Art of Computer Programming, Volume 3: Sorting and Searching (2nd ed.). Addison-Wesley. p. 182. ISBN 978-0-321-63578-5.
  43. ^ Sedgewick, Robert; Wayne, Kevin (2011). Algorithms (4th ed.). Addison-Wesley. p. 466. ISBN 978-0-13-276256-4.
  44. ^ Cameron, Peter J. (1994). "2.4: Orders of magnitude". Combinatorics: Topics, Techniques, Algorithms. Cambridge University Press. pp. 12–14. ISBN 978-0-521-45133-8.
  45. ^ Magnus, Robert (2020). "11.10: Stirling's approximation". Fundamental Mathematical Analysis. Springer Undergraduate Mathematics Series. Cham: Springer. p. 391. doi:10.1007/978-3-030-46321-2. ISBN 978-3-030-46321-2. MR 4178171.
  46. ^ Palmer, Edgar M. (1985). "Appendix II: Stirling's formula". Graphical Evolution: An introduction to the theory of random graphs. Wiley-Interscience Series in Discrete Mathematics. Chichester: John Wiley & Sons. pp. 127–128. ISBN 0-471-81577-2. MR 0795795.
  47. ^ a b c Chen, Chao-Ping; Lin, Long (2012). "Remarks on asymptotic expansions for the gamma function". Applied Mathematics Letters. 25 (12): 2322–2326. doi:10.1016/j.aml.2012.06.025. MR 2967837.
  48. ^ Beiler, Albert H. (1966). Recreations in the Theory of Numbers: The Queen of Mathematics Entertains. Dover Recreational Math Series (2nd ed.). Courier Corporation. p. 49. ISBN 978-0-486-21096-4.
  49. ^ Chvátal 2021. "1.4: Legendre's formula". pp. 6–7.
  50. ^ a b Robert, Alain M. (2000). "3.1: The -adic valuation of a factorial". A Course in -adic Analysis. Graduate Texts in Mathematics. Vol. 198. New York: Springer-Verlag. pp. 241–242. doi:10.1007/978-1-4757-3254-2. ISBN 0-387-98669-3. MR 1760253.
  51. ^ Peitgen, Heinz-Otto; Jürgens, Hartmut; Saupe, Dietmar (2004). "Kummer's result and Legendre's identity". Chaos and Fractals: New Frontiers of Science. New York: Springer. pp. 399–400. doi:10.1007/b97624.
  52. ^ Koshy, Thomas (2007). "Example 3.12". Elementary Number Theory with Applications (2nd ed.). Elsevier. p. 178. ISBN 978-0-08-054709-1.
  53. ^ a b c Bhargava, Manjul (2000). "The factorial function and generalizations". The American Mathematical Monthly. 107 (9): 783–799. CiteSeerX 10.1.1.585.2265. doi:10.2307/2695734. JSTOR 2695734.
  54. ^ Guy 2004. "B23: Equal products of factorials". p. 123.
  55. ^ Luca, Florian (2007). "On factorials which are products of factorials". Mathematical Proceedings of the Cambridge Philosophical Society. 143 (3): 533–542. doi:10.1017/S0305004107000308. MR 2373957.
  56. ^ a b Davis, Philip J. (1959). "Leonhard Euler's integral: A historical profile of the gamma function". The American Mathematical Monthly. 66: 849–869. doi:10.1080/00029890.1959.11989422. JSTOR 2309786. MR 0106810.
  57. ^ a b Borwein, Jonathan M.; Corless, Robert M. (2018). "Gamma and factorial in the Monthly". The American Mathematical Monthly. 125 (5): 400–424. doi:10.1080/00029890.2018.1420983. MR 3785875.
  58. ^ Remmert, Reinhold (1996). "Wielandt's theorem about the -function". The American Mathematical Monthly. 103 (3): 214–220. doi:10.1080/00029890.1996.12004726. JSTOR 2975370. MR 1376175.
  59. ^ Hadamard, M. J. (1968) [1894]. "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.
  60. ^ Alzer, Horst (2009). "A superadditive property of Hadamard's gamma function". Abhandlungen aus dem Mathematischen Seminar der Universität Hamburg. 79 (1): 11–23. doi:10.1007/s12188-008-0009-5. MR 2541340.
  61. ^ Robert 2000. "7.1: The gamma function ". pp. 366–385.
  62. ^ Ross, Bertram (1978). "The psi function". Mathematics Magazine. 51 (3): 176–179. doi:10.1080/0025570X.1978.11976704. JSTOR 2689999. MR 1572267.
  63. ^ Addis, Tom; Addis, Jan (2009). Drawing Programs: The Theory and Practice of Schematic Functional Programming. Springer. pp. 149–150. ISBN 978-1-84882-618-2.
  64. ^ Hey, Tony; Pápay, Gyuri (2014). The Computing Universe: A Journey through a Revolution. Cambridge University Press. p. 64. ISBN 9781316123225.
  65. ^ Torra, Vicenç (2016). Scala From a Functional Programming Perspective: An Introduction to the Programming Language. Lecture Notes in Computer Science. Vol. 9980. Springer. p. 96. ISBN 978-3-319-46481-7.
  66. ^ Borwein, Peter (1985). "On the Complexity of Calculating Factorials". Journal of Algorithms. 6 (3): 376–380. doi:10.1016/0196-6774(85)90006-9.
  67. ^ Guy 2004. "B43: Alternating sums of factorials". pp. 152–153.
  68. ^ a b Callan, David (2009). "A combinatorial survey of identities for the double factorial". arXiv:0906.1317.
  69. ^ Meserve, B. E. (1948). "Classroom Notes: Double Factorials". The American Mathematical Monthly. 55 (7): 425–426. doi:10.2307/2306136. JSTOR 2306136. MR 1527019.
  70. ^ 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..
  71. ^ 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..
  72. ^ Luca, Florian; Marques, Diego (2010). "Perfect powers in the summatory function of the power tower". Journal de Théorie des Nombres de Bordeaux. 22 (3): 703–718. MR 2769339.
  73. ^ Graham, Knuth & Patashnik 1988, pp. x, 47–48.
  74. ^ Hardy, G. H. (1921). "Examples XLV". A Course of Pure Mathematics (3rd ed.). Cambridge University Press. p. 215.
  75. ^ Daley, D. J.; Vere-Jones, D. (1988). "5.2: Factorial moments, cumulants, and generating function relations for discrete distributions". An Introduction to the Theory of Point Processes. Springer Series in Statistics. New York: Springer-Verlag. p. 112. ISBN 0-387-96666-8. MR 0950166.
  76. ^ Sagan, Bruce E. (2020). "Theorem 1.2.1". Combinatorics: the Art of Counting. Graduate Studies in Mathematics. Vol. 210. Providence, Rhode Island: American Mathematical Society. p. 5. ISBN 978-1-4704-6032-7. MR 4249619.
  77. ^ Sloane, N. J. A. (ed.). "Sequence A001013 (Jordan-Polya numbers: products of factorial numbers)". The On-Line Encyclopedia of Integer Sequences. OEIS Foundation.
  78. ^ Nelson, Randolph (2020). A Brief Journey in Discrete Mathematics. Cham: Springer. p. 127. doi:10.1007/978-3-030-37861-5. ISBN 978-3-030-37861-5. MR 4297795.

External links