Stheno.jl icon indicating copy to clipboard operation
Stheno.jl copied to clipboard

Modeling Derivatives et al

Open willtebbutt opened this issue 4 years ago • 7 comments

I'm opening this to scope out + plan the best manner in which Stheno.jl can be extended (or, rather, re-extended -- we used to have functionality that did this but it had some serious limitations) model the derivatives and related quantities (gradients, hessians, jacobians, etc) of functions.

There are two main things to consider:

  1. what is the scope of the things that we want to handle, in particular do we want to cover both multiple inputs and higher-order derivatives in an initial pass?
  2. how to actually implement these things. For example, we've recently added support for multi-output GPs in KernelFunctions.jl, which might be helpful for e.g. modeling the gradient of a GP. I am very keen to avoid re-inventing the wheel, so perhaps a pre-requisite is to get Stheno.jl using KernelFunctions.jl?

willtebbutt avatar Sep 21 '20 17:09 willtebbutt

How much of the backend would have to be refactored if we start using KernelFunctions.jl in Stheno.jl?

emsal0 avatar Sep 25 '20 17:09 emsal0

Actually not too much at all -- it's more that there's one thing I need to add to KernelFunctions.jl to make it possible to refactor stuff.

Using KernelFunctions should result in a net loss of code, which is cool.

willtebbutt avatar Sep 25 '20 17:09 willtebbutt

It looks like then that the KernelFunctions route would probably be optimal, assuming that that one thing is easy enough to do - imo it pays to be patient and avoid incurring tech debt by forging ahead and having to heavily refactor things later.

emsal0 avatar Sep 25 '20 22:09 emsal0

Sounds good to me. I'm hoping to have the transition complete in a few day's time anyway, so not too long to wait.

willtebbutt avatar Sep 26 '20 14:09 willtebbutt

Checking up on this, how's progress on the KernelFunctions thing?

emsal0 avatar Oct 25 '20 23:10 emsal0

Hiya. It's taking longer then I had expected because other commitments are getting in the way of resolving the issues remaining in #137. I should be able to take another look at it once the AABI deadline has passed.

willtebbutt avatar Oct 26 '20 11:10 willtebbutt

No problem, I've been quite busy as well so my time scale for this is really quite flexible

emsal0 avatar Oct 26 '20 15:10 emsal0