Zulip Chat Archive

Stream: new members

Topic: linear-algebra-bounded-op


Monica Omar (May 22 2022 at 16:27):

I am trying to formalise that given TT is a bounded operator in a Hilbert space H\mathcal{H}, then T=1T=1 if and only if ψ,Tψ=1\langle\psi,T\psi\rangle=1 for all ψ\psi such that ψ=1\|\psi\|=1.
Here is what I have got so far,

import analysis.inner_product_space.basic

variables {H 𝕜 : Type*} [is_R_or_C 𝕜]
variables [inner_product_space 𝕜 H]
variables [complete_space H]
variables (T : H L[𝕜] H)

local notation `⟪`x`, `y`⟫` := @inner 𝕜 _ _ x y

lemma easy_lemma (h : T = 1) :  (ψ : H), ψ∥=1  ψ,T ψ = 1 :=
 λ ψ , by simp [h, inner_self_eq_norm_sq_to_K, ]

lemma bounded_op_eq_one_if_norm_is_one (ψ : H) (h : ψ∥=1) (h' : ψ,T ψ = 1) : T = 1 :=
 sorry

I am not sure where to go from here. Any help would be appreciated :)

Ruben Van de Velde (May 22 2022 at 16:33):

What's the mathematical proof? Do you know already?

Monica Omar (May 22 2022 at 16:39):

Yeah, you use the polarisation identity to first show TT is self-adjoint. Then you take the orthonormal basis to show TT is the identity.

Ruben Van de Velde (May 22 2022 at 18:21):

First, note that your statement only assumes that there's a particular psi that had that property, not that all psi have that property

Ruben Van de Velde (May 22 2022 at 18:23):

Some versions of the polarization identity are here: https://leanprover-community.github.io/mathlib_docs/analysis/inner_product_space/basic.html#re_inner_eq_norm_add_mul_self_sub_norm_mul_self_sub_norm_mul_self_div_two

Monica Omar (May 26 2022 at 11:03):

Here's what I got so far. Not sure if this is the right direction or not, though. Any advice? @Ruben Van de Velde

import analysis.inner_product_space.basic analysis.complex.basic analysis.normed_space.bounded_linear_maps

variables {H : Type*} [inner_product_space  H]
variables [complete_space H]
variables (T : H →ₗ[] H)

