mathlib3 documentation

algebra.algebra.spectrum

Spectrum of an element in an algebra #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4. This file develops the basic theory of the spectrum of an element of an algebra. This theory will serve as the foundation for spectral theory in Banach algebras.

Main definitions #

Main statements #

Notations #

def resolvent_set (R : Type u) {A : Type v} [comm_semiring R] [ring A] [algebra R A] (a : A) :
set R

Given a commutative ring R and an R-algebra A, the resolvent set of a : A is the set R consisting of those r : R for which r•1 - a is a unit of the algebra A.

Equations
def spectrum (R : Type u) {A : Type v} [comm_semiring R] [ring A] [algebra R A] (a : A) :
set R

Given a commutative ring R and an R-algebra A, the spectrum of a : A is the set R consisting of those r : R for which r•1 - a is not a unit of the algebra A.

The spectrum is simply the complement of the resolvent set.

Equations
noncomputable def resolvent {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] (a : A) (r : R) :
A

Given an a : A where A is an R-algebra, the resolvent is a map R → A which sends r : R to (algebra_map R A r - a)⁻¹ when r ∈ resolvent R A and 0 when r ∈ spectrum R A.

Equations
@[simp]
theorem is_unit.coe_inv_sub_inv_smul {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : Rˣ} {s : R} {a : A} (h : is_unit (r (algebra_map R A) s - a)) :
noncomputable def is_unit.sub_inv_smul {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : Rˣ} {s : R} {a : A} (h : is_unit (r (algebra_map R A) s - a)) :

The unit 1 - r⁻¹ • a constructed from r • 1 - a when the latter is a unit.

