Skip to main content

delta_inf_bound

Function delta_inf_bound 

Source
pub fn delta_inf_bound(
    matrix: &dyn Matrix,
    delta_values: &[Precision],
) -> Option<Precision>
Expand description

Upper bound on ‖A⁻¹ · δ‖_∞, derived from the coherence margin.

For a strictly diagonally dominant matrix A = D - O with coherence margin c = min_i (|A[i,i]| - Σ_{j≠i}|A[i,j]|) / |A[i,i]|, we have ‖A⁻¹ δ‖_∞ ≤ ‖δ‖_∞ / (min_i |A[i,i]| · c). This is a Neumann-series envelope bound — never tight, but always safe.

Returns None if the matrix is not strictly DD (coherence_score <= 0); the caller must fall back to an actual solve in that case.

Cost: one coherence_score pass + one min-diagonal pass — Linear in nnz(A). But the point of this primitive is to amortise the score across many event-handling cycles: callers cache the (coherence, min_diag) pair once at matrix-build time, then ask this function Option<Precision> on every event for an O(|δ|) envelope check.

Use delta_below_solve_threshold for the cached-input fast path.