title: numpy.correlate: Relation between full and valid
body: <p>I am using numpy.correlate on two sets of data both 20000 values big.</p>
  
  <p>The documentation indicates:</p>
  
  <blockquote>
    <p>mode : {‘full’, ‘valid’, ‘same’}, optional ‘full’:</p>
    
    <p>By default, mode is ‘full’. This returns the convolution at each point
    of overlap, with an output shape of (N+M-1,). At the end-points of the
    convolution, the signals do not overlap completely, and boundary
    effects may be seen.</p>
    
    <p>‘same’: Mode same returns output of length max(M, N). Boundary effects
    are still visible.</p>
    
    <p>‘valid’: Mode valid returns output of length max(M, N) - min(M, N) +
    1. The convolution product is only given for points where the signals overlap completely. Values outside the signal boundary have no effect</p>
  </blockquote>
  
  <p>Following these explanations, I expect for my sets that the "valid" option would give me the same value as the one obtained by taking the value number 20000 returned using the "full" option since only for this value the sets superimpose. However these two values are different.</p>
  
  <p>Can someone explain how it works ?</p>