gpmp.parameter module¶
The gpmp.parameter module provides structured helpers around
covariance-parameter vectors. It assigns names, paths, normalizations, and
display metadata to parameters, especially in reports and model-container code.
This module is a convenience layer on top of the lower-level GPmp API.
The core model and kernel routines remain independent from it: they accept
plain arrays for covariance parameters and do not require Param objects.
Use this module when you need a human-readable object for a covariance vector,
not when calling gpmp.core or gpmp.kernel directly.
Normalization convention¶
Param stores normalized values. The supported normalizations are:
"none": stored value equals physical value."log": stored value islog(value)."log_inv": stored value is-log(value).
For the anisotropic Matérn convention,
param_from_covparam_anisotropic(covparam) interprets
covparam = [log(sigma2), -log(rho_0), ..., -log(rho_{d-1})] and attaches
names sigma2, rho_0, …
Access patterns¶
Use get_by_name for a named scalar, get_by_path for hierarchical
groups, and denormalized_values to inspect physical values. Bounds stored
in Param are metadata for display and diagnostics. They are not enforced by
Param itself.
Structured parameter objects for GPmp.
This package is a helper layer for naming, normalizing, and displaying
parameter vectors. The lower-level gpmp.core and gpmp.kernel
APIs operate on plain arrays and do not depend on gpmp.parameter.
- gpmp.parameter.make_anisotropic_param(d: int | None = None, values: List[float] | ndarray[tuple[Any, ...], dtype[floating]] | None = None, logsigma2_bounds: Tuple[float, float] | None = None, loginvrho_bounds: Tuple[float, float] | None = None, name_prefix: str = '') Param[source]¶
Build a Param object for anisotropic covariance [sigma2, rho_1, …, rho_d].
If values is provided, its length must be d + 1. If not, d must be specified and default values [0.0, -1.0, …, -1.0] are used.
Returns a Param object with [log, log_inv, …, log_inv] normalization.