I'm wondering if these two are equivalent:
import numpy as np
a = np.arange(100000) + 1
# 1
b = 10 * np.log10(a)
# 2
c = np.empty_like(a)
c = np.multiply(10, np.log10(a, out=c), out=c)
More precisely, I wonder if numpy found some way to create array b without having an intermediate array that needs to be allocated and thrown away later for the result of the log operation. Of course, this only matters for very big arrays.