lemma bounded_op_eq_one_if_norm_is_one (ψ : H) (h : ψ∥=1) (h' : ψ,T ψ_ℂ = 1) : T ψ = id ψ :=
 begin
   have t1 : ψ∥^2  = 1 := by simp [h],
   have t2 : ψ,ψ_ℂ = 1 := by { simp [inner_self_eq_norm_sq_to_K ψ],finish, },
   have : ψ,ψ_ℂ - ψ,T ψ_ℂ = 0 := by simp [h', t2],
   rw  inner_sub_right at this,
   have t3 : ψ  0 := λ c, by simp [c, norm_zero] at h;contradiction,
   have :=
    calc T ψ - ψ,T ψ - ψ_ℂ = T ψ,T ψ_ℂ - 1 : by simp [inner_sub_right, inner_sub_left, inner_sub_left, h', t2,  inner_conj_sym (T ψ) ψ, h']
                       ... = T ψ,T ψ_ℂ - T ψ,ψ_ℂ : by simp [ inner_conj_sym (T ψ) ψ, h']
                       ... = T ψ,T ψ - ψ_ℂ : by rw inner_sub_right
                       ... = ψ,ψ - T ψ_ℂ : sorry
                       ... = 0 : by assumption,
  have := (inner_self_eq_zero).mp this,
  have : T ψ = ψ := by { apply sub_eq_zero.mp,assumption, },
  simp,assumption,
 end

Yaël Dillies (May 26 2022 at 11:19):

Your statement is still wrong. Consider a shear in a direction orthogonal to psi. The correct statement is by quantifying over all psi both in the hypothesis and the conclusion.

Yaël Dillies (May 26 2022 at 11:19):

Regarding your sorry, what I just said is precisely what makes it wrong.

Monica Omar (May 26 2022 at 11:27):

Would the statement just be this then?

 lemma bounded_op_eq_one_if_norm_is_one (h :  ψ,ψ∥=1  ψ,T ψ_ℂ = 1) : T = 1 :=

Ruben Van de Velde (May 26 2022 at 11:30):

Yeah, this could be a better start:

lemma bounded_op_eq_one_if_norm_is_one (h :  (ψ : H), ψ = 1  ψ, T ψ_ℂ = 1) :
  T = 1 :=
begin
  ext ψ,
  simp only [linear_map.one_apply],
  have : inner_product_space.is_self_adjoint T,
  { sorry },
  sorry,
end

Monica Omar (May 26 2022 at 11:41):

How do you go about proving that?

Ruben Van de Velde (May 26 2022 at 11:45):

I don't know, that's what you said the proof was :)

Ruben Van de Velde (May 26 2022 at 12:34):

I managed a proof starting with

  rw [sub_eq_zero, inner_map_self_eq_zero],

but perhaps that's cheating

Monica Omar (May 26 2022 at 13:03):

Oh, yeah. That does work:

lemma bounded_op_eq_one_if_norm_is_one (h :  ψ : H,ψ∥=1) (h' :  ψ : H, ψ,T ψ_ℂ = 1) : T = 1 :=
 begin
   rw [sub_eq_zero, inner_map_self_eq_zero],
   intro ψ,
   have t12 :=
    calc ψ,ψ_ℂ = ψ∥^2 : by simp [inner_self_eq_norm_sq_to_K]
             ... = 1 : by simp [h ψ],
   simp [inner_sub_left],
   rw [ inner_conj_sym,h' ψ,t12],
   simp,
end

Kevin Buzzard (May 26 2022 at 14:17):

Nice!

Kevin Buzzard (May 26 2022 at 14:19):

Wait -- does this say "assume the false statement that everything in H has norm 1" though? I have not used this stuff before but it might be good to get the statement straight. I think Ruben's version looks ok but I am a bit suspicious of Monica's.

Ruben Van de Velde (May 26 2022 at 14:32):

Oh, that explains why your version is quite a bit shorter than mine :)

Monica Omar (May 26 2022 at 16:27):

Oh, wait. Yeah, I was using my old statement.

Monica Omar (May 26 2022 at 16:27):

Ruben Van de Velde said:

Oh, that explains why your version is quite a bit shorter than mine :)

How did you go about proving it with your statement, then?

Ruben Van de Velde (May 26 2022 at 19:06):

This is the structure I ended up with - you might try to finish it from here

lemma bounded_op_eq_one_if_norm_is_one (h :  (ψ : H), ψ = 1  ψ, T ψ_ℂ = 1) :
  T = 1 :=
begin
  rw [sub_eq_zero, inner_map_self_eq_zero],
  intro ψ,
  obtain rfl| := eq_or_ne ψ 0,
  { sorry },
  obtain φ, n, , rfl :  φ (r : ), φ = 1  ψ = (r : )  φ,
  { sorry },
  suffices : (T - 1) φ, φ_ℂ = 0,
  { sorry },
  sorry,
end

Monica Omar (May 28 2022 at 17:07):

@Ruben Van de Velde I tried with your structure, but I'm stuck here

lemma bounded_op_eq_one_if_norm_is_one (h :  (ψ : H), ψ = 1  ψ, T ψ_ℂ = 1) :
  T = 1 :=
begin
  rw [sub_eq_zero, inner_map_self_eq_zero],
  intro ψ,
  obtain rfl| := eq_or_ne ψ 0,
  { simp },
  obtain φ, n, , rfl :  φ (r : ), φ = 1  ψ = (r : )  φ,
  {
    use ψ,
    use 1,
    refine _,by finish⟩,
    sorry,
     },
  suffices : (T - 1) φ, φ_ℂ = 0,
  {
    rw [inner_smul_right],
    have t2 : conj n * (T-1) φ,φ_ℂ = conj n * 0 := by rw this,
    rw  inner_smul_left at t2,
    have t3 : ⟪↑n  (T-1) φ,φ_ℂ = (T-1) (n  φ),φ_ℂ := sorry,
    rw [ t3,t2],
    norm_num,
     },
  simp [inner_sub_left],
  rw [inner_self_eq_norm_sq_to_K, , inner_conj_sym (T φ) φ, h φ ],
  norm_num,
end

Kevin Buzzard (May 28 2022 at 18:12):

    have t3 : ⟪↑n  (T-1) φ,φ_ℂ = (T-1) (n  φ),φ_ℂ,
    { rw linear_map.map_smul, },

Kevin Buzzard (May 28 2022 at 18:13):

The only reason the terms on either side of the = are different is that you are taking a scalar multiplication (smul) out of an application (map) of a linear map. Now you can guess the name of the lemma which gets you home.


Last updated: Dec 20 2023 at 11:08 UTC