rgpycrumbs.surfaces._base

Classes

BaseSurface

Abstract base class for standard (non-gradient) surface models.

BaseGradientSurface

Abstract base class for gradient-enhanced surface models.

Functions

safe_cholesky_solve(K, y, noise_scalar[, jitter_steps])

Retries Cholesky decomposition with increasing jitter if it fails.

generic_negative_mll(K, y, noise_scalar)

Calculates the negative Marginal Log-Likelihood (MLL).

Module Contents

rgpycrumbs.surfaces._base.safe_cholesky_solve(K, y, noise_scalar, jitter_steps=3)[source]

Retries Cholesky decomposition with increasing jitter if it fails.

Args:

K: Covariance matrix. y: Observation vector. noise_scalar: Initial noise level. jitter_steps: Number of retry attempts with increasing jitter.

Returns:
tuple: (alpha, log_det) where alpha is the solution vector and

log_det is the log determinant of the jittered matrix.

rgpycrumbs.surfaces._base.generic_negative_mll(K, y, noise_scalar)[source]

Calculates the negative Marginal Log-Likelihood (MLL).

Args:

K: Covariance matrix. y: Observation vector. noise_scalar: Noise level for regularization.

Returns:

float: The negative MLL value, or a high penalty if Cholesky fails.

class rgpycrumbs.surfaces._base.BaseSurface(x_obs, y_obs, smoothing=0.001, length_scale=None, optimize=True, **_kwargs)[source]

Abstract base class for standard (non-gradient) surface models.

Derived classes must implement _fit, _solve, _predict_chunk, and _var_chunk.

x_obs[source]
y_obs[source]
y_mean[source]
y_centered[source]
abstractmethod _fit(smoothing, length_scale, optimize)[source]

Internal method to perform parameter optimization.

abstractmethod _solve()[source]

Internal method to solve the linear system for weights.

__call__(x_query, chunk_size=500)[source]

Predict values at query points.

Args:

x_query: Query inputs (M, D). chunk_size: Number of points to process per batch to avoid OOM.

Returns:

jnp.ndarray: Predicted values (M,).

predict_var(x_query, chunk_size=500)[source]

Predict posterior variance at query points.

Args:

x_query: Query inputs (M, D). chunk_size: Number of points to process per batch.

Returns:

jnp.ndarray: Predicted variances (M,).

abstractmethod _predict_chunk(chunk)[source]

Internal method for batch prediction.

abstractmethod _var_chunk(chunk)[source]

Internal method for batch variance.

class rgpycrumbs.surfaces._base.BaseGradientSurface(x, y, gradients=None, smoothing=0.0001, length_scale=None, optimize=True, **_kwargs)[source]

Abstract base class for gradient-enhanced surface models.

Derived classes must implement _fit, _solve, _predict_chunk, and _var_chunk. These models incorporate both values and their gradients into the fit.

x[source]
y_full[source]
e_mean[source]
y_flat[source]
D_plus_1[source]
abstractmethod _fit(smoothing, length_scale, optimize)[source]

Internal method to perform parameter optimization.

abstractmethod _solve()[source]

Internal method to solve the linear system for weights.

__call__(x_query, chunk_size=500)[source]

Predict values at query points.

Args:

x_query: Query inputs (M, D). chunk_size: Number of points to process per batch.

Returns:

jnp.ndarray: Predicted values (M,).

predict_var(x_query, chunk_size=500)[source]

Predict posterior variance at query points.

Args:

x_query: Query inputs (M, D). chunk_size: Number of points to process per batch.

Returns:

jnp.ndarray: Predicted variances (M,).

abstractmethod _predict_chunk(chunk)[source]

Internal method for batch prediction.

abstractmethod _var_chunk(chunk)[source]

Internal method for batch variance.