mathlib documentation

linear_algebra.eigenspace

Eigenvectors and eigenvalues #

This file defines eigenspaces, eigenvalues, and eigenvalues, as well as their generalized counterparts. We follow Axler's approach [Axl15] because it allows us to derive many properties without choosing a basis and without using matrices.

An eigenspace of a linear map f for a scalar μ is the kernel of the map (f - μ • id). The nonzero elements of an eigenspace are eigenvectors x. They have the property f x = μ • x. If there are eigenvectors for a scalar μ, the scalar μ is called an eigenvalue.

There is no consensus in the literature whether 0 is an eigenvector. Our definition of has_eigenvector permits only nonzero vectors. For an eigenvector x that may also be 0, we write x ∈ f.eigenspace μ.

A generalized eigenspace of a linear map f for a natural number k and a scalar μ is the kernel of the map (f - μ • id) ^ k. The nonzero elements of a generalized eigenspace are generalized eigenvectors x. If there are generalized eigenvectors for a natural number k and a scalar μ, the scalar μ is called a generalized eigenvalue.

References #

Tags #

eigenspace, eigenvector, eigenvalue, eigen

def module.End.eigenspace {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (μ : R) :

The submodule eigenspace f μ for a linear map f and a scalar μ consists of all vectors x such that f x = μ • x. (Def 5.36 of [Axl15])

Equations
@[simp]
theorem module.End.eigenspace_zero {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) :
def module.End.has_eigenvector {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (μ : R) (x : M) :
Prop

A nonzero element of an eigenspace is an eigenvector. (Def 5.7 of [Axl15])

Equations
def module.End.has_eigenvalue {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (a : R) :
Prop

A scalar μ is an eigenvalue for a linear map f if there are nonzero vectors x such that f x = μ • x. (Def 5.5 of [Axl15])

Equations
def module.End.eigenvalues {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) :
Type v

The eigenvalues of the endomorphism f, as a subtype of R.

Equations
Instances for module.End.eigenvalues
@[protected, instance]
def module.End.has_coe {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) :
Equations
theorem module.End.has_eigenvalue_of_has_eigenvector {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {μ : R} {x : M} (h : f.has_eigenvector μ x) :
theorem module.End.mem_eigenspace_iff {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {μ : R} {x : M} :
x f.eigenspace μ f x = μ x
theorem module.End.has_eigenvector.apply_eq_smul {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {μ : R} {x : M} (hx : f.has_eigenvector μ x) :
f x = μ x
theorem module.End.has_eigenvalue.exists_has_eigenvector {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {μ : R} (hμ : f.has_eigenvalue μ) :
∃ (v : M), f.has_eigenvector μ v
theorem module.End.mem_spectrum_of_has_eigenvalue {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {μ : R} (hμ : f.has_eigenvalue μ) :
μ spectrum R f
theorem module.End.has_eigenvalue_iff_mem_spectrum {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] [finite_dimensional K V] {f : module.End K V} {μ : K} :
theorem module.End.eigenspace_div {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] (f : module.End K V) (a b : K) (hb : b 0) :
theorem module.End.eigenspace_aeval_polynomial_degree_1 {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] (f : module.End K V) (q : polynomial K) (hq : q.degree = 1) :
theorem module.End.aeval_apply_of_has_eigenvector {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] {f : module.End K V} {p : polynomial K} {μ : K} {x : V} (h : f.has_eigenvector μ x) :
theorem module.End.is_root_of_has_eigenvalue {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] {f : module.End K V} {μ : K} (h : f.has_eigenvalue μ) :
(minpoly K f).is_root μ
theorem module.End.has_eigenvalue_of_is_root {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] [finite_dimensional K V] {f : module.End K V} {μ : K} (h : (minpoly K f).is_root μ) :
theorem module.End.has_eigenvalue_iff_is_root {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] [finite_dimensional K V] {f : module.End K V} {μ : K} :
@[protected, instance]
noncomputable def module.End.eigenvalues.fintype {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] [finite_dimensional K V] (f : module.End K V) :

An endomorphism of a finite-dimensional vector space has finitely many eigenvalues.

Equations
theorem module.End.exists_eigenvalue {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] [is_alg_closed K] [finite_dimensional K V] [nontrivial V] (f : module.End K V) :
∃ (c : K), f.has_eigenvalue c

Every linear operator on a vector space over an algebraically closed field has an eigenvalue.

@[protected, instance]
noncomputable def module.End.eigenvalues.inhabited {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] [is_alg_closed K] [finite_dimensional K V] [nontrivial V] (f : module.End K V) :
Equations

The eigenspaces of a linear operator form an independent family of subspaces of V. That is, any eigenspace has trivial intersection with the span of all the other eigenspaces.

theorem module.End.eigenvectors_linear_independent {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] (f : module.End K V) (μs : set K) (xs : μs → V) (h_eigenvec : ∀ (μ : μs), f.has_eigenvector μ (xs μ)) :

Eigenvectors corresponding to distinct eigenvalues of a linear operator are linearly independent. (Lemma 5.10 of [Axl15])

We use the eigenvalues as indexing set to ensure that there is only one eigenvector for each eigenvalue in the image of xs.

def module.End.generalized_eigenspace {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (μ : R) :

The generalized eigenspace for a linear map f, a scalar μ, and an exponent k ∈ ℕ is the kernel of (f - μ • id) ^ k. (Def 8.10 of [Axl15]). Furthermore, a generalized eigenspace for some exponent k is contained in the generalized eigenspace for exponents larger than k.

Equations
@[simp]
theorem module.End.mem_generalized_eigenspace {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (μ : R) (k : ) (m : M) :
m (f.generalized_eigenspace μ) k ((f - μ 1) ^ k) m = 0
@[simp]
theorem module.End.generalized_eigenspace_zero {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (k : ) :
def module.End.has_generalized_eigenvector {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (μ : R) (k : ) (x : M) :
Prop

A nonzero element of a generalized eigenspace is a generalized eigenvector. (Def 8.9 of [Axl15])

Equations
def module.End.has_generalized_eigenvalue {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (μ : R) (k : ) :
Prop

A scalar μ is a generalized eigenvalue for a linear map f and an exponent k ∈ ℕ if there are generalized eigenvectors for f, k, and μ.

Equations
def module.End.generalized_eigenrange {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (μ : R) (k : ) :

The generalized eigenrange for a linear map f, a scalar μ, and an exponent k ∈ ℕ is the range of (f - μ • id) ^ k.

Equations
theorem module.End.exp_ne_zero_of_has_generalized_eigenvalue {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {μ : R} {k : } (h : f.has_generalized_eigenvalue μ k) :
k 0

The exponent of a generalized eigenvalue is never 0.

def module.End.maximal_generalized_eigenspace {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (μ : R) :

The union of the kernels of (f - μ • id) ^ k over all k.

Equations
theorem module.End.generalized_eigenspace_le_maximal {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (μ : R) (k : ) :
@[simp]
theorem module.End.mem_maximal_generalized_eigenspace {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (μ : R) (m : M) :
m f.maximal_generalized_eigenspace μ ∃ (k : ), ((f - μ 1) ^ k) m = 0
noncomputable def module.End.maximal_generalized_eigenspace_index {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (μ : R) :

If there exists a natural number k such that the kernel of (f - μ • id) ^ k is the maximal generalized eigenspace, then this value is the least such k. If not, this value is not meaningful.

Equations

For an endomorphism of a Noetherian module, the maximal eigenspace is always of the form kernel (f - μ • id) ^ k for some k.

theorem module.End.has_generalized_eigenvalue_of_has_generalized_eigenvalue_of_le {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {μ : R} {k m : } (hm : k m) (hk : f.has_generalized_eigenvalue μ k) :

A generalized eigenvalue for some exponent k is also a generalized eigenvalue for exponents larger than k.

theorem module.End.eigenspace_le_generalized_eigenspace {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {μ : R} {k : } (hk : 0 < k) :

The eigenspace is a subspace of the generalized eigenspace.

theorem module.End.has_generalized_eigenvalue_of_has_eigenvalue {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {μ : R} {k : } (hk : 0 < k) (hμ : f.has_eigenvalue μ) :

All eigenvalues are generalized eigenvalues.

theorem module.End.has_eigenvalue_of_has_generalized_eigenvalue {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {μ : R} {k : } (hμ : f.has_generalized_eigenvalue μ k) :

All generalized eigenvalues are eigenvalues.

@[simp]
theorem module.End.has_generalized_eigenvalue_iff_has_eigenvalue {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {μ : R} {k : } (hk : 0 < k) :

Generalized eigenvalues are actually just eigenvalues.

Every generalized eigenvector is a generalized eigenvector for exponent finrank K V. (Lemma 8.11 of [Axl15])

Generalized eigenspaces for exponents at least finrank K V are equal to each other.

theorem module.End.generalized_eigenspace_restrict {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) (p : submodule R M) (k : ) (μ : R) (hfp : ∀ (x : M), x pf x p) :

If f maps a subspace p into itself, then the generalized eigenspace of the restriction of f to p is the part of the generalized eigenspace of f that lies in p.

theorem module.End.eigenspace_restrict_le_eigenspace {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] (f : module.End R M) {p : submodule R M} (hfp : ∀ (x : M), x pf x p) (μ : R) :

If p is an invariant submodule of an endomorphism f, then the μ-eigenspace of the restriction of f to p is a submodule of the μ-eigenspace of f.

Generalized eigenrange and generalized eigenspace for exponent finrank K V are disjoint.

theorem module.End.eigenspace_restrict_eq_bot {R : Type v} {M : Type w} [comm_ring R] [add_comm_group M] [module R M] {f : module.End R M} {p : submodule R M} (hfp : ∀ (x : M), x pf x p) {μ : R} (hμp : disjoint (f.eigenspace μ) p) :

If an invariant subspace p of an endomorphism f is disjoint from the μ-eigenspace of f, then the restriction of f to p has trivial μ-eigenspace.

theorem module.End.pos_finrank_generalized_eigenspace_of_has_eigenvalue {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] [finite_dimensional K V] {f : module.End K V} {k : } {μ : K} (hx : f.has_eigenvalue μ) (hk : 0 < k) :

The generalized eigenspace of an eigenvalue has positive dimension for positive exponents.

theorem module.End.map_generalized_eigenrange_le {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] {f : module.End K V} {μ : K} {n : } :

A linear map maps a generalized eigenrange into itself.

theorem module.End.supr_generalized_eigenspace_eq_top {K : Type v} {V : Type w} [field K] [add_comm_group V] [module K V] [is_alg_closed K] [finite_dimensional K V] (f : module.End K V) :
(⨆ (μ : K) (k : ), (f.generalized_eigenspace μ) k) =

The generalized eigenvectors span the entire vector space (Lemma 8.21 of [Axl15]).