mathlib3 documentation

monlib / linear_algebra.my_ips.minimal_proj

Minimal projections #

In this file we show some necessary results for positive operators on a Hilbert space.

main results #

Theorem. If $p,q$ are (orthogonal) projections on $E$, then the following are equivalent:

for part (iii), it suffices to show that the element is an idempotent since $q - p$ is self-adjoint

it turns out that $qp = p$ (from (i)) if and only if (ii) and (i) if and only if (iii) for idempotent operators on a module over a ring (see is_idempotent_elem.comp_idempotent_iff and linear_map.commutes_iff_is_idempotent_elem)

obviously when $p,q$ are self-adjoint operators, then $pq = p$ iff $qp=p$ (see self_adjoint_commutes_iff)

so then, obviously, (ii) if and only if (iii) for idempotent self-adjoint operators as well (see continuous_linear_map.image_subset_iff_sub_of_is_idempotent)

we finally have (i) if and only if (iv) for idempotent self-adjoint operators on a finite-dimensional complex-Hilbert space: (see orthogonal_projection_is_positive_iff_commutes)

main definition #

theorem is_idempotent_elem.mem_range_iff {R : Type u_1} {E : Type u_2} [ring R] [add_comm_group E] [module R E] {p : E →ₗ[R] E} (hp : is_idempotent_elem p) {x : E} :

given an idempotent linear operator $p$, we have $x \in \textnormal{range}(p)$ if and only if $p(x) = x$ (for all $x \in E$)

theorem is_idempotent_elem.comp_idempotent_iff {R : Type u_1} {E : Type u_2} [ring R] [add_comm_group E] [module R E] {p q : E →ₗ[R] E} (hq : is_idempotent_elem q) :

given idempotent linear operators $p,q$, we have $qp = p$ iff $p(E) \subseteq q(E)$

theorem linear_map.is_idempotent_elem_sub_of {R : Type u_1} {E : Type u_2} [ring R] [add_comm_group E] [module R E] {p q : E →ₗ[R] E} (hp : is_idempotent_elem p) (hq : is_idempotent_elem q) (h : p.comp q = p q.comp p = p) :

if $p,q$ are idempotent operators and $pq = p = qp$, then $q - p$ is an idempotent operator

theorem linear_map.commutes_of_is_idempotent_elem {E : Type u_1} {𝕜 : Type u_2} [is_R_or_C 𝕜] [add_comm_group E] [module 𝕜 E] {p q : E →ₗ[𝕜] E} (hp : is_idempotent_elem p) (hq : is_idempotent_elem q) (h : is_idempotent_elem (q - p)) :
p.comp q = p q.comp p = p

if $p,q$ are idempotent operators and $q - p$ is also an idempotent operator, then $pq = p = qp$

theorem linear_map.commutes_iff_is_idempotent_elem {E : Type u_1} {𝕜 : Type u_2} [is_R_or_C 𝕜] [add_comm_group E] [module 𝕜 E] {p q : E →ₗ[𝕜] E} (hp : is_idempotent_elem p) (hq : is_idempotent_elem q) :
p.comp q = p q.comp p = p is_idempotent_elem (q - p)

given idempotent operators $p,q$, we have $pq = p = qp$ iff $q - p$ is an idempotent operator

