Module docstring
{"# The submodule of elements x : M such that f x = g x
Main declarations
LinearMap.eqLocus: the submodule of elementsx : Msuch thatf x = g x
Tags
linear algebra, vector space, module
","### Properties of linear maps "}
{"# The submodule of elements x : M such that f x = g x
LinearMap.eqLocus: the submodule of elements x : M such that f x = g xlinear algebra, vector space, module
","### Properties of linear maps "}
LinearMap.eqLocus
definition
(f g : F) : Submodule R M
/-- A linear map version of `AddMonoidHom.eqLocusM` -/
def eqLocus (f g : F) : Submodule R M :=
{ (f : M →+ M₂).eqLocusM g with
carrier := { x | f x = g x }
smul_mem' := fun {r} {x} (hx : _ = _) => show _ = _ by
-- Note: https://github.com/leanprover-community/mathlib4/pull/8386 changed `map_smulₛₗ` into `map_smulₛₗ _`
simpa only [map_smulₛₗ _] using congr_arg (τ₁₂ r • ·) hx }
LinearMap.mem_eqLocus
theorem
{x : M} {f g : F} : x ∈ eqLocus f g ↔ f x = g x
@[simp]
theorem mem_eqLocus {x : M} {f g : F} : x ∈ eqLocus f gx ∈ eqLocus f g ↔ f x = g x :=
Iff.rfl
LinearMap.eqLocus_toAddSubmonoid
theorem
(f g : F) : (eqLocus f g).toAddSubmonoid = (f : M →+ M₂).eqLocusM g
theorem eqLocus_toAddSubmonoid (f g : F) :
(eqLocus f g).toAddSubmonoid = (f : M →+ M₂).eqLocusM g :=
rfl
LinearMap.eqLocus_eq_top
theorem
{f g : F} : eqLocus f g = ⊤ ↔ f = g
@[simp]
theorem eqLocus_eq_top {f g : F} : eqLocuseqLocus f g = ⊤ ↔ f = g := by
simp [SetLike.ext_iff, DFunLike.ext_iff]
LinearMap.eqLocus_same
theorem
(f : F) : eqLocus f f = ⊤
@[simp]
theorem eqLocus_same (f : F) : eqLocus f f = ⊤ := eqLocus_eq_top.2 rfl
LinearMap.le_eqLocus
theorem
{f g : F} {S : Submodule R M} : S ≤ eqLocus f g ↔ Set.EqOn f g S
theorem le_eqLocus {f g : F} {S : Submodule R M} : S ≤ eqLocus f g ↔ Set.EqOn f g S := Iff.rfl
LinearMap.eqOn_sup
theorem
{f g : F} {S T : Submodule R M} (hS : Set.EqOn f g S) (hT : Set.EqOn f g T) : Set.EqOn f g ↑(S ⊔ T)
LinearMap.ext_on_codisjoint
theorem
{f g : F} {S T : Submodule R M} (hST : Codisjoint S T) (hS : Set.EqOn f g S) (hT : Set.EqOn f g T) : f = g
theorem ext_on_codisjoint {f g : F} {S T : Submodule R M} (hST : Codisjoint S T)
(hS : Set.EqOn f g S) (hT : Set.EqOn f g T) : f = g :=
DFunLike.ext _ _ fun _ ↦ eqOn_sup hS hT <| hST.eq_top.symm ▸ trivial
LinearMap.eqLocus_eq_ker_sub
theorem
(f g : M →ₛₗ[τ₁₂] M₂) : eqLocus f g = ker (f - g)
theorem eqLocus_eq_ker_sub (f g : M →ₛₗ[τ₁₂] M₂) : eqLocus f g = ker (f - g) :=
SetLike.ext fun _ => sub_eq_zero.symm