Tschirnhaus transforms #
Let f and T be polynomials over a commutative ring R. The Tschirnhaus transform of f
by T is the polynomial whose roots are the values T(α) at the roots α of f, counted with
multiplicity. It is defined on the coefficient side, as the resultant in X of f(X) and
Y - T(X),
tschirnhausPolynomial f T = Res_X (f(X), Y - T(X)),
For monic f, it commutes with every base change R →+* S: the transform of a monic integral
polynomial over ℚ is the image of its transform over ℤ, and the transform modulo p is its
reduction. For arbitrary f, degree-dropping specialization need not preserve this resultant.
T is admissible for f over a field K when it separates the roots of f, that is, when
a ↦ T(a) is injective on the roots of f in its splitting field. Admissibility does not depend
on the field in which the roots are taken. For nonzero f over a field, the transform is
separable exactly when f is separable and T is admissible. Admissible transforms are the
classical remedy for a resolvent whose specialization at f is not separable: the resolvent is
recomputed at the transform, whose roots are in bijection with those of f.
Main definitions #
Polynomial.tschirnhausPolynomial f T: the Tschirnhaus transform offbyT.Polynomial.TschirnhausAdmissible f T:Tseparates the roots off.
Main results #
Polynomial.map_tschirnhausPolynomial: for monicf, the transform commutes with base change.Polynomial.map_tschirnhausPolynomial_of_injective: the same holds for anyfunder an injective base change.Polynomial.tschirnhausPolynomial_eq_prod_roots: over a domain in which monicfsplits, the transform is∏ (X - T(α))over the rootsαoff.Polynomial.tschirnhausPolynomial_eq_C_mul_prod_roots: the corresponding formula for any splitting polynomial over a domain, including its leading coefficient factor.Polynomial.ne_zero_tschirnhausPolynomial_field: the transform of any nonzero field polynomial is nonzero.Polynomial.monic_tschirnhausPolynomial,Polynomial.natDegree_tschirnhausPolynomial: the transform of a monic polynomial is monic of the same degree, over any commutative ring.Polynomial.aroots_tschirnhausPolynomial,Polynomial.rootSet_tschirnhausPolynomial: the roots of the transform are the values ofTat the roots off. The_fieldvariants cover arbitrary field polynomials in splitting domains, includingf = 0.Polynomial.isRoot_tschirnhausPolynomial: over a domain,T(α)is a root of the transform wheneverαis a root of the nonzero polynomialf.Polynomial.Monic.tschirnhausRootMap,Polynomial.tschirnhausRootMap: the resulting mapα ↦ T(α)from the roots offto the roots of its transform, for monicfover a domain and for any field polynomial in a domain; it is surjective wheneverfsplits.Polynomial.separable_tschirnhausPolynomial_iff: the transform is separable if and only iffis separable andTis admissible.Polynomial.TschirnhausAdmissible.bijOn_rootSet: an admissibleTmaps the roots offbijectively onto the roots of the transform.
References #
- H. Cohen, A Course in Computational Algebraic Number Theory, GTM 138, §6.3, where Tschirnhausen transformations are used to make a resolvent squarefree.
The Tschirnhaus transform of f by T: the resultant in X of f(X) and Y - T(X),
as a polynomial in Y. When f is monic and splits, its roots are the values T(α) at the
roots α of f, counted with multiplicity (Polynomial.tschirnhausPolynomial_eq_prod_roots).
Equations
Instances For
For monic f, the resultant defining the Tschirnhaus transform may be computed with any
valid bound n on the degree of T.
Base change. For monic f, the Tschirnhaus transform commutes with every ring
morphism. No hypothesis on T is needed, although its degree may drop.
The Tschirnhaus transform commutes with an injective base change, without requiring f to
be monic.
The root-product formula. Over a domain in which f splits, its Tschirnhaus transform is
its leading coefficient raised to the degree in X of Y - T(X), times the product of
X - T(α) over the roots α of f, counted with multiplicity.
The monic root-product formula. Over a domain in which the monic polynomial f splits,
the Tschirnhaus transform of f by T is ∏ (X - T(α)).
For a polynomial over a domain that splits, the roots of its Tschirnhaus transform are the
values of T at its roots, counted with multiplicity. Both sides are empty when f = 0.
For a nonzero polynomial over a domain, the value of T at any root of f is a root of the
Tschirnhaus transform; no splitting hypothesis is needed.
The Tschirnhaus transform splits in every domain in which f splits.
The Tschirnhaus transform of a monic polynomial is monic, over any commutative ring.
The Tschirnhaus transform of a monic polynomial has the same degree, whatever the degree of
T, over any commutative ring.
The Tschirnhaus transform by X is the identity.
The Tschirnhaus transform by a constant c collapses every root to c.
If the monic polynomial f splits in the domain L, then the roots in L of the
Tschirnhaus transform are the values of T at the roots of f in L, counted with
multiplicity.
If the monic polynomial f splits in the domain L, then the roots in L of the
Tschirnhaus transform are the images under T of the roots of f in L.
The map from the roots of a monic polynomial f to the roots of its Tschirnhaus transform,
sending α to T(α), in a domain L.
Equations
- hf.tschirnhausRootMap T = Set.MapsTo.restrict (fun (a : L) => (Polynomial.aeval a) T) (f.rootSet L) ((f.tschirnhausPolynomial T).rootSet L) ⋯
Instances For
Every root of the Tschirnhaus transform of a monic polynomial is the image of a root of the original polynomial.
If a monic polynomial splits after a base change, then its Tschirnhaus transform splits after the same base change.
Over a field, the Tschirnhaus transform of a nonzero polynomial is nonzero.
In any domain in which a field polynomial splits, the roots of its transform are the values
of T at its roots, counted with multiplicity. Both sides are empty when f = 0.
The root set of the transform of a field polynomial is the image of the root set under T,
in any domain in which f splits. Both sides are empty when f = 0.
If a polynomial over a field splits after a base change to a domain, then its Tschirnhaus transform splits after the same base change.
The map from the roots of a field polynomial to the roots of its Tschirnhaus transform in a
domain, sending α to T(α).
Equations
- f.tschirnhausRootMap T = Set.MapsTo.restrict (fun (a : L) => (Polynomial.aeval a) T) (f.rootSet L) ((f.tschirnhausPolynomial T).rootSet L) ⋯
Instances For
Every root in a splitting domain of the Tschirnhaus transform of a field polynomial is the
image of a root of the original polynomial. For f = 0 the transform is 0 or 1, so both root
sets are empty.
T is admissible for f, or separates the roots of f, when a ↦ T(a) is injective
on the roots of f in its splitting field. By Polynomial.tschirnhausAdmissible_iff_injOn, the
splitting field may be replaced by any field in which f splits.
Equations
- f.TschirnhausAdmissible T = Set.InjOn (fun (a : f.SplittingField) => (Polynomial.aeval a) T) (f.rootSet f.SplittingField)
Instances For
Admissibility may be tested in any field in which f splits.
The Tschirnhaus transform by X is admissible.
If the nonzero polynomial f splits in L, then its Tschirnhaus transform by T is separable
if and only if f is separable and T is injective on the roots of f in L.
Separability of the Tschirnhaus transform. For nonzero f, the Tschirnhaus transform by
T is separable if and only if f is separable and T is admissible for f.
The root sets correspond. If T is admissible for a polynomial f that splits in L,
then a ↦ T(a) maps the roots of f in L bijectively onto the roots of the Tschirnhaus
transform in L. Both root sets are empty when f = 0.
The canonical equivalence from the roots of f to the roots of an admissible Tschirnhaus
transform, sending α to T(α).
Equations
- hT.rootSetEquiv hs = Equiv.ofBijective (Set.MapsTo.restrict (fun (a : L) => (Polynomial.aeval a) T) (f.rootSet L) ((f.tschirnhausPolynomial T).rootSet L) ⋯) ⋯
Instances For
Applying T to the inverse image under the canonical root equivalence recovers the root.