<p>Before I merge this, we still need to address different kernels that may have derivatives that are not the kernel function itself.  Like you've already done, we can assume that the kernel is shift-invariant by virtue of the fact that is has the function <code>Evaluate(double)</code>.  But what we really need to be using is a <code>Gradient()</code> function, so that will need to be added to all of the shift-invariant kernels that mlpack has.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br>Reply to this email directly or <a href="https://github.com/mlpack/mlpack/pull/388#issuecomment-72305311">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFEkMwOe2Q6gROY-LNIwkF6hpKYkVks5nnFyDgaJpZM4DTzb1.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
    <link itemprop="url" href="https://github.com/mlpack/mlpack/pull/388#issuecomment-72305311"></link>
    <meta itemprop="name" content="View Pull Request"></meta>
  </div>
  <meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>