Skip to content

Commit 77a2eef

Browse files
authored
adding some info to quad docs. (#742)
1 parent 0ca23d7 commit 77a2eef

File tree

1 file changed

+52
-43
lines changed

1 file changed

+52
-43
lines changed

src/probnum/quad/kernel_embeddings/_kernel_embedding.py

Lines changed: 52 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,15 @@
2525
class KernelEmbedding:
2626
"""Integrals over kernels against integration measures.
2727
28+
The available kernel embeddings are:
29+
30+
============= ===============
31+
ExpQuad LebesgueMeasure
32+
ExpQuad GaussianMeasure
33+
Matern (1d) LebesgueMeasure
34+
ProductMatern LebesgueMeasure
35+
============= ===============
36+
2837
Parameters
2938
----------
3039
kernel:
@@ -51,7 +60,7 @@ def __init__(self, kernel: Kernel, measure: IntegrationMeasure) -> None:
5160
(self.input_dim,) = self.kernel.input_shape
5261

5362
# retrieve the functions for the provided combination of kernel and measure
54-
self._kmean, self._kvar = _get_kernel_embedding(
63+
self._kmean, self._kvar = self._get_kernel_embedding(
5564
kernel=self.kernel, measure=self.measure
5665
)
5766

@@ -82,48 +91,48 @@ def kernel_variance(self) -> float:
8291
"""
8392
return self._kvar(kernel=self.kernel, measure=self.measure)
8493

94+
@staticmethod
95+
def _get_kernel_embedding(
96+
kernel: Kernel, measure: IntegrationMeasure
97+
) -> Tuple[Callable, Callable]:
98+
"""Select the right kernel embedding given the kernel and integration measure.
8599
86-
def _get_kernel_embedding(
87-
kernel: Kernel, measure: IntegrationMeasure
88-
) -> Tuple[Callable, Callable]:
89-
"""Select the right kernel embedding given the kernel and integration measure.
90-
91-
Parameters
92-
----------
93-
kernel :
94-
Instance of a kernel.
95-
measure :
96-
Instance of an integration measure.
97-
98-
Returns
99-
-------
100-
kernel_mean :
101-
The kernel mean function.
102-
kernel_variance :
103-
The kernel variance function.
100+
Parameters
101+
----------
102+
kernel :
103+
Instance of a kernel.
104+
measure :
105+
Instance of an integration measure.
104106
105-
Raises
106-
------
107-
NotImplementedError
108-
If the given kernel is unknown.
109-
NotImplementedError
110-
If the kernel embedding of the kernel-measure pair is unknown.
111-
"""
107+
Returns
108+
-------
109+
kernel_mean :
110+
The kernel mean function.
111+
kernel_variance :
112+
The kernel variance function.
113+
114+
Raises
115+
------
116+
NotImplementedError
117+
If the given kernel is unknown.
118+
NotImplementedError
119+
If the kernel embedding of the kernel-measure pair is unknown.
120+
"""
112121

113-
# Exponentiated quadratic kernel
114-
if isinstance(kernel, ExpQuad):
115-
if isinstance(measure, GaussianMeasure):
116-
return _kernel_mean_expquad_gauss, _kernel_variance_expquad_gauss
117-
if isinstance(measure, LebesgueMeasure):
118-
return _kernel_mean_expquad_lebesgue, _kernel_variance_expquad_lebesgue
119-
120-
# Matern
121-
if isinstance(kernel, (Matern, ProductMatern)):
122-
if isinstance(measure, LebesgueMeasure):
123-
return _kernel_mean_matern_lebesgue, _kernel_variance_matern_lebesgue
124-
125-
# other kernels
126-
raise NotImplementedError(
127-
"The combination of kernel ({0}) and measure ({1}) is not available as kernel "
128-
"embedding.".format(type(kernel), type(measure))
129-
)
122+
# Exponentiated quadratic kernel
123+
if isinstance(kernel, ExpQuad):
124+
if isinstance(measure, GaussianMeasure):
125+
return _kernel_mean_expquad_gauss, _kernel_variance_expquad_gauss
126+
if isinstance(measure, LebesgueMeasure):
127+
return _kernel_mean_expquad_lebesgue, _kernel_variance_expquad_lebesgue
128+
129+
# Matern
130+
if isinstance(kernel, (Matern, ProductMatern)):
131+
if isinstance(measure, LebesgueMeasure):
132+
return _kernel_mean_matern_lebesgue, _kernel_variance_matern_lebesgue
133+
134+
# other kernels
135+
raise NotImplementedError(
136+
f"The combination of kernel ({type(kernel)}) and measure ({type(measure)}) "
137+
f"is not available as kernel embedding."
138+
)

0 commit comments

Comments
 (0)