title: What does matrix**2 mean in python/numpy?
body: <p>I have a python ndarray temp in some code I'm reading that suffers this:</p>
  
  <pre><code>x = temp**2
  </code></pre>
  
  <p>Is this the dot square (ie, equivalent to m.*m) or the matrix square (ie m must be a square matrix)?  In particular, I'd like to know whether I can get rid of the transpose in this code:</p>
  
  <pre><code>temp = num.transpose(whatever)
  num.sum(temp**2,axis=1))
  </code></pre>
  
  <p>and turn it into this:</p>
  
  <pre><code>num.sum(whatever**2,axis=0)
  </code></pre>
  
  <p>That will save me at least 0.1ms, and is clearly worth my time.<br>
  Thanks!  The ** operator is ungooglable and I know nothing!
  a</p>