@@ -4,14 +4,15 @@ Released under Apache 2.0 license as described in the file LICENSE.
44Authors: Jireh Loreaux
55-/
66import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum
7- import Mathlib.FieldTheory.IsAlgClosed.Spectrum
7+ import Mathlib.Analysis.Analytic.RadiusLiminf
88import Mathlib.Analysis.Complex.Liouville
99import Mathlib.Analysis.Complex.Polynomial.Basic
10- import Mathlib.Analysis.Analytic.RadiusLiminf
11- import Mathlib.Topology.Algebra.Module.CharacterSpace
1210import Mathlib.Analysis.Normed.Algebra.Exponential
1311import Mathlib.Analysis.Normed.Algebra.UnitizationL1
12+ import Mathlib.Data.Real.Spectrum
13+ import Mathlib.FieldTheory.IsAlgClosed.Spectrum
1414import Mathlib.Tactic.ContinuousFunctionalCalculus
15+ import Mathlib.Topology.Algebra.Module.CharacterSpace
1516
1617/-!
1718# The spectrum of elements in a complete normed algebra
@@ -780,45 +781,6 @@ lemma spectralRadius_eq {𝕜₁ 𝕜₂ A : Type*} [NormedField 𝕜₁] [Norme
780781
781782variable {A : Type *} [Ring A]
782783
783- lemma nnreal_iff [Algebra ℝ A] {a : A} :
784- SpectrumRestricts a ContinuousMap.realToNNReal ↔ ∀ x ∈ spectrum ℝ a, 0 ≤ x := by
785- refine ⟨fun h x hx ↦ ?_, fun h ↦ ?_⟩
786- · obtain ⟨x, -, rfl⟩ := h.algebraMap_image.symm ▸ hx
787- exact coe_nonneg x
788- · exact .of_subset_range_algebraMap (fun _ ↦ Real.toNNReal_coe) fun x hx ↦ ⟨⟨x, h x hx⟩, rfl⟩
789-
790- lemma nnreal_of_nonneg {A : Type *} [Ring A] [PartialOrder A] [Algebra ℝ A]
791- [NonnegSpectrumClass ℝ A] {a : A} (ha : 0 ≤ a) :
792- SpectrumRestricts a ContinuousMap.realToNNReal :=
793- nnreal_iff.mpr <| spectrum_nonneg_of_nonneg ha
794-
795- lemma real_iff [Algebra ℂ A] {a : A} :
796- SpectrumRestricts a Complex.reCLM ↔ ∀ x ∈ spectrum ℂ a, x = x.re := by
797- refine ⟨fun h x hx ↦ ?_, fun h ↦ ?_⟩
798- · obtain ⟨x, -, rfl⟩ := h.algebraMap_image.symm ▸ hx
799- simp
800- · exact .of_subset_range_algebraMap Complex.ofReal_re fun x hx ↦ ⟨x.re, (h x hx).symm⟩
801-
802- lemma nnreal_le_iff [Algebra ℝ A] {a : A}
803- (ha : SpectrumRestricts a ContinuousMap.realToNNReal) {r : ℝ≥0 } :
804- (∀ x ∈ spectrum ℝ≥0 a, r ≤ x) ↔ ∀ x ∈ spectrum ℝ a, r ≤ x := by
805- simp [← ha.algebraMap_image]
806-
807- lemma nnreal_lt_iff [Algebra ℝ A] {a : A}
808- (ha : SpectrumRestricts a ContinuousMap.realToNNReal) {r : ℝ≥0 } :
809- (∀ x ∈ spectrum ℝ≥0 a, r < x) ↔ ∀ x ∈ spectrum ℝ a, r < x := by
810- simp [← ha.algebraMap_image]
811-
812- lemma le_nnreal_iff [Algebra ℝ A] {a : A}
813- (ha : SpectrumRestricts a ContinuousMap.realToNNReal) {r : ℝ≥0 } :
814- (∀ x ∈ spectrum ℝ≥0 a, x ≤ r) ↔ ∀ x ∈ spectrum ℝ a, x ≤ r := by
815- simp [← ha.algebraMap_image]
816-
817- lemma lt_nnreal_iff [Algebra ℝ A] {a : A}
818- (ha : SpectrumRestricts a ContinuousMap.realToNNReal) {r : ℝ≥0 } :
819- (∀ x ∈ spectrum ℝ≥0 a, x < r) ↔ ∀ x ∈ spectrum ℝ a, x < r := by
820- simp [← ha.algebraMap_image]
821-
822784lemma nnreal_iff_spectralRadius_le [Algebra ℝ A] {a : A} {t : ℝ≥0 } (ht : spectralRadius ℝ a ≤ t) :
823785 SpectrumRestricts a ContinuousMap.realToNNReal ↔
824786 spectralRadius ℝ (algebraMap ℝ A t - a) ≤ t := by
@@ -879,39 +841,4 @@ lemma compactSpace {R S A : Type*} [Semifield R] [Field S] [NonUnitalRing A]
879841 rw [← isCompact_iff_compactSpace] at h_cpct ⊢
880842 exact h.image ▸ h_cpct.image (map_continuous f)
881843
882- variable {A : Type *} [NonUnitalRing A]
883-
884- lemma nnreal_iff [Module ℝ A] [IsScalarTower ℝ A A] [SMulCommClass ℝ A A] {a : A} :
885- QuasispectrumRestricts a ContinuousMap.realToNNReal ↔ ∀ x ∈ σₙ ℝ a, 0 ≤ x := by
886- rw [quasispectrumRestricts_iff_spectrumRestricts_inr,
887- Unitization.quasispectrum_eq_spectrum_inr' _ ℝ, SpectrumRestricts.nnreal_iff]
888-
889- lemma nnreal_of_nonneg [Module ℝ A] [IsScalarTower ℝ A A] [SMulCommClass ℝ A A] [PartialOrder A]
890- [NonnegSpectrumClass ℝ A] {a : A} (ha : 0 ≤ a) :
891- QuasispectrumRestricts a ContinuousMap.realToNNReal :=
892- nnreal_iff.mpr <| quasispectrum_nonneg_of_nonneg _ ha
893-
894- lemma real_iff [Module ℂ A] [IsScalarTower ℂ A A] [SMulCommClass ℂ A A] {a : A} :
895- QuasispectrumRestricts a Complex.reCLM ↔ ∀ x ∈ σₙ ℂ a, x = x.re := by
896- rw [quasispectrumRestricts_iff_spectrumRestricts_inr,
897- Unitization.quasispectrum_eq_spectrum_inr' _ ℂ, SpectrumRestricts.real_iff]
898-
899- lemma le_nnreal_iff [Module ℝ A] [IsScalarTower ℝ A A] [SMulCommClass ℝ A A] {a : A}
900- (ha : QuasispectrumRestricts a ContinuousMap.realToNNReal) {r : ℝ≥0 } :
901- (∀ x ∈ quasispectrum ℝ≥0 a, x ≤ r) ↔ ∀ x ∈ quasispectrum ℝ a, x ≤ r := by
902- simp [← ha.algebraMap_image]
903-
904- lemma lt_nnreal_iff [Module ℝ A] [IsScalarTower ℝ A A] [SMulCommClass ℝ A A] {a : A}
905- (ha : QuasispectrumRestricts a ContinuousMap.realToNNReal) {r : ℝ≥0 } :
906- (∀ x ∈ quasispectrum ℝ≥0 a, x < r) ↔ ∀ x ∈ quasispectrum ℝ a, x < r := by
907- simp [← ha.algebraMap_image]
908-
909844end QuasispectrumRestricts
910-
911- variable {A : Type *} [Ring A] [PartialOrder A]
912-
913- lemma coe_mem_spectrum_real_of_nonneg [Algebra ℝ A] [NonnegSpectrumClass ℝ A] {a : A} {x : ℝ≥0 }
914- (ha : 0 ≤ a := by cfc_tac) :
915- (x : ℝ) ∈ spectrum ℝ a ↔ x ∈ spectrum ℝ≥0 a := by
916- simp [← (SpectrumRestricts.nnreal_of_nonneg ha).algebraMap_image, Set.mem_image,
917- NNReal.algebraMap_eq_coe]
0 commit comments