Zulip Chat Archive

Stream: mathlib4

Topic: Algebra.norm for projective algebra extensions


Richard Hill (Aug 05 2024 at 17:11):

I suggest introducing a more general version of Algebra.norm. Currently, this definition requires an R-algebra S which is f.g. and free as an R-module, but one can define the norm when S is f.g. and projective, rather than free.

This would be useful for example in the following setup: L is a finite extension of a number field or function field K; R is a Dedekind domain with field of fractions K and S is the integral closure of R in L. We currently have no norm map from S to R apart from the special cases where S is a free R-module, but S is always projective over R.

I suggest something like this:

import Mathlib

section projective_determinant

variable (R : Type) [CommRing R] (M: Type) [AddCommGroup M] [Module R M] [Module.Finite R M] [hM : Module.Projective R M]

lemma Module.Projective.finite_split :  n : ,  s : (Fin n  R) →ₗ[R] M,  i : M →ₗ[R] (Fin n  R),
    s ∘ₗ i = LinearMap.id := by
  obtain n,s,hs := Module.Finite.exists_fin' R M
  obtain i,hi := Module.projective_lifting_property s LinearMap.id hs
  use n,s,i


variable {R M}

/--
The "determinant" of a linear map `φ : P →ₗ[R] P`, where `P` is a finitely generated
projective `R`-module.

This is defined as follows. There is a module `Q` such that
`P ⊕ Q` is isomorphic to the free module `F := (Fin n → R)`.
The determinant of `φ` is defined to be the
determinant `φ ⊕ id : F →ₗ[R] F`.
-/
noncomputable
def projectiveDet (φ : M →ₗ[R] M) : R := by
  have h₁ := Module.Projective.finite_split R M
  let n := h₁.choose
  have h₂ := h₁.choose_spec
  let s := h₂.choose
  have h₃ := h₂.choose_spec
  let i := h₃.choose
  let Φ : (Fin n  R) →ₗ[R] (Fin n  R) := 1 - i.comp s + i.comp (φ.comp s)
  exact LinearMap.det Φ


/-
# TODO :
1. this is well defined, i.e. doesn't depend on a choice of splitting `P ⊕ Q ≃ Free`.
2. this coincides with the usual determinant for free modules,
3. This is compatible with base change,
  i.e. the determinant of `φ ⊗ id : P ⊗ S →ₗ[S] P ⊗ S` is `algebaMap R S` of the determinant of `φ`.
4. `projectiveDet (φ ∘ₗ ψ) = ...`
5. `projectiveDet 0 = 0` if `P` is nontrivial.
6. `projectiveDet LinearMap.id = 1`
-/

end projective_determinant

section projective_norm

variable (R S : Type) [CommRing R] [Ring S] [Algebra R S] [Module.Finite R S] [Module.Projective R S]

noncomputable
def Algebra.norm' : S →*₀ R where
  toFun s := projectiveDet (Algebra.lmul R S s)
  map_zero' := sorry
  map_one' := sorry
  map_mul' := sorry


end projective_norm

Is this something which is worth pursuing?

Kevin Buzzard (Aug 05 2024 at 20:40):

We have the norm from L to K right? Is it not hard to prove that the norm of something in the integral closure of S is still integral over S and hence presumably in the integral closure of R in K?

On the other hand, what you're doing is strictly more general, and I've used your definition in the past (for characteristic power series of projective Banach modules). NB the proof that it's independent of Q is by considering P+Q+P+Q' and the fact that phi+1+1+1 and 1+1+phi+1 are conjugate so have the same char poly. If you're sticking to the f.g. projective case you could even define char poly this way (that way you get trace and norm).

Richard Hill (Aug 05 2024 at 21:57):

Thanks for your comments.

Yes, the norm from L to K is in Mathlib because K is a field, so L is free over K. One could simply prove that this norm maps S to R. This is often done prime-by-prime, using the fact that locally S is locally free over R. But that would mean that L and K come into the definition of the norm from S to R, which could make the notation more awkward.

Another way of defining the norm from S to R would be (up to a sign) a power of the constant term in the minimal polynomial. This is the most direct method, but it seems like an odd way to define the norm.

The definition which I sketched out is more general, as it does not require R and S to be Dedekind rings, and it does not mention K or L.

I'm a bit confused by your comment on char polys. The char poly does depend on the splitting, since its degree depends on the rank of $P \oplus Q$. If one wanted to define the trace by the same trick, then I guess one should take the trace of \phi \oplus (0 : Q \to Q) instead of \phi \oplus id.

Kevin Buzzard (Aug 05 2024 at 22:20):

The char power series (starts 1+aX+... instead of X^n+aX^(n-1)+...) is independent of splitting. I agree that there should be a definition independent of L and K and mathematically your plan sounds fine to me.

Andrew Yang (Aug 05 2024 at 22:35):

We have docs#Algebra.intNorm that came from flt-regular as it is more easily defined that way. But I agree this definition is better.

Richard Hill (Aug 06 2024 at 09:56):

@Kevin Buzzard ok, thanks for clarifying; I thought you were talking about charpoly. I assume the characteristic power series is something like $\det (1 + x \smul \phi)$, although I'm not familiar with the definition. If one defined the determinant to be the leading coefficient, would this be compatible with usual determinants (in the case that the usual determinant is 0)?

@Andrew Yang Thanks for pointing that out. I have some slight issues with Algebra.intNorm. First, it assumes separability, which isn't needed. More importantly, it is not general enough to be used in the definition of Ideal.spanNorm. Because of this, it is not used in Ideal.relNorm. Consequently, Ideal.relNorm is only defined when S is a free R-module (where R \to S is an extension of Dedekind domains). It would be nice to use Ideal.relNorm in more general situations (eg. to state the theorems of class field theory).

Andrew Yang (Aug 06 2024 at 10:07):

The reason it assumes separability is that mathlib does not know (or at least did not know at the time) how norm behaves under purely inseparable extensions. Once we have the general version of docs#Algebra.norm_eq_prod_embeddings we can remove that easily.

As for ideal norms, In flt-regular, we had Ideal.spanIntNorm to deal with this exact situation. This approach works for arbitrary finite extension of integrally closed domains (which are not necessarily projective) but I'm not sure if we need this generality or not.

Richard Hill (Aug 06 2024 at 10:27):

Thank you, it looks like Ideal.spanIntNorm solves the problem. Will this replace Ideal.relNorm in Mathlib?

Andrew Yang (Aug 06 2024 at 12:47):

I don't think anyone has active plans for it. The thing is Algebra.norm (or the suggestion you raised) and Algebra.intNorm aren't strictly generalisations of each other and it is not clear to me if we should drop either of them.

Richard Hill (Aug 07 2024 at 10:45):

Yes I see that people might want to keep Ideal.spanNorm, but I can't see an argument for Ideal.relNorm. It only applies to Dedekind domains, so Ideal.spanIntNorm generalizes it (or at least this will be true when the separability condition is removed).


Last updated: May 02 2025 at 03:31 UTC