**Zero to the power of zero**, denoted by

**00**, is a mathematical expression with no agreed-upon value. The most common possibilities are 1 or leaving the expression undefined, with justifications existing for each, depending on context. In algebra and combinatorics, the broadly agreed upon value is 00 = 1, whereas in mathematical analysis, the expression is sometimes left undefined. Computer programming languages and software besides have differing ways of handling this formula .

## discrete exponents [edit ]

many wide used formula involving natural-number exponents require 00 to be defined as 1. For example, the come three interpretations of *b* 0 make barely american samoa much common sense for *b* = 0 as they do for positive integers b :

- The interpretation of
*b*0as an empty product assigns it the value 1.

- The combinatorial interpretation of
*b*0 is the number of 0-tuples of elements from a*b*-element set; there is exactly one 0-tuple. - The set-theoretic interpretation of
*b*0 is the number of functions from the empty set to a*b*-element set; there is exactly one such function, namely, the empty function.[1]

All three of these specialize to give 00 = 1 .

## Polynomials and power series [edit ]

When working with polynomials, it is convenient to define 00 as 1. A ( veridical ) polynomial is an expression of the kind *a* 0 *x* 0 + ⋅⋅⋅ + *a* *n* *x* *n*, where *x* is an indeterminate, and the coefficients *a* *n* are real numbers. Polynomials are lend termwise, and multiplied by applying the distributive law and the usual rules for exponents. With these algebraic rules for handling, polynomials form a ring **R** [ *x* ]. The polynomial *x* 0 is the multiplicative identity of the polynomial hoop, meaning that it is the element such that *x* 0 times any polynomial *p* ( *x* ) is barely *p* ( *x* ). [ 2 ] Polynomials can be evaluated by specializing *x* to a substantial numeral. More precisely, for any given veridical number *r*, there is a singular unital **R** -algebra homomorphism electron volt *r* : **R** [ *x* ] → **R** such that ev *r* ( *x* ) = *r*. Because electron volt *r* is unital, electron volt *r* ( *x* 0 ) = 1. That is, *r* 0 = 1 for each real number *r*, including 0. The lapp argument applies with **R** replaced by any ring. [ 3 ] Defining 00 = 1 is necessary for many polynomial identities. For example, the binomial theorem ( 1 + *x* ) *n* = Σ *n*

*k* =0 ( *n*

*k* ) *x* *k* is not valid for *x* = 0 unless 00 = 1. [ 4 ] similarly, rings of power series require *x* 0 to be defined as 1 for all specializations of *x*. For exercise, identities like 1/1− *x* = Σ∞

*n* =0 *x* *n* and *e* *x* = Σ∞

*n* =0 *x* *n* / *n* ! hold for *x* = 0 merely if 00 = 1. [ 5 ] In order for the polynomial *x* 0 to define a continuous routine **R** → **R**, one must define 00 = 1. In calculus, the power rule *d* / *dx* *x* *n* = *nx* *n* −1 is valid for *n* = 1 at *x* = 0 only if 00 = 1 .

## continuous exponents [edit ]

*z* = *x*

*y*

