[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Scheme-reports] Definition of expt when the base is exact 0 (was Re: John Cowan's votes and rationales on the seventh ballot)
On 09/19/2012 03:32 AM, Alex Shinn wrote:
> Please read at least the wikipedia article on exponentiation.
Okay, I just read it.
> Rational exponents are defined in terms of roots. Real exponents
> are defined in terms of limits using rational exponents.
The wikipedia article states that those definitions are valid only when
the base is a positive real number. Furthermore, they can be used only
for real exponents. They are no help at all in determining a value for
(expt 0 1.3+1.4i).
> exponents are defined in terms of real exponents using the
> formula I gave.
Again, the formula you gave cannot be used to define (expt 0 z) because
the formula involves log(r) where 'r' is the magnitude of the base. In
this case, the magnitude of the base is exact 0, therefore log(r) is
undefined. Furthermore, the formula depends on 'theta', the angle of
the base, which is not defined for exact 0.
See the "Zero to the power of zero" section of that article. It admits
that (expt <zero> <zero>) => 1 only when the exponent is discrete, in
other words (in the language of Scheme) when the exponent is exact 0.
In other cases it states that (expt <zero> <zero>) must be handled as an
In "Branch Cuts for Elementary Functions", Kahan argues that
(expt 0.0 0.0) => 1.0 as follows:
Consider two expressions z := z(Xi) and w := w(Xi) that depend on
some variable Xi, and suppose that z(Beta) = w(Beta) = 0 and that
z and w are analytic functions of Xi in some open neighbourhood of
Xi = Beta. This means that z(Xi) and w(Xi) can be expanded in
Taylor series in powers of Xi-Beta valid near Xi = Beta, and both
series begin with positive powers of Xi-Beta. Then we find that
z -> 0 and w -> 0 and z^w = exp(w ln(z)) -> 1 as Xi -> Beta
regardless of the branch chosen for ln. Since this phenomenon
occurs for /all/ pairs of analytic expressions 'z' and 'w', it is
and I accept this rationale for (expt 0.0 0.0) => 1.0.
However, Kahan did not consider a system involving exact numbers, and
the reasoning above does not apply for (expt 0 0.0). In that case, the
Taylor series for z does _not_ begin with a positive power of Xi-Beta.
Although Kahan does not explicitly mention this case, his reasoning
above implicitly assumes that z is not zero everywhere.
To evaluate (expt 0 0.0) using limits using the traditional method, we
should evaluate the limit of (expt 0 x) as 'x' approaches zero from
above. However, we cannot evaluate this limit using either of the two
usual definitions of exponentiation which Kahan considers.
Suppose, for the sake of argument, that we admit that (expt 0 x) => zero
for arbitrary positive real 'x'. In that case, (expt 0 0.0) =>
(limit of (expt 0 x) as 'x' approaches zero from above) => 0.0.
In summary, I've still seen no justification for the claims that
(= 1 (expt 0 0.0)) and (expt 0 z) => zero for arbitrary complex 'z' with
positive real part.
Scheme-reports mailing list