Extracting a coordinate block commutes with coordinatewise rational scaling.
Evaluate an array of lower-tower coefficient blocks as a power sum.
Equations
- Hex.NumberTower.LevelSemantics.evalBlocks lower x blocks = ∑ i ∈ Finset.range blocks.size, Hex.NumberTower.LevelSemantics.denote lower (blocks.getD i #[]) * x ^ i
Instances For
Evaluate a prescribed initial range of lower-tower coefficient blocks.
Equations
- Hex.NumberTower.LevelSemantics.evalUpTo lower x count blocks = ∑ i ∈ Finset.range count, Hex.NumberTower.LevelSemantics.denote lower (blocks.getD i #[]) * x ^ i
Instances For
Generic accumulation principle for coordinate folds: if every step preserves the working size and adds one term to the evaluated power sum, the fold adds the sum of all terms.
A sum over List.range agrees with the corresponding Finset.range
sum.
One convolution row adds exactly the monomial contributions of block i
of a against every block of b.
Evaluate top-level mixed-radix coordinates at an arbitrary conjugate of the newest generator while retaining the fixed lower embedding.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical all-zero block denotes zero at every tower depth.
The zero-filled coordinate array of full width denotes zero.
A power sum over zero-filled blocks vanishes.
The executable convolution evaluates to the double sum of blockwise
products weighted by x ^ (i + j).
The executable convolution evaluates to the product of the two operand power sums: schoolbook multiplication is correct under denotation.
One coefficient-reduction step subtracts the top block times each defining coefficient at the correspondingly shifted position.
The canonical constant-one block denotes one for every valid lower tower.
A one-coordinate rational constant has its usual complex value at every validated tower depth.
Conjugate evaluation sends the zero coefficient to 0.
Conjugate evaluation sends the one coefficient to 1.
Conjugate evaluation is additive.
The mixed-radix basis coordinate immediately after the lower block denotes the newly adjoined generator.
The mixed-radix basis coordinate immediately after the lower block evaluates to the chosen conjugate of the newest generator.
The stored monic relation is the vanishing power sum used by descending coordinate reduction.
One descending reduction step preserves evaluation at any zero of the mapped monic level relation.
Full descending reduction preserves evaluation at any zero of the mapped monic relation.
Full degree reduction at the stored root preserves the evaluated power
sum: each subtracted multiple of the monic defining relation vanishes at the
root, so the reduced width-k array evaluates like the original width-k+1
array.
Descending reduction preserves evaluation at the current algebraic root.
Recursive convolution and monic reduction denote complex multiplication.
Recursive reduced multiplication is respected by evaluation at every complex zero of the mapped top-level relation.
Complex denotation restricted to the canonical fixed-width coefficient carrier used by recursive inversion.
Equations
- Hex.NumberTower.LevelSemantics.coeffDenote levels a = Hex.NumberTower.LevelSemantics.denote levels a.data
Instances For
Coefficient denotation sends the zero coefficient to 0.
Coefficient denotation sends the one coefficient to 1.
Coefficient denotation is additive over the executable addition.
Coefficient denotation respects the executable subtraction.
Coefficient denotation respects the executable negation.
Coefficient denotation is multiplicative over the executable mixed-radix multiplication.
Rational coordinate scaling on canonical coefficients.
Equations
- Hex.NumberTower.LevelSemantics.coeffSmul levels q a = Hex.NumberTower.Arithmetic.Coeff.ofData levels (Array.map (fun (c : ℚ) => q * c) a.data)
Instances For
Coefficient denotation turns the executable rational scaling into multiplication by the embedded rational.
Natural powers using the executable coefficient multiplication.
Equations
Instances For
Coefficient denotation turns the executable natural power into the complex power.
Integer powers using the executable coefficient inverse for negative exponents.
Equations
Instances For
Canonical coefficients at one level list have unique complex denotation.
Equations
Instances For
Transfer a lawful field structure to canonical executable coefficients once recursive inversion is known to preserve complex denotation. Auxiliary casts, scalar actions, and powers are chosen through rational coordinate scaling and the existing executable operations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Canonical coefficient denotation bundled as a ring homomorphism for the transferred executable field.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Canonical coefficient data is already the right width, so zero-padding fixes it.
Canonical coefficients with equal coordinate data are equal.
Rebuilding a canonical coefficient from its own data is the identity.
Evaluate a prescribed coefficient range of an executable dense polynomial through lower-tower denotation.
Equations
- Hex.NumberTower.LevelSemantics.denseEval lower x degree f = ∑ i ∈ Finset.range degree, Hex.NumberTower.LevelSemantics.coeffDenote lower (f.coeff i) * x ^ i
Instances For
Evaluation of executable dense polynomials after transferring the lawful lower-tower field structure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Ring-hom evaluation agrees with the prescribed coefficient sum whenever the polynomial has degree below that range.
Dense evaluation preserves multiplication.
Dense evaluation preserves addition.
Dense evaluation sends coefficient scaling to scalar multiplication.
Dense evaluation of a constant is lower-tower denotation.