title: Convolution with unpadded kernel
body: <p>Suppose, I have an Image of size <code>512</code>x<code>256</code>. If I convert it into a 2D complex array to apply FFT, the size of the array would still be <code>512</code>x<code>256</code>. Now, if the size of my kernel is <code>10</code>x<code>10</code> and if I convert it to a 2D complex array, its size would still be <code>10</code>x<code>10</code>. Isn't that so? </p>
  
  <p>If that is so, <strong>Why don't we create a kernel of size <code>512</code>x<code>256</code> and convolve the image directly (rather than creating a kernel of size <code>10</code>x<code>10</code> and pad it)?</strong></p>
  
  <p>Suppose, I have an Image of size of <code>512</code>x<code>256</code> pixels.</p>
  
  <p>What would be the difference in the output if,</p>
  
  <ol>
  <li>I prepare a kernel of size <code>512</code>x<code>256</code> and convolve the Image?</li>
  <li>I prepare a kernel of size <code>256</code>x<code>256</code>, pad that to make it <code>512</code>x<code>256</code> and then convolve the Image?</li>
  <li>I prepare a kernel of size <code>256</code>x<code>256</code>, pad that to make it of size <code>(512+256)</code> X <code>(256+256)</code>, pad the image to make it of the same size and then convolve them?</li>
  </ol>