theorem self_adjoint_proj_commutes {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [complete_space E] {p q : E →L[𝕜] E} (hpa : is_self_adjoint p) (hqa : is_self_adjoint q) :
p.comp q = p q.comp p = p

given self-adjoint operators $p,q$, we have $pq=p$ iff $qp=p$

given any idempotent operator $T ∈ L(V)$, then is_compl T.ker T.range, in other words, there exists unique $v ∈ \textnormal{ker}(T)$ and $w ∈ \textnormal{range}(T)$ such that $x = v + w$

@[protected, instance]
def linear_map.is_symmetric.has_le {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] :
has_le (E →ₗ[𝕜] E)

instance for on linear maps

Equations
@[protected, instance]
Equations

p ≤ q means q - p is positive

@[protected, instance]
Equations
theorem linear_map.is_positive.is_nonneg {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] {p : E →ₗ[𝕜] E} :

saying p is positive is the same as saying 0 ≤ p

@[protected, instance]
def continuous_linear_map.has_le {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [complete_space E] :
has_le (E →L[𝕜] E)

instance for on bounded linear maps

Equations
theorem is_self_adjoint.has_le.le_antisymm {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [complete_space E] {a b : E →L[𝕜] E} (ha : is_self_adjoint a) (hb : is_self_adjoint b) (hab : a b) (hba : b a) :
a = b

when a,b are self-adjoint operators, then if a ≤ b and b ≤ a, then a = b

@[simp, refl]
theorem continuous_linear_map.has_le.le_refl {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [complete_space E] {a : E →L[𝕜] E} :
a a

we always have a ≤ a

@[simp]
theorem is_self_adjoint.has_le.le_trans {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [complete_space E] {a b c : E →L[𝕜] E} (ha : is_self_adjoint a) (hb : is_self_adjoint b) (hc : is_self_adjoint c) (hab : a b) (hbc : b c) :
a c

when a,b are self-adjoint operators, then if a ≤ b and b ≤ c, then a ≤ c

@[simp, refl]
theorem continuous_linear_map.is_positive.has_le {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [complete_space E] {p q : E →L[𝕜] E} :
p q (q - p).is_positive

p ≤ q means q - p is positive

@[simp, refl]

saying p is positive is the same as saying 0 ≤ p

theorem self_adjoint_and_idempotent.is_positive {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [complete_space E] {p : E →L[𝕜] E} (hp : is_idempotent_elem p) (hpa : is_self_adjoint p) :
0 p

a self-adjoint idempotent operator is positive

an idempotent is positive if and only if it is self-adjoint

orthogonal projections are obviously positive

theorem self_adjoint_and_idempotent.sub_is_positive_of {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [complete_space E] {p q : E →L[𝕜] E} (hp : is_idempotent_elem p) (hq : is_idempotent_elem q) (hpa : is_self_adjoint p) (hqa : is_self_adjoint q) (h : p.comp q = p) :
0 q - p

given orthogonal projections Pᵤ,Pᵥ, then Pᵤ(Pᵥ)=Pᵤ implies Pᵥ-Pᵤ is positive (i.e., Pᵤ ≤ Pᵥ)

in a finite-dimensional complex Hilbert space E, if p,q are self-adjoint operators, then p ≤ q iff ∀ x ∈ E : ⟪x, p x⟫ ≤ ⟪x, q x⟫

given self-adjoint idempotent operators p,q, we have ∀ x ∈ E : ⟪x, p x⟫ ≤ ⟪x, q x⟫ ↔ ∀ x ∈ E, ‖p x‖ ≤ ‖q x‖

@[simp]
theorem is_positive.has_le.sub {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [complete_space E] {p q : E →L[𝕜] E} :
p q 0 q - p
theorem submodule.map_to_linear_map {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [module 𝕜 E] {p : E →L[𝕜] E} {U : submodule 𝕜 E} :

given self-adjoint idempotent operators p,q we have, p(E) ⊆ q(E) iff q - p is an idempotent operator

def continuous_linear_map.is_minimal_projection {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [complete_space E] (x : E →L[𝕜] E) (U : submodule 𝕜 E) :
Prop

definition of a map being a minimal projection

Equations

definition of orthogonal projection being minimal i.e., when the dimension of its space equals one

Equations
@[simp]
theorem is_self_adjoint.has_le.le_antisymm_iff {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [complete_space E] {p q : E →L[𝕜] E} (hp : is_self_adjoint p) (hq : is_self_adjoint q) :
p = q p q q p

given self-adjoint operators p,q we have p = q iff p ≤ q and q ≤ p

theorem submodule.le_finrank_one {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] [finite_dimensional 𝕜 E] (U V : submodule 𝕜 E) (hU : finite_dimensional.finrank 𝕜 U = 1) :
V U V = U V = 0

when a submodule U has dimension 1, then for any submodule V, we have V ≤ U if and only if V = U or V = 0

for orthogonal projections Pᵤ,Pᵥ, if Pᵤ is a minimal orthogonal projection, then for any Pᵥ if Pᵥ ≤ Pᵤ and Pᵥ ≠ 0, then Pᵥ = Pᵤ

any rank one operator given by a norm one vector is a minimal projection

theorem normalize_op {E : Type u_2} [normed_add_comm_group E] [inner_product_space E] (x : E) :
( (y : E) (r : ), y = 1 x = r y) x = 0

if x ∈ E then we can normalize this (i.e., there exists y ∈ E such that ∥y∥ = 1 where x = r • y for some r ∈ ℝ) unless x = 0

given any non-zero x ∈ E, we have 1 / ‖x‖ ^ 2 • |x⟩⟨x| is a minimal projection

a linear operator is an orthogonal projection onto a submodule, if and only if it is self-adjoint and idempotent; so it always suffices to say p = p⋆ = p²

a linear operator is an orthogonal projection onto a submodule, if and only if it is a self-adjoint linear projection onto the submodule; also see orthogonal_projection_iff

theorem submodule.is_ortho_iff_inner_eq' {𝕜 : Type u_1} {E : Type u_2} [is_R_or_C 𝕜] [normed_add_comm_group E] [inner_product_space 𝕜 E] {U W : submodule 𝕜 E} :
U W (u : U) (w : W), has_inner.inner u w = 0

U and W are mutually orthogonal if and only if (P U).comp (P W) = 0, where P U is orthogonal_projection U