boundlab.prop.bound_width_reasons_breakdown#
- boundlab.prop.bound_width_reasons_breakdown(e)[source]#
Compute interval width breakdown by reason.
Returns a dictionary mapping each reason string to a tensor giving its contribution to the bound width at the output. The sum of all values equals
bound_width()(up to floating-point error).Two relaxation primitives are handled:
LpEpsilon(zonotope form): each leaf contributes \(\|u\|_q + \|l\|_q\), where(u, l)are the accumulated backward weights for the upper/lower direction. When the backward weight has not yet split, this collapses to \(2\|w\|_q\).PolyBoundGate(polytope/CROWN form): each gate contributes the difference between its<=and>=biases. Because a gate’s child weight depends on the propagation direction, its child receives a split(u_w, l_w)weight that propagates downstream.
Constant biases reached in split mode (caused by a gate’s slope spread amplifying through downstream constants) are aggregated under the reserved key
"polytope_slope_slack".