v0.2
New geometric kernel that just works, kernels.MaternGeometricKernel. Relies on (hopefully) sensible defaults we defined. Mostly by @stoprightthere.
New spaces, based on Azangulov et al. (2022, 2023), mostly by @imbirik and @stoprightthere:
- hyperbolic spaces
$\mathbb{H}_n$ inspaces.Hyperbolic, - manifolds of symmetric positive definite matrices
$\mathrm{SPD}(n)$ endowed with the affine-invariant Riemannian metric inspaces.SymmetricPositiveDefiniteMatrices, - special orthogonal groups
$\mathrm{SO}(n)$ inspaces.SpecialOrthogonal. - special unitary groups
$\mathrm{SU}(n)$ inspaces.SpecialUnitary.
New package geometric_kernels.feature_maps for (approximate) finite-dimensional feature maps. Mostly by @stoprightthere.
New small package geometric_kernels.sampling for efficient sampling from geometric Gaussian process priors. Based on the (approximate) finite-dimensional feature maps. Mostly by @stoprightthere.
Examples/Tutorials improvements, mostly by @vabor112:
- new Jupyter notebooks
Graph.ipynb,Hyperbolic.ipynb,Hypersphere.ipynb,Mesh.ipynb,SPD.ipynb,SpecialOrthogonal.ipynb,SpecialUnitary.ipynb,Torus.ipynbfeaturing tutorials on all the spaces in the library, - new Jupyter notebooks
backends/JAX_Graph.ipynb,backends/PyTorch_Graph.ipynb,backends/TensorFlow_Graph.ipynbshowcasing how to use all the backends supported by the library, - new Jupyter notebooks
frontends/GPflow.ipynb,frontends/GPJax.ipynb,frontends/GPyTorch.ipynbshowcasing how to use all the frontends supported by the library, - other notebooks updated and grouped together in
other/folder.
Documentation improvements, mostly by @vabor112:
- all docstrings throughout the library revised,
- added new documentation pages describing the basic theoretical concepts, in
docs/theory, - notebooks are now rendered as part of the documentation, you can refer to them from the docstrings and other documentation pages,
- introduced a more or less unified style for docstrings.
Other:
- refactoring and bug fixes,
- added type hints throughout the library and enabled
mypy, - updated frontends (with limited suppot for GPJax due to conflicting dependencies),
- improved
spaces.ProductDiscreteSpectrumSpaceandkernels.ProductGeometricKernel, - filtered out or fixed some annoying external warnings,
- added a new banner for
README.mdand for our landing page, courtesy of @aterenin, - example notebooks are now run as tests,
- we now support Python 3.8, 3.9, 3.10, 3.11 and have test workflows for all the supported Python versions,
- we now provide a PyPI package,
- LAB is now a lightweight dependency, thanks to @wesselb,
- kernels are now normalized to have unit outputscale by default.