lemmaroutine
Affine updates on digit fields cost linear time
Affine updates on digit fields cost
linear-cost shear step for matrix shears and shifts
Lemma·
lem:ordered-affine-streams·§2.1 Array order and elementary scansStatement (paper)
Fix a prime , a fixed number of control fields, and finitely many
rational coefficients whose denominators are prime to . Whenever a
coefficient is used as a unit, also require its numerator to be prime to
. Put , .
Suppose a target field follows its control fields, each control
used in an offset having digits. An update
costs if the offset can be prepared in time from the
fixed number of control values. In particular, this holds for a fixed
rational linear combination of them, specialized modulo .
Multiplication of by any of the specified rational units, and its
inverse, also costs . Arbitrarily long intervening spectator
fields and suffix records are permitted.
In plain English
For a prime power , a target field can be updated by in time when the offset has digits and is computable in time from a fixed number of control fields, e.g. a fixed rational linear combination reduced mod . Multiplying by a specified rational unit, or its inverse, also costs , even with arbitrarily long spectator fields or suffix records between the fields.
Why it's here
This is the basic cost bound for shears and controlled shifts: it lets later lemmas treat each affine or unit-multiplication update on an array field as a single linear-time scan. It builds on the elementary digit scans of the previous lemma, which handle moving past spectator data, so that only the small arithmetic on the fields is charged per item.
Classified routine:
A Turing-machine bookkeeping consequence of the preceding elementary-scan lemma: each per-item update costs b^{O(1)} on O(b)-digit fields, which is absorbed into a linear-time scan over the array. This is standard multitape streaming accounting, not a new idea.
Uses
Used by
Sources
PaperOpen
- Section
- §2.1 Array order and elementary scans
- Page
- —
- Label
lem:ordered-affine-streams- Line
sections/02-streams.tex:124
Leannot aligned
Phase 2 aligns this node to a Lean declaration.