Norm for (finite) ring extensions #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Suppose we have an R
-algebra S
with a finite basis. For each s : S
,
the determinant of the linear map given by multiplying by s
gives information
about the roots of the minimal polynomial of s
over R
.
Implementation notes #
Typically, the norm is defined specifically for finite field extensions. The current definition is as general as possible and the assumption that we have fields or that the extension is finite is added to the lemmas as needed.
We only define the norm for left multiplication (algebra.left_mul_matrix
,
i.e. linear_map.mul_left
).
For now, the definitions assume S
is commutative, so the choice doesn't
matter anyway.
See also algebra.trace
, which is defined similarly as the trace of
algebra.left_mul_matrix
.
References #
If x
is in the base ring K
, then the norm is x ^ [L : K]
.
If x
is in the base field K
, then the norm is x ^ [L : K]
.
(If L
is not finite-dimensional over K
, then norm = 1 = x ^ 0 = x ^ (finrank L K)
.)
Given pb : power_basis K S
, then the norm of pb.gen
is
(-1) ^ pb.dim * coeff (minpoly K pb.gen) 0
.
Given pb : power_basis R S
, then the norm of pb.gen
is
((minpoly R pb.gen).map (algebra_map R F)).roots.prod
.
This is algebra.norm_eq_zero_iff
composed with algebra.norm_apply
.
For L/K
a finite separable extension of fields and E
an algebraically closed extension
of K
, the norm (down to K
) of an element x
of L
is equal to the product of the images
of x
over all the K
-embeddings σ
of L
into E
.