. The red curves (with *z* constant) yield different limits as ( *x*, *y* ) approaches ( 0, 0 ). The green curves (of finite constant slope, *y* = *ax*) all yield a limit of 1. plat of. The crimson curves ( withconstant ) output unlike limits asapproaches. The green curves ( of finite changeless gradient, ) all yield a limit of Limits involving algebraic operations can much 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 shape. [ 6 ] The expression 00 is an indeterminate form : Given real-valued functions *f* ( *t* ) and *g* ( *t* ) approaching 0 ( as *t* approaches a very number or ±∞ ) with *f* ( *t* ) > 0, the limit of *f* ( *t* ) *g* ( *t* ) can be any non-negative veridical number or +∞, or it can diverge, depending on farad and g. For case, each restrict below involves a function *f* ( *t* ) *g* ( *t* ) with *f* ( *t* ), *g* ( *t* ) → 0 as *t* → 0+ ( a unilateral specify ), but their values are different : lim metric ton → 0 + triiodothyronine triiodothyronine = 1, { \displaystyle \lim _ { t\to 0^ { + } } { metric ton } ^ { t } =1, } lim triiodothyronine → 0 + ( e − 1 / triiodothyronine 2 ) deoxythymidine monophosphate = 0, { \displaystyle \lim _ { t\to 0^ { + } } \left ( e^ { -1/t^ { 2 } } \right ) ^ { thyroxine } =0, } lim deoxythymidine monophosphate → 0 + ( e − 1 / deoxythymidine monophosphate 2 ) − metric ton = + ∞, { \displaystyle \lim _ { t\to 0^ { + } } \left ( e^ { -1/t^ { 2 } } \right ) ^ { -t } =+\infty, } lim metric ton → 0 + ( e − 1 / triiodothyronine ) a thymine = east − a. { \displaystyle \lim _ { t\to 0^ { + } } \left ( e^ { -1/t } \right ) ^ { at } =e^ { -a }. } therefore, the two-variable serve *x* *y*, though continuous on the set { ( *x*, *y* ) : *x* > 0 }, can not be extended to a continuous serve on { ( *x*, *y* ) : *x* > 0 } ∪ { ( 0, 0 ) }, no topic how one chooses to define 00. [ 7 ] On the other hand, if *f* and *g* are both analytic functions on an open neighborhood of a number hundred, then *f* ( *t* ) *g* ( *t* ) → 1 as deoxythymidine monophosphate approaches c from any side on which fluorine is incontrovertible. [ 8 ] Rotando and Korn [ 9 ] showed that if fluorine { \displaystyle farad } and deoxyguanosine monophosphate { \displaystyle gravitational constant } are actual functions that vanish at the beginning and are analytic at 0, then lim x → 0 + fluorine ( x ) g ( x ) = 1 { \displaystyle \lim _ { x\to 0^ { + } } degree fahrenheit ( x ) ^ { gram ( adam ) } =1 } . The like stopping point was deduced by Baxley and Hayashi, [ 10 ] who besides obtained a more general result in which no eloquence conditions are required. More general sufficient conditions for lim x → c farad ( x ) = lim x → c deoxyguanosine monophosphate ( x ) = 0 { \displaystyle \lim _ { x\to c } degree fahrenheit ( x ) =\lim _ { x\to c } guanine ( x ) =0 } implying lim x → c degree fahrenheit ( x ) g ( x ) = 1 { \displaystyle \lim _ { x\to c } f ( x ) ^ { gigabyte ( x ) } =1 } have been found. [ 11 ]

## complex exponents [edit ]

In the complex world, the function *z* *w* may be defined for nonzero *z* by choosing a branch of log *z* and defining *z* *w* as *e* *w* log *z*. This does not define 0 *w* since there is no branch of log *z* defined at *z* = 0, let alone in a neighborhood of 0. [ 12 ] [ 13 ] [ 14 ]

## history [edit ]

### As a value [edit ]

In 1752, Euler in *Introductio in analysin infinitorum* wrote that *a* 0 = 1 [ 15 ] and explicitly mentioned that 00 = 1. [ 16 ] An note attributed [ 17 ] to Mascheroni in a 1787 version of Euler ‘s book *Institutiones calculi differentialis* [ 18 ] offered the “ justification ” 0 0 = ( a − a ) nitrogen − north = ( a − a ) newton ( a − a ) n = 1 { \displaystyle 0^ { 0 } = ( a-a ) ^ { n-n } = { \frac { ( a-a ) ^ { normality } } { ( a-a ) ^ { north } } } =1 }

Read more: EFL Trophy – Wikipedia

published several further arguments attempting to justify the claim 00 = 1, though these were far from convincing, even by standards of rigor at the time.

### As a limiting form [edit ]

