Why does numpy.power return 0 for small exponents while math.pow returns the correct answer?

Oh, it’s much “worse” than that:

In [2]: numpy.power(10,-1)   
Out[2]: 0

But this is a hint to what’s going on: 10 is an integer, and numpy.power doesn’t coerce the numbers to floats. But this works:

In [3]: numpy.power(10.,-1)
Out[3]: 0.10000000000000001

In [4]: numpy.power(10.,-100)
Out[4]: 1e-100

Note, however, that the power operator, **, does convert to float:

In [5]: 10**-1
Out[5]: 0.1

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)