I’m starting to do some work with Stheno.jl, a Gaussian processes library.
The examples in the README.md and the linked model zoo seem to work primarily on 1D functions. I am new so I don’t exactly know how to infer this by myself yet, but is there support for vector -> vector or vector -> real functions?
Thanks in advance
There’s explicit support for vector -> real functions. In particular see ColsAreObs for packaging up matrices whose columns represent vector-valued inputs. It should work nicely with most of the kernels.
The support that we have for vector -> vector functions is that which is provided automatically i.e. by creating a number of processes and linearly combining them i.e.
f1 = ...
f2 = ...
f3 = a * f1 + b * f2
etc. This is fine if you’re working in fairly low dimensions, but probably not in high. I’ve not gotten around to adding explicit support for common vector -> vector functions because it’s not ever been too high up on my list of research needs, but I would be very happy to work with you to make them happen – it shouldn’t be too hard.