kumulant

MultivariateGaussian

@Serializable
@SerialName(value = "MultivariateGaussian")
data object MultivariateGaussian : LinearPosterior<CovarianceRegressionResult> (source)

Full multivariate-Gaussian draw w ~ N(weights, exploration * Sum) via the pre-computed Cholesky factor L carried in the snapshot:

w = weights + sqrt(exploration) * L * u where u ~ N(0, I).

O(n^2) per draw; no fresh Cholesky decomposition required.

Functions

Link copied to clipboard
open override fun evaluate(snapshot: CovarianceRegressionResult, x: VectorView, rng: Random, exploration: Double = 1.0): Double

Closes to predict(x) + sqrt(exploration * xT * Sigma * x) * N(0,1); one matVec and one dot instead of sampling the full weight vector.

Link copied to clipboard
open override fun sample(snapshot: CovarianceRegressionResult, rng: Random, exploration: Double = 1.0): VectorView

Draw a weight vector from the posterior at exploration variance scale. exploration = 0.0 collapses to the point estimate; 1.0 is the calibrated posterior.

evaluate

open override fun evaluate(snapshot: CovarianceRegressionResult, x: VectorView, rng: Random, exploration: Double = 1.0): Double(source)

Closes to predict(x) + sqrt(exploration * xT * Sigma * x) * N(0,1); one matVec and one dot instead of sampling the full weight vector.

sample

open override fun sample(snapshot: CovarianceRegressionResult, rng: Random, exploration: Double = 1.0): VectorView(source)

Draw a weight vector from the posterior at exploration variance scale. exploration = 0.0 collapses to the point estimate; 1.0 is the calibrated posterior.