Skip to content

Sde

Linear SDE types and closed-form discretisations for state-space GPs.

See plans/2026-04-21-state-space-gps-design.md §Core types.

LinearSDE

Bases: Module

Linear time-invariant SDE for a state-space GP.

dx(t) = F x(t) dt + L dw(t), w Brownian with spectral density Q_c y(t) = H x(t) + ε, ε ~ N(0, σ_y²)

Kernel-specific closed-form discretisations override discretise; the base implementation returns the algebraic Δt = 0 result (A = I, L_Q = 0).

process_noise_spectral_density (Q_c) defines the continuous-time model and is validated by the Lyapunov identity F P∞ + P∞ Fᵀ + L Q_c Lᵀ = 0 in the tests; it is not consumed by discretise, which uses the closed-form stationary identity Q(Δt) = P∞ − A(Δt) P∞ A(Δt)ᵀ.

discretise

discretise(
    time_step: Float[Array, ""],
) -> tuple[
    Float[Array, "state_dim state_dim"],
    Float[Array, "state_dim state_dim"],
]

Return (A(Δt), L_Q(Δt)). Base implementation: Δt = 0 algebraic.

Matern12SDE

Matern12SDE(lengthscale, variance)

Bases: LinearSDE

Matern-1/2 state-space representation.

F = [[-1/ℓ]], L = [[1]], Q_c = [[2σ²/ℓ]], H = [[1]], P_∞ = [[σ²]]. A(Δt) = exp(-Δt/ℓ); L_Q(Δt) = σ · sqrt(-expm1(-2Δt/ℓ)).

Matern32SDE

Matern32SDE(lengthscale, variance)

Bases: LinearSDE

Matern-3/2 state-space representation (Särkkä & Solin 2019 §12.3).

Matern52SDE

Matern52SDE(lengthscale, variance)

Bases: LinearSDE

Matern-5/2 state-space representation (Särkkä & Solin 2019 §12.3).

TruncatedPeriodicSDE

TruncatedPeriodicSDE(
    lengthscale, variance, period, truncation_order
)

Bases: LinearSDE

Truncated-Fourier approximation of the periodic kernel (Solin & Särkkä 2014).

State dim = 1 + 2K with a 1-D DC block and K 2-D harmonic blocks. See plans/2026-04-21-state-space-gps-design.md §TruncatedPeriodic.

SumSDE

SumSDE(components: tuple[LinearSDE, ...])

Bases: LinearSDE

Block-diagonal sum of LinearSDE components.

Each component contributes its own state-space block; the observable process is the sum of component contributions, expressed via row-concatenation of per-component observation matrices.