Every root in the fixed tower embedding remains a root of the absolute iterated norm.
A root returned by the absolute eliminant filter is a root of the input tower polynomial in the fixed embedding.
Every positive-degree tower polynomial supplies an absolute root through its iterated-norm eliminant.
Product of the recorded monic linear factors. The .all case denotes the
zero polynomial.
Equations
- One or more equations did not get rendered due to their size.
- Hex.NumberTower.Roots.all.linearProduct = 0
Instances For
Every finite root entry has positive multiplicity.
Equations
- Hex.NumberTower.Roots.all.Positive = True
- (Hex.NumberTower.Roots.finite roots).Positive = ∀ entry ∈ roots.toList, 0 < entry.2
Instances For
A finite root array contains no duplicate tower values.
Equations
- Hex.NumberTower.Roots.all.NoDuplicates = True
- (Hex.NumberTower.Roots.finite roots).NoDuplicates = List.Pairwise (fun (a b : T.Elem × ℕ) => a.1 ≠ b.1) roots.toList
Instances For
Membership in a finite root result. The all-roots result has no finite entries to enumerate.
Equations
- Hex.NumberTower.Roots.all.Contains entry = False
- (Hex.NumberTower.Roots.finite roots_1).Contains entry = (entry ∈ roots_1.toList)
Instances For
Reconstruct the mapped input from its leading coefficient and returned monic linear factors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Closure of the embedded base and returned roots under field operations.
- base {T : NumberTower} {f : T.Poly} {S : T.Splitting f} (a : T.Elem) : S.GeneratedBy (S.extension.embed a)
- root {T : NumberTower} {f : T.Poly} {S : T.Splitting f} (entry : S.extension.tower.Elem × ℕ) (h : S.roots.Contains entry) : S.GeneratedBy entry.1
- add {T : NumberTower} {f : T.Poly} {S : T.Splitting f} {a b : S.extension.tower.Elem} : S.GeneratedBy a → S.GeneratedBy b → S.GeneratedBy (a + b)
- neg {T : NumberTower} {f : T.Poly} {S : T.Splitting f} {a : S.extension.tower.Elem} : S.GeneratedBy a → S.GeneratedBy (-a)
- mul {T : NumberTower} {f : T.Poly} {S : T.Splitting f} {a b : S.extension.tower.Elem} : S.GeneratedBy a → S.GeneratedBy b → S.GeneratedBy (a * b)
- inv {T : NumberTower} {f : T.Poly} {S : T.Splitting f} {a : S.extension.tower.Elem} : S.GeneratedBy a → S.GeneratedBy a⁻¹
Instances For
Mathematical meaning of a checked splitting result.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every returned split payload reconstructs the input and generates the result extension from the listed roots.
The bounded split/refactor loop succeeds for every tower polynomial.