title: Automatically truncate numpy arrays
body: <p>When doing:</p>
  
  <pre><code>import numpy as np
  a = np.array([1,2,3])
  b = np.array([4,5,6,7])
  print a+b
  </code></pre>
  
  <p>of course, there is an error:</p>
  
  <blockquote>
    <p>ValueError: operands could not be broadcast together with shapes (3,) (4,) </p>
  </blockquote>
  
  <p><strong>Is it possible to make that numpy arrays automatically truncate to the smallest size when two arrays of different sizes are added or multiplied?</strong></p>
  
  <p><em>Example: here <code>a</code> has length 3 and <code>b</code> has length 4, so we automatically truncate <code>b</code> to length 3 before doing the addition. Desired result for <code>a+b</code>:</em></p>
  
  <pre><code>[5 7 9]
  </code></pre>
  
  <p>Can this be done by subclassing <code>np.array</code>?</p>
  
  <p><em>Remark: I would like to avoid to have to <strong>manually</strong> truncate all arrays myself with <code>a[:3] + b[:3]</code>. I want to be able to write just <code>a+b</code>.</em></p>