Equations
@[simp]
theorem is_unit.coe_sub_inv_smul {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : Rˣ} {s : R} {a : A} (h : is_unit (r (algebra_map R A) s - a)) :
theorem spectrum.mem_iff {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : R} {a : A} :
theorem spectrum.not_mem_iff {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : R} {a : A} :
theorem spectrum.zero_mem_iff (R : Type u) {A : Type v} [comm_semiring R] [ring A] [algebra R A] {a : A} :
theorem spectrum.zero_not_mem_iff (R : Type u) {A : Type v} [comm_semiring R] [ring A] [algebra R A] {a : A} :
theorem spectrum.mem_resolvent_set_of_left_right_inverse {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : R} {a b c : A} (h₁ : ((algebra_map R A) r - a) * b = 1) (h₂ : c * ((algebra_map R A) r - a) = 1) :
theorem spectrum.mem_resolvent_set_iff {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : R} {a : A} :
@[simp]
@[simp]
theorem spectrum.of_subsingleton {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] [subsingleton A] (a : A) :
theorem spectrum.resolvent_eq {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {a : A} {r : R} (h : r resolvent_set R a) :
theorem spectrum.units_smul_resolvent {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : Rˣ} {s : R} {a : A} :
theorem spectrum.units_smul_resolvent_self {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : Rˣ} {a : A} :
theorem spectrum.is_unit_resolvent {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : R} {a : A} :

The resolvent is a unit when the argument is in the resolvent set.

theorem spectrum.inv_mem_resolvent_set {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : Rˣ} {a : Aˣ} (h : r resolvent_set R a) :
theorem spectrum.inv_mem_iff {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {r : Rˣ} {a : Aˣ} :
theorem spectrum.ne_zero_of_mem_of_unit {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {a : Aˣ} {r : R} (hr : r spectrum R a) :
r 0
theorem spectrum.add_mem_iff {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {a : A} {r s : R} :
r + s spectrum R a r spectrum R (-(algebra_map R A) s + a)
theorem spectrum.add_mem_add_iff {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {a : A} {r s : R} :
r + s spectrum R ((algebra_map R A) s + a) r spectrum R a
theorem spectrum.smul_mem_smul_iff {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {a : A} {s : R} {r : Rˣ} :
r s spectrum R (r a) s spectrum R a
theorem spectrum.unit_smul_eq_smul {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] (a : A) (r : Rˣ) :
spectrum R (r a) = r spectrum R a
theorem spectrum.unit_mem_mul_iff_mem_swap_mul {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {a b : A} {r : Rˣ} :
r spectrum R (a * b) r spectrum R (b * a)
theorem spectrum.preimage_units_mul_eq_swap_mul {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] {a b : A} :
@[protected]
theorem spectrum.map_star {R : Type u} {A : Type v} [comm_semiring R] [ring A] [algebra R A] [has_involutive_star R] [star_ring A] [star_module R A] (a : A) :
theorem spectrum.subset_subalgebra {R : Type u} {A : Type v} [comm_ring R] [ring A] [algebra R A] {S : subalgebra R A} (a : S) :
theorem spectrum.subset_star_subalgebra {R : Type u} {A : Type v} [comm_ring R] [ring A] [algebra R A] [star_ring R] [star_ring A] [star_module R A] {S : star_subalgebra R A} (a : S) :
theorem spectrum.singleton_add_eq {R : Type u} {A : Type v} [comm_ring R] [ring A] [algebra R A] (a : A) (r : R) :
{r} + spectrum R a = spectrum R ((algebra_map R A) r + a)
theorem spectrum.add_singleton_eq {R : Type u} {A : Type v} [comm_ring R] [ring A] [algebra R A] (a : A) (r : R) :
spectrum R a + {r} = spectrum R (a + (algebra_map R A) r)
theorem spectrum.vadd_eq {R : Type u} {A : Type v} [comm_ring R] [ring A] [algebra R A] (a : A) (r : R) :
r +ᵥ spectrum R a = spectrum R ((algebra_map R A) r + a)
theorem spectrum.neg_eq {R : Type u} {A : Type v} [comm_ring R] [ring A] [algebra R A] (a : A) :
theorem spectrum.singleton_sub_eq {R : Type u} {A : Type v} [comm_ring R] [ring A] [algebra R A] (a : A) (r : R) :
{r} - spectrum R a = spectrum R ((algebra_map R A) r - a)
theorem spectrum.sub_singleton_eq {R : Type u} {A : Type v} [comm_ring R] [ring A] [algebra R A] (a : A) (r : R) :
spectrum R a - {r} = spectrum R (a - (algebra_map R A) r)
@[simp]
theorem spectrum.zero_eq {𝕜 : Type u} {A : Type v} [field 𝕜] [ring A] [algebra 𝕜 A] [nontrivial A] :
spectrum 𝕜 0 = {0}

Without the assumption nontrivial A, then 0 : A would be invertible.

@[simp]
theorem spectrum.scalar_eq {𝕜 : Type u} {A : Type v} [field 𝕜] [ring A] [algebra 𝕜 A] [nontrivial A] (k : 𝕜) :
spectrum 𝕜 ((algebra_map 𝕜 A) k) = {k}
@[simp]
theorem spectrum.one_eq {𝕜 : Type u} {A : Type v} [field 𝕜] [ring A] [algebra 𝕜 A] [nontrivial A] :
spectrum 𝕜 1 = {1}
theorem spectrum.smul_eq_smul {𝕜 : Type u} {A : Type v} [field 𝕜] [ring A] [algebra 𝕜 A] [nontrivial A] (k : 𝕜) (a : A) (ha : (spectrum 𝕜 a).nonempty) :
spectrum 𝕜 (k a) = k spectrum 𝕜 a

the assumption (σ a).nonempty is necessary and cannot be removed without further conditions on the algebra A and scalar field 𝕜.

theorem spectrum.nonzero_mul_eq_swap_mul {𝕜 : Type u} {A : Type v} [field 𝕜] [ring A] [algebra 𝕜 A] (a b : A) :
spectrum 𝕜 (a * b) \ {0} = spectrum 𝕜 (b * a) \ {0}
@[protected]
theorem spectrum.map_inv {𝕜 : Type u} {A : Type v} [field 𝕜] [ring A] [algebra 𝕜 A] (a : Aˣ) :
theorem alg_hom.mem_resolvent_set_apply {F : Type u_1} {R : Type u_2} {A : Type u_3} {B : Type u_4} [comm_semiring R] [ring A] [algebra R A] [ring B] [algebra R B] [alg_hom_class F R A B] (φ : F) {a : A} {r : R} (h : r resolvent_set R a) :
theorem alg_hom.spectrum_apply_subset {F : Type u_1} {R : Type u_2} {A : Type u_3} {B : Type u_4} [comm_semiring R] [ring A] [algebra R A] [ring B] [algebra R B] [alg_hom_class F R A B] (φ : F) (a : A) :
spectrum R (φ a) spectrum R a
theorem alg_hom.apply_mem_spectrum {F : Type u_1} {R : Type u_2} {A : Type u_3} [comm_ring R] [ring A] [algebra R A] [alg_hom_class F R A R] [nontrivial R] (φ : F) (a : A) :
φ a spectrum R a