pystra.system.ditlevsen_bounds#

ditlevsen_bounds(probabilities, intersections, ordering=None, optimize_order=False)[source]#

Return Ditlevsen bounds for the probability of a union of events.

Parameters:
  • probabilities (array_like) – Event probabilities \(P(E_i)\).

  • intersections (array_like or mapping) – Pairwise intersection probabilities \(P(E_i \cap E_j)\). This may be an n x n array, or a mapping keyed by (i, j) pairs.

  • ordering (sequence of int, optional) – Event ordering used by Ditlevsen’s sequential bounds.

  • optimize_order (bool, optional) – If True, all event orderings are checked and the tightest lower and upper bounds are returned. This is factorial in the number of events and is limited to eight events.

Returns:

Lower and upper bounds for \(P(\cup_i E_i)\).

Return type:

tuple of float