pyhgf.updates.vectorised.volatile.vectorised_layer_volatility_posterior_unbounded#

pyhgf.updates.vectorised.volatile.vectorised_layer_volatility_posterior_unbounded(layer, params, time_step, max_posterior_precision=10000000000.0, mean_field_updates=False)[source]#

Unbounded volatility-level posterior update (Lambert W₀ dual-quadratic).

Implements the uhgf update: two quadratic expansions blended via a variational energy-based softmax, with Gaussian mixture moment matching for the final posterior precision.

This is the vectorised equivalent of pyhgf.updates.posterior.volatile.volatile_node_posterior_update_unbounded.volatile_node_posterior_update_unbounded().

Parameters:
  • layer (LayerState) – Current layer state with volatility_prediction_error set.

  • params (LayerParams) – Layer parameters; provides the value level’s tonic volatility when one is allocated (None enters the exponents as zero).

  • time_step (float) – Current time step (needed to reconstruct the pre-prediction variance).

  • max_posterior_precision (float) – Upper bound applied to the volatility-level posterior precision. Default 1e10.

  • mean_field_updates (bool) – Whether the prediction step ran the mean-field scheme — the MGF term is then absent from the reconstruction below, as it was from the prediction.

Returns:

Updated layer state with precision_vol and mean_vol set.

Return type:

LayerState