Mathematics in Python are not correct

Arnaud Delobelle arnodel at googlemail.com
Mon May 12 14:04:01 EDT 2008


Mark Dickinson <dickinsm at gmail.com> writes:

> On May 12, 11:15 am, Arnaud Delobelle <arno... at googlemail.com> wrote:
>
>> But exp(y*log(x)) -> 1 as (x, y) -> (0, 0) along any analytic curve
>> which is not the x=0 axis (I think at least - it seems easy to prove
>> that given f and g analytic over R, f(x)*ln g(x) -> 0 as x -> 0 if
>> f(0)=g(0)=0 and g(x)>0 in the neighbourhood of 0).
>
> Agreed.  And this makes an excellent argument that if you're going to
> choose a number for 0.0**0.0 then it's got to be 1.  But I still don't
> find it completely convincing as an argument that 0.0**0.0 should be
> defined at all.
>
>> This should cover most practical uses?
>
> Maybe.  But if you're evaluating x**y in a situation where x and y
> represent physical quantities, or otherwise have some degree of error,
> then you probably want to be warned if x and y both turn out to be
> zero.

Yes.  I'm not much of a physicist so I don't feel confident about this
at all, but when you work out x**y, if x is a measured quantity with
dimensions, then raising it to a power only makes sense if y is
dimensionless and an integer, or maybe a rational with a small
denominator (i.e. it makes sense to cube root a volume, but not a
velocity).

-- 
Arnaud



More information about the Python-list mailing list