andreaskoher
andreaskoher
Alternatively to the above, the approach below is somewhat simpler as it directly constructs a `SimpleKernel` following Arno's implementation in [GPStuff](https://github.com/gpstuff-dev/gpstuff/blob/develop/gp/cf_periodic_to_ss.m). ```julia struct ApproxPeriodicKernel{J,T}
no worries. I completely agree with the second approach
thanks for the reminder :) With the second definition of `ApproxPeriodicKernel`, I ran into the following problem with Zygote as mentioned in #65: ```julia const x = RegularSpacing(0., 0.01, 1000)...
no rush :) I added the following analytical derivatives: ```julia using ChainRulesCore q0(l) = besseli(0, l^-2)/exp(l^-2) δq0_δl(l) = l^-3/exp(l^-2)*( 2*besseli(0,l^-2) - 2*besseli(1,l^-2) ) @scalar_rule(q0(x), δq0_δl(x)) qj(l,j) = 2*exp(-l^-2)*besseli(j,1/l^2) δqj_δl(l,j) =...
nice, I will give it a try
I tried the following: ```julia unzip(a) = map(x->getfield.(a, x), fieldnames(eltype(a))) mapvcat(as) = as function mapvcat(as, bs, args...) cs = map(vcat, as, bs) return mapvcat(cs, args...) end TemporalGPs.blk_diag(A) = A function...
Many thanks for the quick response! and sorry for the badly explained example (I updated it slightly, especially `ConstantKernel` -> `LinearKernel`). I also think the docs are good and I...
Yes that's it :) (and I just realized that I haven't updated the example) So it is two input and one output dimensions in this example. It is also similar...
Yes that's it, really nice! More abstractly the solution is of the form `f(x) = f₁(x) + I(x)f₂(x)` where `I(x)` is an indicator function and `f₂` is a constant kernel...
If you are working with time series data, this bottleneck may be greatly reduced once [TemporalGPs](https://github.com/JuliaGaussianProcesses/TemporalGPs.jl) plays nicely with Stheno