Merging at an arbitrary width #
ExpanderMerge folds N ≤ 3 n vertices onto n. The zig-zag tower produces
sizes far more widely spaced than that, so the fold has to work at any width:
N vertices onto n, with (m - 1) n ≤ N ≤ m n.
What keeps the estimate under control at every width is that the fibres stay
balanced — ExpanderMerge.card_liftN_none_le_one — so however large m is,
each new vertex needs at most one padding loop.
This module carries the combinatorial layer: the rotation map and the graph.
Main definitions #
Complexity.RegGraph.mergeRotN— the rotation map of the wide mergeComplexity.RegGraph.mergedN— the merged graph
Main results #
Complexity.RegGraph.mergeRotN_involutiveComplexity.RegGraph.order_mergedN,Complexity.RegGraph.deg_mergedNComplexity.RegGraph.step_mergedN— the merged walk averages themslotsComplexity.RegGraph.sq_step_mergedN_le— and Jensen bounds its squareComplexity.RegGraph.sum_over_liftN— the filled slots enumerate the old verticesComplexity.RegGraph.sum_sq_termN_le— the split into old steps and paddingComplexity.RegGraph.spectralBound_mergedN— the spectral bound at any widthComplexity.mergeWidth— a width that always works
The walk of the wide merge #
A term of the merged step at v: the old step at the vertex in slot i, or
f v where the slot is empty.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Summing over the slots #
Splitting the slot terms: the old steps, plus at most one padding per vertex — this is where balance of the fibres is used.
The spectral bound at any width #
The spectral bound of the wide merge. The width enters only through the
1 / m terms, so the bound stays below one however far apart the sizes are.
Choosing the width #
A width that always works for folding N ≥ 2 n vertices onto n.
Equations
- Complexity.RegGraph.mergeWidth N n = N / n + 1
Instances For
The width is bounded whenever the overshoot is.