Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 99c634c

Browse files
committed
feat(analysis/normed_space/spectrum): adds easy direction of Gelfand's formula for the spectral radius (#10847)
This adds the easy direction (i.e., an inequality) of Gelfand's formula for the spectral radius. Namely, we prove that `spectral_radius 𝕜 a ≤ ∥a ^ (n + 1)∥₊ ^ (1 / (n + 1) : ℝ)` for all `n : ℕ` using the spectral mapping theorem for polynomials. - [x] depends on: #10783
1 parent ffbab0d commit 99c634c

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

src/analysis/normed/group/basic.lean

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,9 @@ instance semi_normed_group.to_has_nnnorm : has_nnnorm E := ⟨λ a, ⟨norm a, n
543543

544544
@[simp, norm_cast] lemma coe_nnnorm (a : E) : (∥a∥₊ : ℝ) = norm a := rfl
545545

546+
lemma norm_to_nnreal {a : E} : ∥a∥.to_nnreal = ∥a∥₊ :=
547+
@real.to_nnreal_coe ∥a∥₊
548+
546549
lemma nndist_eq_nnnorm (a b : E) : nndist a b = ∥a - b∥₊ := nnreal.eq $ dist_eq_norm _ _
547550

548551
@[simp] lemma nnnorm_zero : ∥(0 : E)∥₊ = 0 :=

src/analysis/normed_space/spectrum.lean

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Authors: Jireh Loreaux
55
-/
66
import algebra.algebra.spectrum
77
import analysis.calculus.deriv
8+
import analysis.special_functions.pow
89
/-!
910
# The spectrum of elements in a complete normed algebra
1011
@@ -87,11 +88,26 @@ metric.is_compact_of_is_closed_bounded (is_closed a) (is_bounded a)
8788

8889
theorem spectral_radius_le_nnnorm (a : A) :
8990
spectral_radius 𝕜 a ≤ ∥a∥₊ :=
91+
by { refine bsupr_le (λ k hk, _), exact_mod_cast norm_le_norm_of_mem hk }
92+
93+
open ennreal polynomial
94+
95+
theorem spectral_radius_le_pow_nnnorm_pow_one_div (a : A) (n : ℕ) :
96+
spectral_radius 𝕜 a ≤ ∥a ^ (n + 1)∥₊ ^ (1 / (n + 1) : ℝ) :=
9097
begin
91-
suffices h : ∀ k ∈ σ a, (∥k∥₊ : ℝ≥0∞) ≤ ∥a∥₊,
92-
{ exact bsupr_le h, },
93-
{ intros _ hk,
94-
exact_mod_cast norm_le_norm_of_mem hk },
98+
refine bsupr_le (λ k hk, _),
99+
/- apply easy direction of the spectral mapping theorem for polynomials -/
100+
have pow_mem : k ^ (n + 1) ∈ σ (a ^ (n + 1)),
101+
by simpa only [one_mul, algebra.algebra_map_eq_smul_one, one_smul, aeval_monomial, one_mul,
102+
eval_monomial] using subset_polynomial_aeval a (monomial (n + 1) (1 : 𝕜)) ⟨k, hk, rfl⟩,
103+
/- power of the norm is bounded by norm of the power -/
104+
have nnnorm_pow_le : (↑(∥k∥₊ ^ (n + 1)) : ℝ≥0∞) ≤ ↑∥a ^ (n + 1)∥₊,
105+
by simpa only [norm_to_nnreal, normed_field.nnnorm_pow k (n+1)]
106+
using coe_mono (real.to_nnreal_mono (norm_le_norm_of_mem pow_mem)),
107+
/- take (n + 1)ᵗʰ roots and clean up the left-hand side -/
108+
have hn : 0 < ((n + 1) : ℝ), by exact_mod_cast nat.succ_pos',
109+
convert monotone_rpow_of_nonneg (one_div_pos.mpr hn).le nnnorm_pow_le,
110+
erw [coe_pow, ←rpow_nat_cast, ←rpow_mul, mul_one_div_cancel hn.ne', rpow_one],
95111
end
96112

97113
end spectrum_compact

0 commit comments

Comments
 (0)