mathlib3 documentation

monlib / linear_algebra.is_real

Real linear maps (a.k.a. star-preserving linear maps) #

This file defines the function linear_map.real which maps a linear map φ.real (x) = star (φ (star x)); so that φ is real (star-preserving) if and only if φ = φ.real.

def linear_map.is_real {E : Type u_1} {F : Type u_2} {K : Type u_3} [semiring K] [add_comm_monoid E] [add_comm_monoid F] [module K E] [module K F] [has_star E] [has_star F] (φ : E →ₗ[K] F) :
Prop
Equations
def linear_map.real {E : Type u_1} {F : Type u_2} {K : Type u_3} [add_comm_monoid E] [star_add_monoid E] [add_comm_monoid F] [star_add_monoid F] [semiring K] [module K E] [module K F] [has_involutive_star K] [star_module K E] [star_module K F] (φ : E →ₗ[K] F) :
Equations
theorem linear_map.real_eq {E : Type u_1} {F : Type u_2} {K : Type u_3} [add_comm_monoid E] [star_add_monoid E] [add_comm_monoid F] [star_add_monoid F] [semiring K] [module K E] [module K F] [has_involutive_star K] [star_module K E] [star_module K F] (φ : E →ₗ[K] F) (x : E) :
theorem linear_map.is_real_iff {E : Type u_1} {F : Type u_2} {K : Type u_3} [add_comm_monoid E] [star_add_monoid E] [add_comm_monoid F] [star_add_monoid F] [semiring K] [module K E] [module K F] [has_involutive_star K] [star_module K E] [star_module K F] (φ : E →ₗ[K] F) :
φ.is_real φ.real = φ
theorem linear_map.real_add {E : Type u_1} {F : Type u_2} {K : Type u_3} [add_comm_monoid E] [star_add_monoid E] [add_comm_monoid F] [star_add_monoid F] [semiring K] [module K E] [module K F] [has_involutive_star K] [star_module K E] [star_module K F] (f g : E →ₗ[K] F) :
(f + g).real = f.real + g.real
theorem linear_map.real_sum {E : Type u_1} {F : Type u_2} {K : Type u_3} [add_comm_monoid E] [star_add_monoid E] [add_comm_monoid F] [star_add_monoid F] [semiring K] [module K E] [module K F] [has_involutive_star K] [star_module K E] [star_module K F] {n : Type u_4} {s : finset n} (f : n (E →ₗ[K] F)) :
(s.sum (λ (i : n), f i)).real = s.sum (λ (i : n), (f i).real)
theorem linear_map.real_real {E : Type u_1} {F : Type u_2} {K : Type u_3} [add_comm_monoid E] [star_add_monoid E] [add_comm_monoid F] [star_add_monoid F] [semiring K] [module K E] [module K F] [has_involutive_star K] [star_module K E] [star_module K F] (f : E →ₗ[K] F) :
f.real.real = f
theorem linear_map.real_comp {E : Type u_1} {F : Type u_2} {K : Type u_3} [add_comm_monoid E] [star_add_monoid E] [add_comm_monoid F] [star_add_monoid F] [semiring K] [module K E] [module K F] [has_involutive_star K] [star_module K E] [star_module K F] {G : Type u_4} [add_comm_monoid G] [star_add_monoid G] [module K G] [star_module K G] (f : E →ₗ[K] F) (g : G →ₗ[K] E) :
(f.comp g).real = f.real.comp g.real
def linear_map.real_ring_equiv {R : Type u_1} {E : Type (max u_2 u_3)} [semiring R] [add_comm_monoid E] [star_add_monoid E] [module R E] [has_involutive_star R] [star_module R E] :
(E →ₗ[R] E) ≃+* (E →ₗ[R] E)
Equations
theorem linear_map.real.spectrum {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [star_add_monoid E] [star_module 𝕜 E] [finite_dimensional 𝕜 E] (φ : E →ₗ[𝕜] E) :
theorem linear_map.real.eigenspace {𝕜 : Type u_1} [is_R_or_C 𝕜] {E : Type u_2} [normed_add_comm_group E] [inner_product_space 𝕜 E] [star_add_monoid E] [star_module 𝕜 E] (φ : E →ₗ[𝕜] E) (α : 𝕜) (x : E) :
theorem linear_map.real_neg {E : Type u_1} {F : Type u_2} {K : Type u_3} [add_comm_monoid E] [star_add_monoid E] [add_comm_group F] [star_add_monoid F] [semiring K] [module K E] [module K F] [has_involutive_star K] [star_module K E] [star_module K F] (f : E →ₗ[K] F) :
(-f).real = -f.real
theorem linear_map.real_sub {E : Type u_1} {F : Type u_2} {K : Type u_3} [add_comm_monoid E] [star_add_monoid E] [add_comm_group F] [star_add_monoid F] [semiring K] [module K E] [module K F] [has_involutive_star K] [star_module K E] [star_module K F] (f g : E →ₗ[K] F) :
(f - g).real = f.real - g.real
theorem linear_map.real_smul {E : Type u_1} {F : Type u_2} {K : Type u_3} [comm_semiring K] [add_comm_monoid E] [add_comm_monoid F] [star_ring K] [star_add_monoid E] [star_add_monoid F] [module K E] [module K F] [star_module K E] [star_module K F] (f : E →ₗ[K] F) (α : K) :
f).real = (star_ring_end K) α f.real
theorem linear_map.real_inj_eq {E : Type u_1} {F : Type u_2} {K : Type u_3} [semiring K] [add_comm_monoid E] [add_comm_monoid F] [has_involutive_star K] [star_add_monoid E] [star_add_monoid F] [module K E] [module K F] [star_module K E] [star_module K F] (f g : E →ₗ[K] F) :
f = g f.real = g.real
theorem linear_map.is_real_one {E : Type u_1} {K : Type u_2} [semiring K] [add_comm_monoid E] [module K E] [has_star E] :
theorem linear_map.real_one {E : Type u_1} {K : Type u_2} [semiring K] [has_involutive_star K] [add_comm_monoid E] [star_add_monoid E] [module K E] [star_module K E] :
1.real = 1