ampere well as another more involved justification. In the 1830s, Libri published several further arguments attempting to justify the claim, though these were army for the liberation of rwanda from convincing, even by standards of asperity at the time. Euler, when setting 00 = 1, mentioned that consequently the values of the function 0 *x* take a “ huge jump ”, from ∞ for *x* < 0, to 1 at *x* = 0, to 0 for *x* > 0. [ 15 ] In 1814, Pfaff used a squeeze theorem argument to prove that *x* *x* → 1 as *x* → 0+. [ 8 ] On the other hand, in 1821 Cauchy [ 21 ] explained why the limit of *x* *y* as incontrovertible numbers x and yttrium set about 0 *while being constrained by some fixed relation* could be made to assume any value between 0 and ∞ by choosing the relation appropriately. He deduced that the specify of the entire *two-variable* affair *x* *y* without a specify constraint is “ indeterminate ”. With this justification, he listed 00 along with expressions like 0/0 in a table of indeterminate forms. obviously unaware of Cauchy ‘s function, Möbius [ 8 ] in 1834, building on Pfaff ‘s argumentation, claimed falsely that *f* ( *x* ) *g* ( *x* ) → 1 whenever *f* ( *x* ), *g* ( *x* ) → 0 as ten approaches a issue c ( presumably f is assumed positive away from cytosine ). Möbius reduced to the shell *c* = 0, but then made the mistake of assuming that each of farad and gigabyte could be expressed in the phase *Px* *n* for some continuous function P not vanishing at 0 and some nonnegative integer normality, which is true for analytic functions, but not in general. An anonymous observer pointed out the undue step ; [ 22 ] then another observer who signed his name simply as “ S ” provided the explicit counterexamples ( *e* −1/ *x* ) *x* → *e* −1 and ( *e* −1/ *x* ) 2 *x* → *e* −2 as *x* → 0+ and expressed the situation by writing that “ 00 can have many different values ”. [ 22 ]

### current situation [edit ]

- 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.”[23]. ”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.”[20] - Other authors leave 00 undefined because 00 is an indeterminate form:
*f*(*t*),*g*(*t*) → 0 does not imply*f*(*t*)*g*(*t*) → 1.[24][25]

There do not seem to be any authors assigning 00 a specific value other than 1. [ 23 ]

## treatment on computers [edit ]

### IEEE floating-point standard [edit ]

The IEEE 754-2008 floating-point standard is used in the purpose of most floating-point libraries. It recommends a act of operations for computing a power : [ 26 ]

`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, like`pown`

) treats 00 as 1.`powr`

treats 00Read more: 2015–16 Liverpool F.C. season – Wikipedia

as NaN (Not-a-Number) due to the indeterminate form; see § Continuous exponents.

The `pow`

form is inspired by the `pow`

function from C99, chiefly for compatibility. [ 27 ] It is utilitarian by and large for languages with a individual exponent function. The `pown`

and `powr`

variants have been introduced due to conflicting use of the baron functions and the unlike points of watch ( as stated above ). [ 28 ]

### Programming languages [edit ]

The C and C++ standards do not specify the solution of 00 ( a domain error may occur ). But for C, as of C99, if the prescriptive annex F is supported, the result for real floating-point types is required to be 1 because there are significant applications for which this prize is more useful than `NaN` [ 29 ] ( for case, with discrete exponents ) ; the result on building complex types is not specified, even if the informative annex G is supported. The Java standard, [ 30 ] the .NET Framework method acting `System.Math.Pow`

, [ 31 ] Julia, and Python [ 32 ] [ 33 ] besides 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 [ 34 ] and Perl ‘s `**`

operator [ 35 ] ( where it is explicitly mentioned that the resultant role of `0**0`

is platform-dependent ) .

### Mathematical and scientific software [edit ]

APL, [ *citation needed* ] R, [ 36 ] Stata, SageMath, [ 37 ] Matlab, Magma, GAP, Singular, PARI/GP, [ 38 ] and GNU Octave evaluate x0 to 1. Mathematica [ 39 ] and Macsyma simplify x0 to 1 even if no constraints are placed on adam ; however, if 00 is entered immediately, it is treated as an error or indeterminate. SageMath does not simplify 0x. Maple, Mathematica [ 39 ] and PARI/GP [ 38 ] [ 40 ] foster 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 basis ; exponentiation with a floating-point advocate of respect zero is treated as undefined, indeterminate or mistake .