Skip to content

Result Types

The standalone and handler-based APIs return dataclasses.

Common base for results from the NumPyro-free conditioning primitive.

dsx.condition returns this type under both Filter and Smoother. It carries the complete inference output through the handler stack without registering NumPyro sites. Filter results may additionally expose the canonical one-step-ahead predicted_observations and an evaluation_result attached by an outer evaluation handler. Posterior distributions are time-major: dists[i] corresponds to times[..., i]. Leading axes on times are optional plate axes, while each distribution may carry the matching plate axes in its batch shape.

Outputs computed by an evaluation handler.

Evaluation handlers attach this object to the ConditionedResult they consume. NumPyro registration remains deferred so dsx.condition stays side-effect free while dsx.sample can register the same outputs later.

Result of simulation without eager NumPyro side effects.

This result therefore stores the realized state path x and observation path y produced on the requested simulator time grid.

For raw forward simulation, times, x_0, states, and observations are populated. The field names match their NumPyro site suffixes. When a simulator is layered outside a Filter or Smoother for posterior rollout, the same result object instead carries predicted_times, predicted_states, and predicted_observations.