title: Numpy `resize` gives an unexpected array size when using -1 syntax
body: <p>I am trying to understand the difference between <code>numpy.resize</code> and <code>numpy.reshape</code>. I know that <code>resize</code> will return a new array and that <code>reshape</code> will maintain the same underlying data and only adjust the size (I'm assuming it does this by changing the stride). However, for both functions I would expect to be able to use the <code>-1</code> syntax to specify an axis size. However, this appears to only work for <code>reshape</code>. For example, trying to reshape/resize this 1-D array of shape <code>(444,)</code> to an array of shape <code>(4, 111)</code> gives two different results depending on whether you use <code>resize</code> or <code>reshape</code>:</p>
  
  <pre class="lang-py prettyprint-override"><code>import numpy as np
  
  test = np.arange(0, 444)
  print(test.shape)
  print(np.resize(test, (4, -1)).shape)
  print(np.reshape(test, (4, -1)).shape)
  </code></pre>
  
  <p>prints</p>
  
  <pre><code>(444,)
  (4, 110)
  (4, 111)
  </code></pre>
  
  <p>I'm assuming that I'm missing something about the <code>resize</code> function, but I would expect it to either output a shape that is compatible with <code>(444,)</code> or throw an error.</p>