Stepped counts and the cut discrepancy of a partition #
A finite partition P of the vertices of a graph G determines the P-stepped graph: the
weighted graph whose weight on a pair of vertices is the edge density of G between their parts.
Its number of edges between two vertex sets A and B, G.steppedCount P A B, is the count of
edges from A to B that the partition predicts: each pair of parts (C, D) contributes its
edge density times the trace masses #(A ∩ C) * #(B ∩ D).
The cut discrepancy G.cutDiscrepancy P is the largest deviation, over all rectangles (A, B),
between the true number of edges #(G.interedges A B) and the stepped prediction. It is
count-scaled: it is at most (card V) ^ 2, rather than normalized to lie in [0, 1]. A partition
whose cut discrepancy is at most ε * (card V) ^ 2 is a weak regular partition in the sense of
Frieze and Kannan.
Densities include the diagonal blocks: a part C is paired with itself, with the density
G.edgeDensity C C over #C * #C ordered pairs.
Main declarations #
SimpleGraph.steppedCount G P A B: the number of edges fromAtoBpredicted byP.SimpleGraph.steppedCount_eq_card_interedges: the prediction is exact on rectangles whose sides are unions of parts.SimpleGraph.steppedCount_eq_sum_edgeDensity_part: the prediction as a sum, over pairs of vertices, of the edge densities between their parts.SimpleGraph.steppedCount_eq_sum_refinementParent: the prediction of a coarse partition, written over the parts of a refinement.SimpleGraph.cutDiscrepancy G P: the maximum deviation of the prediction from the true count.SimpleGraph.cutDiscrepancy_le_iffandSimpleGraph.lt_cutDiscrepancy_iff: bounds on the cut discrepancy are rectangle bounds, and exceeding a bound is witnessed by a rectangle.SimpleGraph.cutDiscrepancy_bot: the partition into singletons has cut discrepancy0.
References #
- A. Frieze, R. Kannan, Quick approximation to matrices and applications, Combinatorica 19 (1999).
- The names
steppedCountandcutDiscrepancyfollowRegularityLemmata/Graph/CutNorm.leanincameronfreer/regularity-lemmataat commit315ef979f55f31cc43cd791302519d9a34cc2dc0, where they are stated for directed relations.
The stepped count #
The number of edges from A to B predicted by the partition P: the number of edges of the
P-stepped graph between A and B. Each pair of parts (C, D) contributes its edge density
times the trace masses #(A ∩ C) * #(B ∩ D).
Instances For
Unfolding lemma for SimpleGraph.steppedCount.
The prediction on a rectangle with an empty side is 0.
The prediction on a rectangle with an empty side is 0.
The stepped prediction is symmetric, like the edge count it predicts.
The stepped prediction is nonnegative.
The stepped prediction never exceeds the number #A * #B of ordered pairs.
If A and B are unions of parts of P, the stepped prediction on (A, B) is the true
number of edges from A to B.
The partition into singletons predicts every edge count exactly.
The one-part partition predicts the global edge density on every rectangle.
The stepped prediction of P, written over the subtype of parts.
The stepped prediction of P as a sum over pairs of vertices: each pair (x, y) ∈ A × B
contributes the edge density between the parts of x and y.
Under a refinement Q ≤ P, the prediction of P sums, over the pairs of parts of Q, the
edge density between their coarse parents times their trace masses.
The cut discrepancy #
The cut discrepancy of G with respect to P: the largest deviation, over all rectangles
(A, B), between the number of edges from A to B and its stepped prediction. It is
count-scaled, so it lies between 0 and (card V) ^ 2.
Instances For
Every rectangle deviation is bounded by the cut discrepancy.
A bound on the cut discrepancy is exactly a bound on every rectangle deviation.
The cut discrepancy exceeds c exactly when some rectangle deviation does.
The cut discrepancy is nonnegative.
The cut discrepancy is at most the number (card V) ^ 2 of ordered pairs of vertices.
The partition into singletons has cut discrepancy 0.