Zero to the power of zero
Zero to the power of zero, denoted by 00, is a mathematical expression that is either defined as 1 or left undefined, depending on context. In algebra and combinatorics, one typically defines 00 = 1. In mathematical analysis, the expression is sometimes left undefined. Computer programming languages and software also have differing ways of handling this expression.
Discrete exponents
Many widely used formulas involving natural-number exponents require 00 to be defined as 1. For example, the following three interpretations of b0 make just as much sense for b = 0 as they do for positive integers b:
- The interpretation of b0 as an empty product assigns it the value 1.
- The combinatorial interpretation of b0 is the number of 0-tuples of elements from a b-element set; there is exactly one 0-tuple.
- The empty function.[1]
All three of these specialize to give 00 = 1.
Polynomials and power series
When evaluating
Defining 00 = 1 is necessary for many polynomial identities. For example, the binomial theorem holds for x = 0 only if 00 = 1.[4]
Similarly, rings of power series require x0 to be defined as 1 for all specializations of x. For example, identities like and hold for x = 0 only if 00 = 1.[5]
In order for the polynomial x0 to define a continuous function R → R, one must define 00 = 1.
In calculus, the power rule is valid for n = 1 at x = 0 only if 00 = 1.
Continuous exponents
Limits involving algebraic operations can often be evaluated by replacing subexpressions by their limits; if the resulting expression does not determine the original limit, the expression is known as an indeterminate form.[6] The expression 00 is an indeterminate form: Given real-valued functions f(t) and g(t) approaching 0 (as t approaches a real number or ±∞) with f(t) > 0, the limit of f(t)g(t) can be any non-negative real number or +∞, or it can diverge, depending on f and g. For example, each limit below involves a function f(t)g(t) with f(t), g(t) → 0 as t → 0+ (a one-sided limit), but their values are different:
Thus, the two-variable function xy, though continuous on the set {(x, y) : x > 0}, cannot be extended to a continuous function on {(x, y) : x > 0} ∪ {(0, 0)}, no matter how one chooses to define 00.[7]
On the other hand, if f and g are
Complex exponents
In the
History
As a value
In 1752, Euler in Introductio in analysin infinitorum wrote that a0 = 1[14] and explicitly mentioned that 00 = 1.[15] An annotation attributed[16] to Mascheroni in a 1787 edition of Euler's book Institutiones calculi differentialis[17] offered the "justification"
As a limiting form
Euler, when setting 00 = 1, mentioned that consequently the values of the function 0x take a "huge jump", from ∞ for x < 0, to 1 at x = 0, to 0 for x > 0.[14] In 1814, Pfaff used a squeeze theorem argument to prove that xx → 1 as x → 0+.[8]
On the other hand, in 1821
Apparently unaware of Cauchy's work, Möbius[8] in 1834, building on Pfaff's argument, claimed incorrectly that f(x)g(x) → 1 whenever f(x),g(x) → 0 as x approaches a number c (presumably f is assumed positive away from c). Möbius reduced to the case c = 0, but then made the mistake of assuming that each of f and g could be expressed in the form Pxn for some continuous function P not vanishing at 0 and some nonnegative integer n, which is true for analytic functions, but not in general. An anonymous commentator pointed out the unjustified step;[21] then another commentator who signed his name simply as "S" provided the explicit counterexamples (e−1/x)x → e−1 and (e−1/x)2x → e−2 as x → 0+ and expressed the situation by writing that "00 can have many different values".[21]
Current situation
- Some authors define 00 as 1 because it simplifies many theorem statements. According to Benson (1999), "The choice whether to define 00 is based on convenience, not on correctness. If we refrain from defining 00, then certain assertions become unnecessarily awkward. ... The consensus is to use the definition 00 = 1, although there are textbooks that refrain from defining 00."[22] Knuth (1992) contends more strongly that 00 "has to be 1"; he draws a distinction between the value 00, which should equal 1, and the limiting form 00 (an abbreviation for a limit of f(t)g(t) where f(t), g(t) → 0), which is an indeterminate form: "Both Cauchy and Libri were right, but Libri and his defenders did not understand why truth was on their side."[19]
- Other authors leave 00 undefined because 00 is an indeterminate form: f(t), g(t) → 0 does not imply f(t)g(t) → 1.[23][24]
There do not seem to be any authors assigning 00 a specific value other than 1.[22]
Treatment on computers
IEEE floating-point standard
The
pown
(whose exponent is an integer) treats 00 as 1; see § Discrete exponents.pow
(whose intent is to return a non-NaN result when the exponent is an integer, likepown
) treats 00 as 1.powr
treats 00 as NaN (Not-a-Number) due to the indeterminate form; see § Continuous exponents.
The pow
variant is inspired by the pow
function from C99, mainly for compatibility.[26] It is useful mostly for languages with a single power function. The pown
and powr
variants have been introduced due to conflicting usage of the power functions and the different points of view (as stated above).[27]
Programming languages
The C and C++ standards do not specify the result of 00 (a domain error may occur). But for C, as of
System.Math.Pow
,[30] Julia, and Python[31][32] also treat 00 as 1. Some languages document that their exponentiation operation corresponds to the pow
function from the C mathematical library; this is the case with Lua's ^
operator[33] and Perl's **
operator[34]0**0
is platform-dependent).
Mathematical and scientific software
further distinguish between integer and floating-point values: If the exponent is a zero of integer type, they return a 1 of the type of the base; exponentiation with a floating-point exponent of value zero is treated as undefined, indeterminate or error.See also
- 0/0
References
- Springer-Verlag.
- Springer.
L'unique monôme de degré 0 est l'élément unité de A[(Xi)i∈I]; on l'identifie souvent à l'élément unité 1 de A
- Springer.
- ISBN 0-201-14236-8.
Some textbooks leave the quantity 00 undefined, because the functions x0 and 0x have different limiting values when x decreases to 0. But this is a mistake. We must define x0 = 1, for all x, if the binomial theorem is to be valid when x = 0, y = 0, and/or x = −y. The binomial theorem is too important to be arbitrarily restricted! By contrast, the function 0x is quite unimportant.
- The Mathematics Teacher. 63: 111–112.
- ISBN 978-81-224-0323-7.
In general the limit of φ(x)/ψ(x) when x = a in case the limits of both the functions exist is equal to the limit of the numerator divided by the denominator. But what happens when both limits are zero? The division (0/0) then becomes meaningless. A case like this is known as an indeterminate form. Other such forms are ∞/∞, 0 × ∞, ∞ − ∞, 00, 1∞ and ∞0.
- JSTOR 2307224.
- ^ S2CID 199547186.
- JSTOR 2320074. Retrieved 2021-11-23.
- S2CID 125602000. Retrieved 2021-11-23.
- ISBN 0-89871-595-4.
Since log(0) does not exist, 0z is undefined. For Re(z) > 0, we define it arbitrarily as 0.
- ISBN 0-8247-8415-4.
For z = 0, w ≠ 0, we define 0w = 0, while 00 is not defined.
- .
... Let's start at x = 0. Here xx is undefined.
- ^ ISBN 978-0-387-96824-7.
- ISBN 978-0-387-96824-7.
- ^ S2CID 121610886.
- ISBN 978-0-387-96824-7.
- S2CID 121706970.
- ^ .
- ^ Cauchy, Augustin-Louis (1821), Cours d'Analyse de l'École Royale Polytechnique, Oeuvres Complètes: 2 (in French), vol. 3, pp. 65–69
- ^ .
- ^ ISBN 978-0-19-511721-9.
- Prentice-Hall. p. 466.
- ^ Keedy; Bittinger; Smith (1982). Algebra Two. Addison-Wesley. p. 32.
- ISBN 0-8176-4704-X(print)
- ^ "More transcendental questions". grouper.ieee.org. Archived from the original on 2017-11-14. Retrieved 2019-05-27. (NB. Beginning of the discussion about the power functions for the revision of the IEEE 754 standard, May 2007.)
- ^ "Re: A vague specification". grouper.ieee.org. Archived from the original on 2017-11-14. Retrieved 2019-05-27. (NB. Suggestion of variants in the discussion about the power functions for the revision of the IEEE 754 standard, May 2007.)
- ^ Rationale for International Standard—Programming Languages—C (PDF) (Report). Revision 5.10. April 2003. p. 182.
- ^ "Math (Java Platform SE 8) pow". Oracle.
- ^ ".NET Framework Class Library Math.Pow Method". Microsoft.
- ^ "Built-in Types — Python 3.8.1 documentation". Retrieved 2020-01-25.
Python defines pow(0, 0) and 0 ** 0 to be 1, as is common for programming languages.
- ^ "math — Mathematical functions — Python 3.8.1 documentation". Retrieved 2020-01-25.
Exceptional cases follow Annex 'F' of the C99 standard as far as possible. In particular, pow(1.0, x) and pow(x, 0.0) always return 1.0, even when x is a zero or a NaN.
- ^ "Lua 5.3 Reference Manual". Retrieved 2019-05-27.
- ^ "perlop – Exponentiation". Retrieved 2019-05-27.
- ^ The R Core Team (2023-06-11). "R: A Language and Environment for Statistical Computing – Reference Index" (PDF). Version 4.3.0. p. 25. Retrieved 2019-11-22.
1 ^ y
andy ^ 0
are 1, always. - ^ The Sage Development Team (2020). "Sage 9.2 Reference Manual: Standard Commutative Rings. Elements of the ring Z of integers". Retrieved 2021-01-21.
For consistency with Python and MPFR, 0^0 is defined to be 1 in Sage.
- ^ a b "pari.git / commitdiff – 10- x ^ t_FRAC: return an exact result if possible; e.g. 4^(1/2) is now 2". Retrieved 2018-09-10.
- ^ a b "Wolfram Language & System Documentation: Power". Wolfram. Retrieved 2018-08-02.
- ^ The PARI Group (2018). "Users' Guide to PARI/GP (version 2.11.0)" (PDF). pp. 10, 122. Retrieved 2018-09-04.
There is also the exponentiation operator ^, when the exponent is of type integer; otherwise, it is considered as a transcendental function. ... If the exponent n is an integer, then exact operations are performed using binary (left-shift) powering techniques. ... If the exponent n is not an integer, powering is treated as the transcendental function exp(n log x).
External links
- sci.math FAQ: What is 00?
- What does 00 (zero to the zeroth power) equal? on AskAMathematician.com