Documentation

LeanPool.Ado.LinearAlgebra.TensorProduct.Kernel

Kernels after extension of scalars #

Mathlib's Submodule.baseChange extends a submodule of M to an A-submodule of A ⊗[R] M, and LinearMap.baseChange extends a linear map. For a general map the two constructions satisfy only the containment (ker f).baseChange A ≤ ker (f.baseChange A); it is an equality when A is flat over R. This file records that case and the other case in which it is an equality: the kernel of a surjective map is computed correctly after extending scalars along an arbitrary coefficient algebra, flat or not.

That is the form wanted when the map is a quotient map, where the kernel of the extension is to be identified with the extension of the submodule quotiented by.

Main results #

References #

theorem LinearMap.ker_baseChange_of_flat {R : Type u} (A : Type v) {M : Type w} {N : Type x} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] [Ring A] [Algebra R A] [Module.Flat R A] (f : M →ₗ[R] N) :

Over a flat coefficient algebra, extension of scalars commutes with kernels.

theorem LinearMap.ker_baseChange_of_surjective {R : Type u} (A : Type v) {M : Type w} {N : Type x} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] [Ring A] [Algebra R A] (f : M →ₗ[R] N) (hf : Function.Surjective ⇑f) :

Extension of scalars commutes with the kernel of a surjective map, with no hypothesis on the coefficient algebra. Dropping surjectivity, the same equality holds when A is flat over R, which is LinearMap.ker_baseChange_of_flat.