I assumed that @ was shorthand for the dot method. What motivated the design decision to block multiplication by an array with shape ()?
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)
<ipython-input-8-398cff4c0ec9> in <module>()
----> 1 a @ 1
ValueError: Scalar operands are not allowed, use '*' instead