Finding the tower level #
The expander family answers a request for n vertices with the first tower
member of at least 2 n of them. An algorithm finds that member by counting: it
walks up the tower, multiplying the size by deg ^ 4 at each level, and stops
at the first level large enough.
The walk is one step of a loop, so Cobham.iterate_mem_FP runs it; the state is
the level so far and the size so far, carried beside the requested count.
Main definitions #
Complexity.levelStep— one tick of the search
Main results #
Complexity.levelStep_iterate— what the loop has found afterjticksComplexity.levelStep_mem_FP— the tick is polynomial timeComplexity.levelAfter_of_lt,Complexity.levelAfter_stable— the loop climbs until it is large enough, and then staysComplexity.levelAfter_snd_le— and never overshoots by more than a factorComplexity.levelFn_mem_FP— the search is polynomial timeComplexity.levelFn_length— and finds the first level that is large enoughComplexity.pow_levelFn_le— whatever level it reports, that level's size is polynomially bounded
One tick: if the size so far is below twice the request, take another
level. The state is pair (pair (level so far) (size so far)) (the request).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The loop's model runs the loop.
What the loop settles on #
Once it is large enough, the loop stays put.
The size the loop carries is always the power the level names.
The search as one function #
The shape of the state after j ticks: a level of at most j marks and a
size the clamp keeps below d + 2 |z| d, beside the request.
The polynomial that bounds the loop's state.
Equations
- Complexity.levelWidth d p = Polynomial.C 4 * p + Polynomial.C (2 * d + 6) + Polynomial.C (4 * d + 1) * Polynomial.X
Instances For
The tower level for a requested count, as one function: run the search for polynomially many ticks and read off the level.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The size at the level the search reports.
Equations
- One or more equations did not get rendered due to their size.