title: Why doesn't numpy allow array multiplication by scalars?
body: <p>I assumed that <code>@</code> was shorthand for the <code>dot</code> method.  What motivated the design decision to block multiplication by an array with shape <code>()</code>?</p>
  
  <pre><code>In [6]: a = np.ones((2,1))
  
  In [7]: a.dot(1)
  Out[7]:
  array([[ 1.],
         [ 1.]])
  
  In [8]: a @ 1
  ---------------------------------------------------------------------------
  ValueError                                Traceback (most recent call last)
  &lt;ipython-input-8-398cff4c0ec9&gt; in &lt;module&gt;()
  ----&gt; 1 a @ 1
  
  ValueError: Scalar operands are not allowed, use '*' instead
  </code></pre>