You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are currently specialised implementations of mean for each MeanFunction, cov and xcov for each Kernel and CrossKernel, potentially for a variety of scenarios. This proposal is aims to sort out the interface to move towards a standard interface for new mean functions and kernels to implement which is more intuitive, and potentially removes some of the duplication in the code base at the minute.
Specification and Implementation
MeanFunctions / Kernels / CrossKernels must implement the following interface:
be callable. If you have a mean function, you should be able to invoke it on whatever it considers to be a single input (e.g. a Real)
colwise (a la Distances.jl) functionality.
pairwise (a la Distances.jl) functionality.
There will be fallbacks implemented for colwise and pairwise which just iterate over the data provided and require only that the mean function / kernel / cross-kernel is callable. It will be possible for any particular mean function / kernel / cross-kernel to override this functionality by implementing a custom version of colwise and / or pairwise. Indeed, it will often be preferable that a (cross-)kernel override the default pairwise implementation (e.g. EQ kernel).
mean, cov, and xcov will then simply have generic implementations in terms of the above. Additionally, it will be trivial to, for example, get only the diagonal / first row of a covariance matrix by the appropriate use of colwise.
The text was updated successfully, but these errors were encountered:
Problem
There are currently specialised implementations of
mean
for eachMeanFunction
,cov
andxcov
for eachKernel
andCrossKernel
, potentially for a variety of scenarios. This proposal is aims to sort out the interface to move towards a standard interface for new mean functions and kernels to implement which is more intuitive, and potentially removes some of the duplication in the code base at the minute.Specification and Implementation
MeanFunctions / Kernels / CrossKernels must implement the following interface:
Real
)colwise
(a la Distances.jl) functionality.pairwise
(a la Distances.jl) functionality.There will be fallbacks implemented for
colwise
andpairwise
which just iterate over the data provided and require only that the mean function / kernel / cross-kernel is callable. It will be possible for any particular mean function / kernel / cross-kernel to override this functionality by implementing a custom version ofcolwise
and / orpairwise
. Indeed, it will often be preferable that a (cross-)kernel override the defaultpairwise
implementation (e.g. EQ kernel).mean
,cov
, andxcov
will then simply have generic implementations in terms of the above. Additionally, it will be trivial to, for example, get only the diagonal / first row of a covariance matrix by the appropriate use ofcolwise
.The text was updated successfully, but these errors were encountered: