The minimal polynomial of a canonical algebraic number carries checked
irreducibility, so PolyQuot a.p a.x has inversion and division without the
evidence being registered by hand.
The fixed field ℚ(a) of a canonical algebraic number: the presentation
ring on its minimal polynomial, with the embedding fixed by the root it
denotes. Reducible, so every PolyQuot operation, instance and theorem
applies unchanged.
Equations
- Hex.QAdjoin a = Hex.PolyQuot a.p a.x
Instances For
Equations
- Hex.instZeroQAdjoin = { zero := Hex.instZeroQAdjoin._aux_1 }
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- Hex.instNatCastQAdjoin = { natCast := Hex.instNatCastQAdjoin._aux_1 }
Equations
- Hex.instIntCastQAdjoin = { intCast := Hex.instIntCastQAdjoin._aux_1 }
Equations
Equations
Equations
Equations
Equations
The element of ℚ(a) with coordinates f in the power basis of a.
Unlike PolyQuot.ofSquare this needs no square and no side conditions: the
generating number already carries its own root.
Equations
- Hex.QAdjoin.ofCoeffs a f = Hex.PolyQuot.reduce a.p a.x f
Instances For
The canonical algebraic number as the generator of its own fixed field.
Equations
- a.toQAdjoin = Hex.PolyQuot.reduce a.p a.x (Hex.DensePoly.ofList [0, 1])
Instances For
Forget minimality while retaining every checked root certificate.
Equations
Instances For
Try one normalized factor of a lazy root's enclosing polynomial. Candidate isolations are refined to the enclosing polynomial's separation precision before their discs are compared.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Factor a lazy root's enclosing polynomial and select the normalized
irreducible factor containing its chosen root. none is a checked
implementation branch whose unreachability is proved by the Mathlib
companion.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The first n + 1 Krylov powers, built with one multiplication per step.
Equations
- a.krylovPowers 0 = #v[1]
- a.krylovPowers n.succ = (a.krylovPowers n).push ((a.krylovPowers n).get (Fin.last n) * a)
Instances For
Krylov orbit 1, a, a², ... through the defining-field dimension.
Equations
Instances For
The monic polynomial encoded by a Krylov dependence vector.
Equations
- Hex.PolyQuot.relationPoly coeffs = Hex.DensePoly.ofCoeffs ((Array.map (fun (c : Rat) => -c) coeffs.toArray).push 1)
Instances For
The monic relation at one Krylov-orbit index, when the new power is in the span of its predecessors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
First monic relation in the Krylov orbit of the multiplication operator, normalized as a primitive positive-leading integer polynomial.
Equations
- a.minpoly? = List.findSome? (fun (i : Nat) => a.relationAt? a.krylovOrbit (i + 1)) (List.range (Hex.DensePoly.natDegree p))
Instances For
Convert a fixed-presentation value to its canonical irreducible representation. Every stored certificate and every precision-sensitive step is checked before construction.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Total fixed-presentation conversion. The checked failure branch is proved unreachable by the Mathlib companion.
Equations
- a.toAlgebraicNumber rep h = (a.toAlgebraicNumber? rep h).getD (Hex.panicWith 0 "PolyQuot.toAlgebraicNumber: certification failed")
Instances For
The canonical number an element of ℚ(a) denotes, or none if the
certification failed. The general form applied with a's own
representative.
Equations
Instances For
The canonical number an element of ℚ(a) denotes.