Post Reply 
0^0 = 1?
04-28-2017, 10:22 PM
Post: #41
RE: 0^0 = 1?
(04-28-2017 05:50 PM)Han Wrote:  
(04-28-2017 04:50 PM)Chris Dreher Wrote:  Actually, most mathematician regard 0^0 as an Indeterminate Form. They do not regard it as 1 (or 0) unless there are additional constraints.
0^0 is indeed indeterminate and takes on different values depending on the context. Defining 0^0 = 1 for various applications is neither "wrong" nor "right" -- it is merely a choice that makes the subsequent mathematical results useful.
Yep, that's why I would appreciate to see this being made configurable (in particular in calculators like the Prime, which are supposed to be used in schools).

It is often convenient to define 0^0 = 1 to avoid special cases, but without an explicit definition in the context of the problem to be solved I consider 0^0 to be undefined and I would regard it as an error to simply assume 0^0 to be equal to 1 in general.



"Programs are poems for computers."
Find all posts by this user
Quote this message in a reply
04-30-2017, 12:35 AM
Post: #42
RE: 0^0 = 1?
There is an important distinction in the symbols 0^0, 0^0.0, 0.0^0 and 0.0^0.0. The first case (integer ^ integer) is the easiest. This should be 1. This the only value that shows up in combinatorics or other algebraic expressions. I have never seen a case where defining 0^0 to be other than 1 is a problem.

The second case (integer ^ real ) is tricky. I have never come across this case in "real life": it's only turned up in questions about computer arithmetic defaults or in academic examples. I'd probably make this one undefined. The difference between the cases is that x^integer can be reduced to repeated multiplication (where the repeat factor could be 0 or 1); the second case cannot. The power function over reals is defined in terms or principle branch cuts log functions. Log(0) (as either an integer or real) is undefined ( or - infinity which doesn't help except to delay error interrupts.) The real power function a^b is defined as Exp(b*log(a)).

The third case (real^integer) could be defined as 1.0 with no problem; the integer exponent 0 can be interpreted as an empty product and thus becomes 1.0 (because the things being multiplied are real). This definition fits smoothly into algebraic work. It does not fit the b*log(a) stuff as well.

The fourth case (real^real) is best defaulted to undefined. The b*log(a) has no nice interpretation as a and b approach zero along various paths. This one occurs now and then.

The cases with 0 exponent are easy; defining them to be 1 or 1.0 causes no problems (at least that I have seen and I looked for problems in for this expression.) It's equivalent to defining the sum of an empty list of numbers as zero or the product of an empty list as one. With these definitions, the commutative and associative laws continue to hold.

The cases with 0.0 as an exponent are troublesome. Using the exponential with complex numbers is interesting as one gets (an infinite number) of branch cuts. The limits of the exponential function with a complex number approaching 0 isn't well defined.
Find all posts by this user
Quote this message in a reply
04-30-2017, 04:59 AM
Post: #43
RE: 0^0 = 1?
Some additional data points:

Casio FX9750G+/FX9750GII: Ma Error.
Casio FX-82TL: Math Error
Casio FX-82MS: Math Error
HP 17BII+ (Emulator): Error: 0^0
HP 300S (Emulator): Math Error
GCalcTool (under Linux): 1
TI-84 Plus (Emulator): ERR:DOMAIN
TI-89 Ti (Emulator): undef

(Post 62)

Regards, BrickViking
HP-50g |Casio fx-9750G+ |Casio fx-9750GII (SH4a)
Visit this user's website Find all posts by this user
Quote this message in a reply
05-03-2017, 03:24 PM (This post was last modified: 05-03-2017 03:30 PM by emece67.)
Post: #44
RE: 0^0 = 1?
(04-26-2017 06:40 AM)Paul Dale Wrote:  The WP 34S conforms to ISO/IEC 9899:2011 for real and complex arguments.

I've read what such ISO standard states about the pow() function and it mandates some objectionable (to me) results, such as:
  • \(0^0 = 1\)
  • \(1^\infty = 1\)
  • \(1^{-\infty} = 1\)
  • \(1^{NaN} = 1\)
  • \(\infty^0 = 1\)
  • \((-\infty)^{-0.5} = 0\)
  • \((-\infty)^0 = 1\)
  • \((-\infty)^{0.5} = \infty\)
  • \((-\infty)^\infty = \infty\)
  • \(NaN^0 = 1\)
  • \((-1)^0 = 1\)
  • \((-1)^\infty = 1\)
  • \((-1)^{-\infty} = 1\)

As Paul stated, the wp34s conforms to this standard (I've checked it).

But, despite the 9899 standard, is this the way people expect a calculator to behave? Apart from the, long discussed, \(0^0\) case, I expected NaN in all cases.

What is the rationale behind such behavior?


Note. The pow() function takes two float/double arguments, there is no pow() function for integers, so I think we will only discuss the real case.

C├ęsar - Information must flow.
Find all posts by this user
Quote this message in a reply
05-09-2017, 01:04 AM
Post: #45
RE: 0^0 = 1?
This is a great question on Mathematics. According to Calculus, 0^0 is a indeterminate form, but in Arithmetic books 0^0=1.
Curiously the HP Prime shows the "Error: Undefined Result" when attempting to calculate this result in Home, and "undef" in CAS mode. I have tried to use the Real-valued and Complex-valued results in Prime. Xcas gives similar results.
Scilab, a free MATLAB variant, gives 0^0=1.
Voyage 200 gives "undef" when calculating 0^0, and TI-84CSE gives an "Error".
And Microsoft Mathematics gives "Indeterminate" when calculating 0^0.
Find all posts by this user
Quote this message in a reply
05-09-2017, 07:30 PM
Post: #46
RE: 0^0 = 1?
Enclosed are my updated notes. I have added information from Forum members and tested my own machines. Corrections and / or additions always welcome.

Interestingly HP and TI never used consistently one of the possible choices. XCAS seems not to be overly consistent either. I presume that 0^0 was considered not that important.

Attached File(s)
.pdf  Power 0 2017-05.09.pdf (Size: 95.19 KB / Downloads: 20)
Find all posts by this user
Quote this message in a reply
Post Reply 

User(s) browsing this thread: 1 Guest(s)