Kernels

A collection of symmetric positive-definite kernel functions in the Euclidean space and on the Grassmann manifold.

A real-valued positive definite kernel is defined as a symmetric function \(k:\mathcal{X}\times \mathcal{X} \rightarrow \mathbb{R}\) where \(\sum^n_{i,j=1}c_i c_j k(x_i,x_j) \leq 0\) for \(n \in \mathbb{N}\), \(x_i \in \mathcal{X}\) and \(c_i \in \mathbb{R}\).

Each kernel function in UQpy is defined as a subclass of the UQpy.utilities.kernels.baseclass.Kernel class. The UQpy.utilities.kernels.baseclass.Kernel has two further subclasses for Euclidean kernels (EuclideanKernel) and Grassmannian kernels (GrassmannianKernel). Individual kernels, depending on their type, are defined as subclasses of these.

Kernel Class

The UQpy.utilities.kernels.baseclass.Kernel class is imported using the following command:

>>> from UQpy.utilities.kernels.baseclass.Kernel import Kernel
class Kernel(kernel_parameter)[source]

Abstract base class of all Kernels. Serves as a template for creating new Gaussian Process covariance functions.

abstract calculate_kernel_matrix(x, s)[source]

Abstract method that needs to be implemented by the user when creating a new Covariance function.

Types of Kernels

The UQpy.utilities.kernels.baseclass.Kernel class has subclasses for the following types of kernels: