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.UniSGPMetaType
UniSGPMeta

Metadata 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.

source

Construction

The recommended way to create a UniSGPMeta is via get_UniSGPMeta:

RxGP.get_UniSGPMetaFunction
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.

source

Key arguments:

ArgumentDefaultDescription
D(positional)Input dimensionality
methodnothingApproximation 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:SEKernel family: :SE, :SEn, :SMn, or :SEn_SMn
mode:ADDifferentiation mode: :AD (autodiff) or :AN (analytic, SE only)
operator:fnLinear 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_fnnothingOverride operator functions for a custom linear operator

Accessors

RxGP.getΨ0Function

Return the cached kernel diagonal expectation $\Psi_0$.

source

Return the cached kernel expectation $\Psi_0$.

source
RxGP.getΨ1_transFunction

Return the cached transposed cross-kernel expectation $\Psi_1^\top$.

source

Return the cached transposed cross-kernel expectation $\Psi_1^\top$.

source
RxGP.getΨ2Function

Return the cached quadratic kernel expectation $\Psi_2$.

source

Return the cached quadratic kernel expectation $\Psi_2$.

source
RxGP.getKxx_fnFunction

Return the operated auto-kernel function $\tilde{K}_{xx}(x,\theta)$.

source
RxGP.getKxu_fnFunction

Return the operated cross-kernel function $\tilde{K}_{xu}(x,\theta,X_u)$.

source
RxGP.getKernelFunction

Return the kernel constructor $\theta \mapsto k$.

source

Return the kernel constructor $\theta \mapsto k$.

source
RxGP.getUvFunction

Return the Cholesky factor of the second moment of $\mathbf{v}$.

source
RxGP.getcounterFunction

Return the current observation counter (for BufferUniSGP accumulation).

source

MultiSGPMeta

MultiSGPMeta is used with the MultiSGP node.

RxGP.MultiSGPMetaType
MultiSGPMeta

Metadata 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.

source

Accessors

Note

Several accessors (getInducingInput, getΨ0, getΨ1_trans, getΨ2, getKernel, getmethod) are shared between UniSGPMeta and MultiSGPMeta.