Python numpy.square vs **

For most appliances, both will give you the same results. Generally the standard pythonic a*a or a**2 is faster than the numpy.square() or numpy.pow(), but the numpy functions are often more flexible and precise. If you do calculations that need to be very accurate, stick to numpy and probably even use other datatypes float96.

For normal usage a**2 will do a good job and way faster job than numpy. The guys in this thread gave some good examples to a similar questions.


You can check the execution time to get clear picture of it

In [2]: import numpy as np
In [3]: A = np.array([[2, 2],[2, 2]])
In [7]: %timeit np.square(A)
1000000 loops, best of 3: 923 ns per loop
In [8]: %timeit A ** 2
1000000 loops, best of 3: 668 ns per loop

Tags:

Python

Numpy