Skip to content

v0.2

Compare
Choose a tag to compare
@stoprightthere stoprightthere released this 21 Apr 18:48
· 45 commits to main since this release
cc4c829

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$ in spaces.Hyperbolic,
  • manifolds of symmetric positive definite matrices $\mathrm{SPD}(n)$ endowed with the affine-invariant Riemannian metric in spaces.SymmetricPositiveDefiniteMatrices,
  • special orthogonal groups $\mathrm{SO}(n)$ in spaces.SpecialOrthogonal.
  • special unitary groups $\mathrm{SU}(n)$ in spaces.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.ipynb featuring tutorials on all the spaces in the library,
  • new Jupyter notebooks backends/JAX_Graph.ipynb, backends/PyTorch_Graph.ipynb, backends/TensorFlow_Graph.ipynb showcasing how to use all the backends supported by the library,
  • new Jupyter notebooks frontends/GPflow.ipynb, frontends/GPJax.ipynb, frontends/GPyTorch.ipynb showcasing 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.ProductDiscreteSpectrumSpace and kernels.ProductGeometricKernel,
  • filtered out or fixed some annoying external warnings,
  • added a new banner for README.md and 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.