Meta objects
Meta objects carry all the precomputed and configuration data that the GP factor nodes need during message passing. They are attached to nodes using the where { meta = ... } syntax in model specification.
UniSGPMeta
UniSGPMeta is used with both UniSGP and UniSGP_dID nodes. It stores:
- The approximation method (e.g.
GenUnscented) - The mean function, kernel, and inducing point locations
- Precomputed kernel matrices and Cholesky factors
- The operator-specific functions (
Lm_fn,Kxu_fn,Kxx_fn) for identity, gradient, or joint operators - Mutable workspace for kernel expectations ($\Psi$ statistics) updated during inference
- A running Cholesky factor of the second moment of $\mathbf{v}$
RxGP.UniSGPMeta — Type
UniSGPMetaMetadata for the UniSGP and UniSGP_dID factor nodes. Stores the approximation method, kernel configuration, inducing point locations, precomputed kernel matrices, operator functions, and mutable workspace for kernel expectations.
Construct via get_UniSGPMeta rather than calling the constructor directly.
Construction
The recommended way to create a UniSGPMeta is via get_UniSGPMeta:
RxGP.get_UniSGPMeta — Function
get_UniSGPMeta(D; method, mean_fn, kernel, kernel_spec=:SE, mode=:AD, operator=:fn, independent_SE_lengthscales=true, Xu, θ, Lm_fn=nothing, Kxu_fn=nothing, Kxx_fn=nothing)Construct a UniSGPMeta for input dimension D. This is the recommended constructor.
operator selects the linear observation operator: :fn (identity, P=1), :grad (gradient, P=D), or :joint_fn_grad (stacked, P=1+D). Custom operator functions Lm_fn, Kxu_fn, Kxx_fn can be provided to override the default.
Key arguments:
| Argument | Default | Description |
|---|---|---|
D | (positional) | Input dimensionality |
method | nothing | Approximation method (e.g. GenUnscented()) for uncertain inputs |
mean_fn | (required) | Prior mean function m(x) → ℝ |
kernel | (required) | Kernel constructor θ → Kernel (from KernelFunctions.jl) |
kernel_spec | :SE | Kernel family: :SE, :SEn, :SMn, or :SEn_SMn |
mode | :AD | Differentiation mode: :AD (autodiff) or :AN (analytic, SE only) |
operator | :fn | Linear operator: :fn (identity, P=1), :grad (gradient, P=D), :joint_fn_grad (P=1+D) |
Xu | (required) | Vector of inducing point locations |
θ | (required) | Initial kernel hyperparameters |
Lm_fn, Kxu_fn, Kxx_fn | nothing | Override operator functions for a custom linear operator |
Accessors
RxGP.getmethod — Function
Return the approximation method.
Return the approximation method.
RxGP.getMeanFn — Function
Return the prior mean function.
RxGP.getInducingInput — Function
Return the inducing input locations $\mathbf{X}_u$.
Return the inducing input locations $\mathbf{X}_u$.
RxGP.getΨx — Function
Return the cached scalar kernel expectation $\Psi_x$.
RxGP.getΨxx — Function
Return the cached scalar kernel expectation $\Psi_{xx}$.
RxGP.getΨ0 — Function
Return the cached kernel diagonal expectation $\Psi_0$.
Return the cached kernel expectation $\Psi_0$.
RxGP.getΨ1_trans — Function
Return the cached transposed cross-kernel expectation $\Psi_1^\top$.
Return the cached transposed cross-kernel expectation $\Psi_1^\top$.
RxGP.getΨ2 — Function
Return the cached quadratic kernel expectation $\Psi_2$.
Return the cached quadratic kernel expectation $\Psi_2$.
RxGP.getΨ3 — Function
Return the cached kernel expectation $\Psi_3$.
RxGP.getLm_fn — Function
Return the operated mean function $\tilde{L}m(x)$.
RxGP.getKxx_fn — Function
Return the operated auto-kernel function $\tilde{K}_{xx}(x,\theta)$.
RxGP.getKxu_fn — Function
Return the operated cross-kernel function $\tilde{K}_{xu}(x,\theta,X_u)$.
RxGP.getKuuF — Function
Return the Cholesky factorisation of $K_{uu}$.
RxGP.getKernel — Function
Return the kernel constructor $\theta \mapsto k$.
Return the kernel constructor $\theta \mapsto k$.
RxGP.get_dims_input — Function
Return the input dimension $D$.
RxGP.get_dims_output — Function
Return the output dimension $P$ under the linear operator.
RxGP.get_dims_theta — Function
Return the number of kernel hyperparameters.
RxGP.getUv — Function
Return the Cholesky factor of the second moment of $\mathbf{v}$.
RxGP.getcounter — Function
Return the current observation counter (for BufferUniSGP accumulation).
MultiSGPMeta
MultiSGPMeta is used with the MultiSGP node.
RxGP.MultiSGPMeta — Type
MultiSGPMetaMetadata for the MultiSGP factor node. Stores the approximation method, kernel, inducing points, precomputed $K_{uu}^{-1}$, kernel expectation workspace, and a GPCache for in-place operations.
Accessors
RxGP.getKuuInverse — Function
Return the precomputed $K_{uu}^{-1}$ matrix.
RxGP.getGPCache — Function
Return the GPCache used for in-place matrix operations.