Skip to content

Commit 348319e

Browse files
committed
new file
1 parent db778b5 commit 348319e

4 files changed

Lines changed: 44 additions & 21 deletions

File tree

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1583,6 +1583,7 @@ import Mathlib.Analysis.Complex.ReImTopology
15831583
import Mathlib.Analysis.Complex.RealDeriv
15841584
import Mathlib.Analysis.Complex.RemovableSingularity
15851585
import Mathlib.Analysis.Complex.Schwarz
1586+
import Mathlib.Analysis.Complex.Spectrum
15861587
import Mathlib.Analysis.Complex.TaylorSeries
15871588
import Mathlib.Analysis.Complex.Tietze
15881589
import Mathlib.Analysis.Complex.Trigonometric
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/-
2+
Copyright (c) 2021 Jireh Loreaux. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Jireh Loreaux
5+
-/
6+
import Mathlib.Analysis.Complex.Basic
7+
import Mathlib.Data.Real.Spectrum
8+
9+
/-!
10+
# Some lemmas on the spectrum and quasispectrum of elements and positivity on `ℂ`
11+
12+
-/
13+
14+
namespace SpectrumRestricts
15+
variable {A : Type*} [Ring A]
16+
17+
lemma real_iff [Algebra ℂ A] {a : A} :
18+
SpectrumRestricts a Complex.reCLM ↔ ∀ x ∈ spectrum ℂ a, x = x.re := by
19+
refine ⟨fun h x hx ↦ ?_, fun h ↦ ?_⟩
20+
· obtain ⟨x, -, rfl⟩ := h.algebraMap_image.symm ▸ hx
21+
simp
22+
· exact .of_subset_range_algebraMap Complex.ofReal_re fun x hx ↦ ⟨x.re, (h x hx).symm⟩
23+
24+
end SpectrumRestricts
25+
26+
namespace QuasispectrumRestricts
27+
local notation "σₙ" => quasispectrum
28+
variable {A : Type*} [NonUnitalRing A]
29+
30+
lemma real_iff [Module ℂ A] [IsScalarTower ℂ A A] [SMulCommClass ℂ A A] {a : A} :
31+
QuasispectrumRestricts a Complex.reCLM ↔ ∀ x ∈ σₙ ℂ a, x = x.re := by
32+
rw [quasispectrumRestricts_iff_spectrumRestricts_inr,
33+
Unitization.quasispectrum_eq_spectrum_inr' _ ℂ, SpectrumRestricts.real_iff]
34+
35+
end QuasispectrumRestricts

Mathlib/Analysis/Normed/Algebra/Spectrum.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum
77
import Mathlib.Analysis.Analytic.RadiusLiminf
88
import Mathlib.Analysis.Complex.Liouville
99
import Mathlib.Analysis.Complex.Polynomial.Basic
10+
import Mathlib.Analysis.Complex.Spectrum
1011
import Mathlib.Analysis.Normed.Algebra.Exponential
1112
import Mathlib.Analysis.Normed.Algebra.UnitizationL1
1213
import Mathlib.Data.Real.Spectrum

Mathlib/Data/Real/Spectrum.lean

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Jireh Loreaux
55
-/
66
import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum
7-
import Mathlib.Analysis.Complex.Basic
87
import Mathlib.Data.Complex.Basic
98
import Mathlib.Topology.Instances.NNReal.Lemmas
109

@@ -17,43 +16,35 @@ namespace SpectrumRestricts
1716

1817
open NNReal ENNReal
1918

20-
variable {A : Type*} [Ring A]
19+
variable {A : Type*} [Ring A] [Algebra ℝ A]
2120

22-
lemma nnreal_iff [Algebra ℝ A] {a : A} :
21+
lemma nnreal_iff {a : A} :
2322
SpectrumRestricts a ContinuousMap.realToNNReal ↔ ∀ x ∈ spectrum ℝ a, 0 ≤ x := by
2423
refine ⟨fun h x hx ↦ ?_, fun h ↦ ?_⟩
2524
· obtain ⟨x, -, rfl⟩ := h.algebraMap_image.symm ▸ hx
2625
exact coe_nonneg x
2726
· exact .of_subset_range_algebraMap (fun _ ↦ Real.toNNReal_coe) fun x hx ↦ ⟨⟨x, h x hx⟩, rfl⟩
2827

29-
lemma nnreal_of_nonneg {A : Type*} [Ring A] [PartialOrder A] [Algebra ℝ A]
30-
[NonnegSpectrumClass ℝ A] {a : A} (ha : 0 ≤ a) :
28+
lemma nnreal_of_nonneg [PartialOrder A] [NonnegSpectrumClass ℝ A] {a : A} (ha : 0 ≤ a) :
3129
SpectrumRestricts a ContinuousMap.realToNNReal :=
3230
nnreal_iff.mpr <| spectrum_nonneg_of_nonneg ha
3331

34-
lemma real_iff [Algebra ℂ A] {a : A} :
35-
SpectrumRestricts a Complex.reCLM ↔ ∀ x ∈ spectrum ℂ a, x = x.re := by
36-
refine ⟨fun h x hx ↦ ?_, fun h ↦ ?_⟩
37-
· obtain ⟨x, -, rfl⟩ := h.algebraMap_image.symm ▸ hx
38-
simp
39-
· exact .of_subset_range_algebraMap Complex.ofReal_re fun x hx ↦ ⟨x.re, (h x hx).symm⟩
40-
41-
lemma nnreal_le_iff [Algebra ℝ A] {a : A}
32+
lemma nnreal_le_iff {a : A}
4233
(ha : SpectrumRestricts a ContinuousMap.realToNNReal) {r : ℝ≥0} :
4334
(∀ x ∈ spectrum ℝ≥0 a, r ≤ x) ↔ ∀ x ∈ spectrum ℝ a, r ≤ x := by
4435
simp [← ha.algebraMap_image]
4536

46-
lemma nnreal_lt_iff [Algebra ℝ A] {a : A}
37+
lemma nnreal_lt_iff {a : A}
4738
(ha : SpectrumRestricts a ContinuousMap.realToNNReal) {r : ℝ≥0} :
4839
(∀ x ∈ spectrum ℝ≥0 a, r < x) ↔ ∀ x ∈ spectrum ℝ a, r < x := by
4940
simp [← ha.algebraMap_image]
5041

51-
lemma le_nnreal_iff [Algebra ℝ A] {a : A}
42+
lemma le_nnreal_iff {a : A}
5243
(ha : SpectrumRestricts a ContinuousMap.realToNNReal) {r : ℝ≥0} :
5344
(∀ x ∈ spectrum ℝ≥0 a, x ≤ r) ↔ ∀ x ∈ spectrum ℝ a, x ≤ r := by
5445
simp [← ha.algebraMap_image]
5546

56-
lemma lt_nnreal_iff [Algebra ℝ A] {a : A}
47+
lemma lt_nnreal_iff {a : A}
5748
(ha : SpectrumRestricts a ContinuousMap.realToNNReal) {r : ℝ≥0} :
5849
(∀ x ∈ spectrum ℝ≥0 a, x < r) ↔ ∀ x ∈ spectrum ℝ a, x < r := by
5950
simp [← ha.algebraMap_image]
@@ -77,11 +68,6 @@ lemma nnreal_of_nonneg [Module ℝ A] [IsScalarTower ℝ A A] [SMulCommClass ℝ
7768
QuasispectrumRestricts a ContinuousMap.realToNNReal :=
7869
nnreal_iff.mpr <| quasispectrum_nonneg_of_nonneg _ ha
7970

80-
lemma real_iff [Module ℂ A] [IsScalarTower ℂ A A] [SMulCommClass ℂ A A] {a : A} :
81-
QuasispectrumRestricts a Complex.reCLM ↔ ∀ x ∈ σₙ ℂ a, x = x.re := by
82-
rw [quasispectrumRestricts_iff_spectrumRestricts_inr,
83-
Unitization.quasispectrum_eq_spectrum_inr' _ ℂ, SpectrumRestricts.real_iff]
84-
8571
lemma le_nnreal_iff [Module ℝ A] [IsScalarTower ℝ A A] [SMulCommClass ℝ A A] {a : A}
8672
(ha : QuasispectrumRestricts a ContinuousMap.realToNNReal) {r : ℝ≥0} :
8773
(∀ x ∈ quasispectrum ℝ≥0 a, x ≤ r) ↔ ∀ x ∈ quasispectrum ℝ a, x ≤ r := by

0 commit comments

Comments
 (0)