It seems to me that if $c\geq0$ then $k(x,y)=c$ is a valid kernel since no rules are broken.

However, one of the rules of constructing a kernel disagrees with this. The rule is $k(x,y)=ck'(x,y)$, where it must be true that $c>0$ (this rule is taken from Bishop, Pattern Recognition And Machine Learning). Why can't $c$ be 0? The zero matrix is symmetric and positive semidefinite, so isn't it true that $k(x,y)=0$ should be a valid kernel?

  • 1
    $\begingroup$ To what "rules" do you refer? This matters, because perhaps your rules differ from those of other people. Some, for instance, require that a kernel integrate to unity. None of your examples has this property. $\endgroup$
    – whuber
    Oct 30, 2016 at 21:04
  • $\begingroup$ I'm also mildly confused, since the constant zero is a valid kernel by Mercer's theorem, yet zero is not a proper inner product since it does not meet the requirement that <x, x> is greater than zero. $\endgroup$
    – kennysong
    Jul 13, 2020 at 2:40

1 Answer 1


$k(x, y) = 0$ is a positive semidefinite kernel, as is easy to check from the definition (as you've done). It's not, however, a very useful kernel.

Bishop's list of the ways to construct one kernel from another is not an exhaustive list, as you've discovered. They're not necessary for being a kernel; they're just a set of conditions where you know how to construct one kernel from another. His rule would still be valid if he replaced the condition $c > 0$ with $c \ge 0$, but I suppose he didn't bother because the difference can only get you the zero kernel, which is useless anyway.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.