Transvections in a module #
When
f : Module.Dual R Vandv : V,LinearMap.transvection f vis the linear map given byx ↦ x + f x • v,If, moreover,
f v = 0, thenLinearEquiv.transvectionshows that it is a linear equivalence.
def
LinearMap.transvection
{R : Type u_1}
{V : Type u_2}
[CommSemiring R]
[AddCommMonoid V]
[Module R V]
(f : Module.Dual R V)
(v : V)
:
The transvection associated with a linear form f and a vector v.
NB. It is only a transvection when f v = 0. See also Module.preReflection.
Equations
Instances For
theorem
LinearMap.transvection.apply
{R : Type u_1}
{V : Type u_2}
[CommSemiring R]
[AddCommMonoid V]
[Module R V]
(f : Module.Dual R V)
(v x : V)
:
theorem
LinearMap.transvection.comp_of_left_eq_apply
{R : Type u_1}
{V : Type u_2}
[CommSemiring R]
[AddCommMonoid V]
[Module R V]
{f : Module.Dual R V}
{v w x : V}
(hw : f w = 0)
:
theorem
LinearMap.transvection.comp_of_left_eq
{R : Type u_1}
{V : Type u_2}
[CommSemiring R]
[AddCommMonoid V]
[Module R V]
{f : Module.Dual R V}
{v w : V}
(hw : f w = 0)
:
theorem
LinearMap.transvection.comp_of_right_eq_apply
{R : Type u_1}
{V : Type u_2}
[CommSemiring R]
[AddCommMonoid V]
[Module R V]
{f g : Module.Dual R V}
{v x : V}
(hf : f v = 0)
:
theorem
LinearMap.transvection.comp_of_right_eq
{R : Type u_1}
{V : Type u_2}
[CommSemiring R]
[AddCommMonoid V]
[Module R V]
{f g : Module.Dual R V}
{v : V}
(hf : f v = 0)
:
@[simp]
theorem
LinearMap.transvection.of_left_eq_zero
{R : Type u_1}
{V : Type u_2}
[CommSemiring R]
[AddCommMonoid V]
[Module R V]
(v : V)
:
@[simp]
theorem
LinearMap.transvection.of_right_eq_zero
{R : Type u_1}
{V : Type u_2}
[CommSemiring R]
[AddCommMonoid V]
[Module R V]
(f : Module.Dual R V)
:
theorem
LinearMap.transvection.congr
{R : Type u_1}
{V : Type u_2}
[CommSemiring R]
[AddCommMonoid V]
[Module R V]
{W : Type u_3}
[AddCommMonoid W]
[Module R W]
(f : Module.Dual R V)
(v : V)
(e : V ≃ₗ[R] W)
:
def
LinearEquiv.transvection
{R : Type u_1}
{V : Type u_2}
[CommRing R]
[AddCommGroup V]
[Module R V]
{f : Module.Dual R V}
{v : V}
(h : f v = 0)
:
The transvection associated with a linear form f and a vector v such that f v = 0.
Equations
- LinearEquiv.transvection h = { toFun := ⇑(LinearMap.transvection f v), map_add' := ⋯, map_smul' := ⋯, invFun := ⇑(LinearMap.transvection f (-v)), left_inv := ⋯, right_inv := ⋯ }
Instances For
theorem
LinearEquiv.transvection.apply
{R : Type u_1}
{V : Type u_2}
[CommRing R]
[AddCommGroup V]
[Module R V]
{f : Module.Dual R V}
{v : V}
(h : f v = 0)
(x : V)
:
@[simp]
theorem
LinearEquiv.transvection.coe_toLinearMap
{R : Type u_1}
{V : Type u_2}
[CommRing R]
[AddCommGroup V]
[Module R V]
{f : Module.Dual R V}
{v : V}
(h : f v = 0)
:
@[simp]
theorem
LinearEquiv.transvection.coe_apply
{R : Type u_1}
{V : Type u_2}
[CommRing R]
[AddCommGroup V]
[Module R V]
{f : Module.Dual R V}
{v x : V}
{h : f v = 0}
:
theorem
LinearEquiv.transvection.trans_of_left_eq
{R : Type u_1}
{V : Type u_2}
[CommRing R]
[AddCommGroup V]
[Module R V]
{f : Module.Dual R V}
{v w : V}
(hv : f v = 0)
(hw : f w = 0)
(hvw : f (v + w) = 0 := by simp [hv, hw])
:
theorem
LinearEquiv.transvection.trans_of_right_eq
{R : Type u_1}
{V : Type u_2}
[CommRing R]
[AddCommGroup V]
[Module R V]
{f g : Module.Dual R V}
{v : V}
(hf : f v = 0)
(hg : g v = 0)
(hfg : (f + g) v = 0 := by simp [hf, hg])
:
@[simp]
theorem
LinearEquiv.transvection.of_left_eq_zero
{R : Type u_1}
{V : Type u_2}
[CommRing R]
[AddCommGroup V]
[Module R V]
(v : V)
(hv : 0 v = 0 := ⋯)
:
@[simp]
theorem
LinearEquiv.transvection.of_right_eq_zero
{R : Type u_1}
{V : Type u_2}
[CommRing R]
[AddCommGroup V]
[Module R V]
(f : Module.Dual R V)
(hf : f 0 = 0 := ⋯)
:
theorem
LinearEquiv.transvection.symm_eq
{R : Type u_1}
{V : Type u_2}
[CommRing R]
[AddCommGroup V]
[Module R V]
{f : Module.Dual R V}
{v : V}
(hv : f v = 0)
(hv' : f (-v) = 0 := by simp [hv])
:
theorem
LinearEquiv.transvection.symm_eq'
{R : Type u_1}
{V : Type u_2}
[CommRing R]
[AddCommGroup V]
[Module R V]
{f : Module.Dual R V}
{v : V}
(hf : f v = 0)
(hf' : (-f) v = 0 := by simp [hf])
: