title: Differences between Numpy divide and Python divide?
body: <p>What are the similarities and differences between <strong>numpy.divide</strong> and the Python slash <strong>/</strong> operator? As far as I can tell they behave the same, both implementing an element-wise division. The <a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.divide.html" rel="noreferrer">Numpy documentation</a> mentions:</p>
  
  <blockquote>
    <p>numpy.divide(x1, x2) ... Equivalent to x1 / x2 in terms of array-broadcasting. ...</p>
  </blockquote>
  
  <p>Implying that np.divide(x1, x2) is not <strong>completely</strong> equivalent to x1 / x2.
  I have run the following snippet to compare their speed:</p>
  
  <pre><code>import numpy as np
  import time
  
  a = np.random.rand(10000, 10000)
  b = np.random.rand(10000, 10000)
  
  tic = time.time()
  c = a / b
  toc = time.time()
  print("Python divide took: ", toc - tic)
  
  tic = time.time()
  c = np.divide(a, b)
  toc = time.time()
  print("Numpy divide took: ", toc - tic)
  </code></pre>
  
  <p>It appears that the Python divide generally runs faster which leads me to believe the Numpy divide implements some additional bells and whistles.</p>
  
  <p>Any help is much appreciated!</p>