title: What is the difference between this two types of kernels?
body: <p>Suppose, I have a Spatial kernel function <code>(, )</code>, and an image <code>(, )</code> of dimension <code></code>x<code></code>.</p>
  
  <p>I want to apply this kernel to the image using <strong></strong> convolution.  </p>
  
  <p>Now, I can do two things from this point on:</p>
  
  <ol>
  <li><p>i. Generate a small kernel of size <code>3</code>x<code>3</code> from the function <code>(, )</code><br>
  ii. Pad that kernel to the dimension of <code></code>x<code></code><br>
  iii. Convert them to matrices of complex numbers, apply FFT to both of them, multiply matrices, and so on.  </p></li>
  <li><p>i. Generate a big kernel of size  <code></code>x<code></code> from <code>(, )</code> so that <strong>we don't do padding</strong><br>
  ii. Convert them to matrices of complex numbers, apply FFT to both of them, multiply matrices, and so on.</p></li>
  </ol>
  
  <p>Are they both valid / operations, or only #2 is valid?</p>
  
  <p><strong>What is the difference between these two?</strong></p>