Skip to content

Commit 0e3a4d9

Browse files
committed
wip
1 parent 62a82d6 commit 0e3a4d9

1 file changed

Lines changed: 79 additions & 0 deletions

File tree

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
import Mathlib
2+
3+
-- let X be a Banach space
4+
variable {X : Type*} [NormedAddCommGroup X] [NormedSpace ℂ X]
5+
-- and T be a compact operator on it
6+
variable {T : X →L[ℂ] X} (hT : IsCompactOperator T)
7+
8+
open Module.End
9+
10+
open Filter Topology in
11+
theorem far_away {μ : ℂ} (hμ : μ ≠ 0) (hT : IsCompactOperator T)
12+
(h : ¬ HasEigenvalue (T : X →ₗ[ℂ] X) μ) :
13+
∃ c > 0, ∀ x, c * ‖x‖ ≤ ‖(T - μ • 1) x‖ := by
14+
-- By homogeneity, it suffices to establish the claim for unit vectors x.
15+
suffices ∃ c > 0, ∀ x, ‖x‖ = 1 → c ≤ ‖(T - μ • 1) x‖ by
16+
obtain ⟨c, hc', hc⟩ := this
17+
refine ⟨c, hc', fun x ↦ ?_⟩
18+
obtain h | h := eq_or_ne x 0
19+
· simp [h]
20+
simpa [norm_smul, le_inv_mul_iff₀', norm_pos_iff, h] using hc _ (norm_smul_inv_norm (𝕜 := ℂ) h)
21+
-- Suppose not, then we can find a sequence of unit vectors xₙ such that (T - μ • 1) xₙ → 0.
22+
by_contra!
23+
obtain ⟨φ, hφ_anti, hφ_pos, hφ⟩ := exists_seq_strictAnti_tendsto (0 : ℝ)
24+
have : ∀ n, ∃ x, ‖x‖ = 1 ∧ ‖(T - μ • 1) x‖ < φ n := by
25+
intro n
26+
exact this (φ n) (hφ_pos n)
27+
choose x hx_norm hx_bound using this
28+
have hx_lim : Tendsto (fun n ↦ (T - μ • 1) (x n)) atTop (𝓝 0) := squeeze_zero_norm (by grind) hφ
29+
-- Define the sequence of vectors yₙ := T xₙ
30+
let y_ (n : ℕ) : X := T (x n)
31+
-- which are bounded away from zero.
32+
have hy_lower : ∀ᶠ n in atTop, ‖μ‖ / 2 ≤ ‖y_ n‖ := by
33+
filter_upwards [hφ.eventually_le_const (show ‖μ‖ / 2 > 0 by positivity)] with n hn
34+
have h₁ : ‖T (x n) - μ • x n‖ < φ n := by simpa using hx_bound n
35+
have h₂ : ‖μ‖ ≤ ‖T (x n)‖ + ‖T (x n) - μ • x n‖ := by
36+
simpa [norm_smul, hx_norm] using norm_le_norm_add_norm_sub (T (x n)) (μ • x n)
37+
grind
38+
-- The sequence yₙ is contained in the image of the closed unit ball under T, which is compact,
39+
-- since T is, so we can extract a convergent subsequence, and say y_ (ψ n) → y.
40+
obtain ⟨K, hK, hK'⟩ := hT.image_closedBall_subset_compact 1
41+
obtain ⟨y, hyK, ψ, hψ, hψy⟩ := hK.tendsto_subseq (x := y_) (fun n ↦ hK' ⟨x n, by simp [*], rfl⟩)
42+
-- However (T - μ) yₙ = T (T - μ • 1) xₙ → 0
43+
have hy_lim : Tendsto (fun n ↦ (T - μ • 1) (y_ n)) atTop (nhds 0) := by
44+
have : Tendsto (fun n ↦ _) _ _ := T.continuous.continuousAt.tendsto.comp hx_lim
45+
simpa using this
46+
-- so (T - μ) y = 0.
47+
have hy_eigen' : (T - μ • 1) y = 0 := by
48+
apply tendsto_nhds_unique _ (hy_lim.comp hψ.tendsto_atTop)
49+
have : Continuous (T - μ • 1 : X →L[ℂ] X) := by fun_prop
50+
exact this.continuousAt.tendsto.comp hψy
51+
-- Since yₙ are bounded away from 0, we must have y ≠ 0.
52+
have hy_ne : y ≠ 0 := by
53+
rintro rfl
54+
suffices ∀ᶠ n : ℕ in atTop, False by rwa [eventually_const] at this
55+
rw [NormedAddCommGroup.tendsto_nhds_zero] at hψy
56+
specialize hψy (‖μ‖ / 2) (by positivity)
57+
filter_upwards [hψ.tendsto_atTop.eventually hy_lower, hψy] using by grind
58+
-- So y is an eigenvector of T with eigenvalue μ,
59+
have : HasEigenvector (T : X →ₗ[ℂ] X) μ y := by
60+
rw [hasEigenvector_iff]
61+
rw [mem_genEigenspace_one]
62+
simpa [hy_ne, sub_eq_zero] using hy_eigen'
63+
-- which is a contradiction.
64+
exact h (hasEigenvalue_of_hasEigenvector this)
65+
66+
theorem fredholm_alternative [CompleteSpace X] {μ : ℂ} (hμ : μ ≠ 0) :
67+
HasEigenvalue (T : X →ₗ[ℂ] X) μ ∨ μ ∈ resolventSet ℂ T := by
68+
by_contra!
69+
obtain ⟨h₁, h₂⟩ := this
70+
let S := (T - μ • 1)
71+
replace h₂ : ¬ (S : X → X).Bijective := by
72+
rw [spectrum.mem_resolventSet_iff, ← IsUnit.neg_iff,
73+
ContinuousLinearMap.isUnit_iff_bijective] at h₂
74+
convert h₂
75+
ext x
76+
simp [S]
77+
have : (S : X → X).Injective := by
78+
sorry
79+
sorry

0 commit comments

Comments
 (0)