Maybe i found something:
http://www.cs.berkeley.edu/~wkahan/ieee754status/ieee754.ps page 9 says:
"A number of real expressions are sometimes implemented as INVALID by mistake, or declared Undefined by illconsidered language standards; a few examples are ... 0.0**0.0 = inf**0.0 = NaN**0.0 = 1.0, not Nan;"
I'm not really sure if he means that it should be 1.0 or it should be NaN but i think he means 1.0.
Ronny Peine wrote:
Hi again,
a small example often used in mathematics and electronic engineering:
the geometric row ("Reihe" in german, i don't know the correct expression in english):
sum from k=0 to +unlimited q^k = 1/(1-q) if |q|<1.
this is also correct for q=0 where the sum gives q^0+q^1+q^2+...= 1 + 0 + 0 + ... (if 0^0 = 1) and 1/(1-q) = 1 too.
I have read some parts in ieee 754 and articles about this but they say
that 0^0 is very questionable, some say it's 0 some say it's 1.
Well, after the standard there doesn't seem to be an accurate answer, in mathematics it's 1 (and will always be 1).
cu, Ronny
Ronny Peine wrote:
Well, these were math lectures (Analysis 1,2 and 3, Function Theory, Numerical Mathematics and so on). In every lectures it was defined as 1 and in most cases mathematical expressions are mostly tried to transform in equivalent calculations for the FPU (even though associativity is for example not preserved).
I don't know of any standard which defines this to 0.
Robert Dewar wrote:
Ronny Peine wrote:
Sorry for this, maybe i should sleep :) (It's 2 o'clock here) But as i know of 0^0 is defined as 1 in every lecture i had so far.
Were these math classes, or CS classes.
Generally when you have a situation like this, where the value of the function is different depending on how you approach the limit, you prefer to simply say that the function is undefined at that point. As we have discussed, computers, which are not doing real arithmetic in any case, often extend domains for convenience, as in this case.