Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #421 +/- ##
==========================================
+ Coverage 96.21% 96.33% +0.12%
==========================================
Files 12 13 +1
Lines 396 491 +95
==========================================
+ Hits 381 473 +92
- Misses 15 18 +3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Very happy to give this a review -- when you're ready for one, please do tag me. |
|
@willtebbutt If you have some time, I would already appreciate a rough review, on the overall structure/ idea. |
| FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" | ||
| IrrationalConstants = "92d709cd-6900-40b7-9082-c6be49f344b6" | ||
| KernelFunctions = "ec8451be-7e33-11e9-00cf-bbf324bd1392" | ||
| KernelSpectralDensities = "027d52a2-76e5-4228-9bfe-bc7e0f5a8348" |
There was a problem hiding this comment.
Can you move this into a package extension?
There was a problem hiding this comment.
Apologies, it has been a minute.
The short answer is that I am not sure. On the one hand, it would make sense to keep everything clean, but
- KernelSpectralDensities is a tiny package
- The main reason it exists is to enable decoupled sampling with Fourier basis functions, which (AFAIK) still the state of the art for sampling GPs
- (the main uncertainty for me) I am not sure where to put some of the objects, since they only make sense when using the combination of both packages.
Summary
This PR is a (at this stage) draft PR to allow sampling of GP, including sampling via Cholesky, via Random Fourier Features, and pathwise/ decoupled sampling.
Proposed changes
The main interface revolves around a new
GPSamplerstruct, as a subtype ofRandom.Sampler, which takes a GP and a "method". One can then draw from this sampler usingrand`.However, there are still issues to this implementation
What alternatives have you considered?
Making a separate package, and/or (due to the complexity) just keeping it good enough for my needs.
Breaking changes
Should not be breaking (at this point).