Product Kernels

To work on a product space (i.e. a space which is itself a product of spaces), one can use either product Matérn kernels or Matérn kernels on product spaces. These are generally not the same. On this page we discuss the product Matérn kernels. For a discussion on Matérn kernels on product spaces, see the respective page. For a brief demonstration of the difference, see the example notebook on the torus.

Warning

This is optional material meant to explain the basic theory and based mainly on Borovitskiy et al. [2020].

You can get by fine without reading this page for almost all use cases involving product spaces, either

Both ways are described in the example notebook on the torus, which is a product of circles.

Theory

In GeometricKernels, there is a concept of product Matérn kernel (ProductGeometricKernel). It allows you to define a kernel \(k\) on a product \(\mathcal{M} = \mathcal{M}_1 \times \ldots \times \mathcal{M}_S\) of some other spaces \(\mathcal{M}_s\) by taking a product of some kernels \(k_s: \mathcal{M}_s \times \mathcal{M}_s \to \mathbb{R}\):

\[ k((x_1, \ldots, x_S), (x_1', \ldots, x_S')) = k_1(x_1, x_1') \cdot \ldots \cdot k_m(x_S, x_S') . \]
Each \(k_s\) would usually be MaternGeometricKernel on spaces \(\mathcal{M}_s\), which can be anything: compact manifolds, graphs, meshes, non-compact symmetric spaces, etc.

Importantly, this allows you to have a separate length scale parameter for each of the factors, enabling, e.g. automatic relevance determination (ARD, cf. Rasmussen and Williams [2006]).

For Matérn kernels, even if \(\nu\) and \(\kappa\) are the same for all \(k_s\), the product kernel turns out to be different from the Matérn kernel on the product space whenever \(\nu < \infty\). If \(\nu = \infty\), i.e. in the case of the heat kernel (a.k.a. diffusion kernel, or squared exponential kernel, or RBF kernel), the product of kernels with same values of \(\kappa\) coincides with the kernel on the product space with this same \(\kappa\). This mirrors the standard Euclidean case.