pycsamt.ai.inversion.reliability2d#

Observation-reliability factors for two-dimensional inversion.

This module keeps measurement quality separate from compatibility with a 2-D physical model. For phase-tensor skew angle \(\beta\) and a frozen scale \(\beta_0\), dimensionality reliability is

\[c_{2D} = \exp[-(|\beta| / \beta_0)^2].\]

The final observation reliability is the bounded product of measurement and dimensionality factors. Keeping both arrays allows explicit ablation of the two effects.

Functions

combine_observation_reliability(measurement, ...)

Return bounded measurement-by-dimensionality reliability.

dimensionality_reliability(beta_deg, *[, ...])

Convert phase-tensor skew into compatibility with 2-D physics.

pycsamt.ai.inversion.reliability2d.combine_observation_reliability(measurement, dimensionality, *, minimum=0.0)[source]

Return bounded measurement-by-dimensionality reliability.

Parameters:
  • measurement (array-like of float) – Reliability factors in [0, 1]. Inputs must be broadcastable to one common shape.

  • dimensionality (array-like of float) – Reliability factors in [0, 1]. Inputs must be broadcastable to one common shape.

  • minimum (float, default=0.0) – Lower bound applied after multiplication.

Returns:

Broadcast product clipped to [minimum, 1].

Return type:

numpy.ndarray of float

Raises:

ValueError – If inputs are empty, non-finite, outside [0, 1], or cannot be broadcast together.

Examples

>>> combine_observation_reliability(
...     [0.8, 0.5], [0.5, 0.2]
... ).tolist()
[0.4, 0.1]
pycsamt.ai.inversion.reliability2d.dimensionality_reliability(beta_deg, *, beta_scale_deg=5.0, minimum=0.0)[source]

Convert phase-tensor skew into compatibility with 2-D physics.

Parameters:
  • beta_deg (array-like of float) – Phase-tensor skew angles in degrees. Non-finite entries receive the configured minimum reliability.

  • beta_scale_deg (float, default=5.0) – Positive skew scale \(\beta_0\). Reliability equals exp(-1) at this absolute skew.

  • minimum (float, default=0.0) – Lower bound in the closed interval [0, 1].

Returns:

Reliability values with the same shape as beta_deg.

Return type:

numpy.ndarray of float

Raises:

ValueError – If the input is empty or scalar controls are invalid.

Examples

>>> dimensionality_reliability([0.0, 5.0]).round(6).tolist()
[1.0, 0.367879]