An expander of every size, numbered #
TowerFin gives an expander at the tower's own sizes; a constraint graph asks
for one on exactly its own vertex count, and Dinur's degree reduction asks for
one on every vertex degree. This module closes the gap — fold the first large
enough member onto n vertices, then pad the degree with self-loops — keeping
every naming explicit, so that the rotation map stays a formula in numbers.
Nothing is numbered by an arbitrary bijection: a slot and a dart are packed with
finProdFinEquiv, and the padding with finSumFinEquiv. That is what lets
famRotVal compute the family's rotation map on raw numerals, which is what an
algorithm has to be handed.
Main definitions #
Complexity.FinBase.famGraph— the member onnverticesComplexity.FinBase.toFamily— the family
Main results #
Complexity.FinBase.spectral_famGraph— its spectral bound, below one
The member folded onto n vertices #
The fold, and the padding #
Numbering the darts #
The darts of the padded fold, numbered: a slot and a dart of the member are packed together, and the padding loops follow them.
Equations
- F.famDartName hd hn = (finProdFinEquiv.sumCongr (Equiv.refl (Fin (F.famDeg - F.wid hd n * F.fitD)))).trans (finSumFinEquiv.trans (finCongr ⋯))
Instances For
The rotation map, in numbers #
The family's rotation map, on raw numbers. A dart below wid * fitD
splits into a slot and a dart of the tower member; the vertex it lifts to is
v + slot * n, and the vertex it lands on is read modulo n, with the slot it
landed in becoming part of the new dart. Every other dart is a self-loop.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The expander family the numbered tower generates: one member at every size, of a constant degree, all contracting by the same factor, and with every naming explicit.
Equations
Instances For
The family the algorithm uses #
A numbered base of degree above one, chosen once.
Instances For
The explicit expander family: the tower over that base. Unlike
randExpander it comes with rotation tables an algorithm can read.