Grassmannian Kernels
In several applications the use of subspaces is essential to describe the underlying geometry of data. However, it is well-known that sets of subspaces do not follow Euclidean geometry. Instead they have a Reimannian structure and lie on a Grassmann manifold. Grassmannian kernels can be used to embed the structure of the Grassmann manifold into a Hilbert space. On the Grassmann manifold, a kernel is defined as a positive definite function \(k:\mathcal{G}(p,n)\times \mathcal{G}(p,n) \rightarrow \mathbb{R}\) [65], [66].
UQpy
includes Grassmannian kernels through the GrassmannianKernel
parent class,
with specific kernels included as subclasses. This is described in the following.
Grassmannian Kernel Class
The GrassmannianKernel
class is imported using the following command:
>>> from UQpy.utilities.kernels.baseclass.GrassmannianKernel import GrassmannianKernel
Projection Kernel
The projection kernel is defined as:
where \(\mathbf{X}_i, \mathbf{X}_j \in \mathcal{G}(p,n)\)
The ProjectionKernel
class is imported using the following command:
>>> from UQpy.utilities.kernels.ProjectionKernel import ProjectionKernel
One can use the following command to instantiate the ProjectionKernel
class.
- class ProjectionKernel(kernel_parameter=None)[source]
- ProjectionKernel.kernel_matrix
Binet-Cauchy Kernel
The Binet-Cauchy Kernel is defined as:
where \(\mathbf{X}_i, \mathbf{X}_j \in \mathcal{G}(p,n)\)
The BinetCauchyKernel
class is imported using the following command:
>>> from UQpy.utilities.kernels.BinetCauchyKernel import BinetCauchyKernel
One can use the following command to instantiate the BinetCauchyKernel
class.
- class BinetCauchyKernel(kernel_parameter=None)[source]
- BinetCauchyKernel.kernel_matrix