Documentation

TauCeti.Analysis.Matrix.Eigenvalues.Basic

Perturbation bounds and rank cutoffs for sorted matrix eigenvalues #

For a Hermitian matrix over RCLike, an entrywise perturbation of size ε changes each sorted eigenvalue by at most card ι * ε. An entrywise bound on the matrix itself gives the same a-priori bound on the absolute values of its eigenvalues. These estimates connect coordinatewise error bounds to spectral error bounds for random matrices.

A perturbation smaller than the distance of a sorted eigenvalue from a real threshold preserves its membership in [c, ∞). Thus perturbations smaller than a spectral gap preserve the number of eigenvalues above the threshold, counted with multiplicity. This is the rank stability used when selecting a spectral subspace by a fixed threshold. The norm in these threshold results is the Euclidean operator norm, selected by Matrix.Norms.L2Operator.

All statements use Mathlib's decreasing enumeration Matrix.IsHermitian.eigenvalues₀, including multiplicities. For positive-semidefinite matrices its nonzero entries form an initial segment of length equal to the rank. Thus a rank bound is equivalent to vanishing of the corresponding sorted tail. Arbitrary finite index types, including empty ones, are allowed.

The perturbation estimate combines the operator Weyl inequality in TauCeti.Analysis.InnerProductSpace.CourantFischer with the entrywise operator bound in TauCeti.Analysis.Matrix.EntrywiseOpNorm. The rank count reindexes Mathlib's Matrix.IsHermitian.rank_eq_card_non_zero_eigs to the sorted enumeration.

Weyl's additive inequalities λₖ(A + B) ≤ λᵢ(A) + λⱼ(B) for i + j ≤ k, and their lower counterpart, are the matrix forms of the operator inequalities in TauCeti.Analysis.InnerProductSpace.CourantFischer. A Hermitian matrix of rank at most r has at most r positive eigenvalues, so a perturbation A - B of rank at most r gives the rank interlacing λ_{i+r}(A) ≤ λᵢ(B). Consequently the numbers of eigenvalues of A and B in (-∞, t], counted with multiplicity, differ by at most rank (A - B) for every t. Divided by the size, this is the uniform bound on the difference of the distribution functions of the empirical spectral measures that drives truncation arguments for random matrices.

References #

theorem Matrix.IsHermitian.abs_eigenvalues₀_sub_le_of_entry_le {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A B : Matrix ι ι 𝕜} (hA : A.IsHermitian) (hB : B.IsHermitian) {ε : ℝ} (hentry : ∀ (i j : ι), ‖A i j - B i j‖ ≤ ε) (k : Fin (Fintype.card ι)) :

Entrywise perturbations of size ε change every sorted eigenvalue of a Hermitian matrix by at most card ι * ε.

theorem Matrix.IsHermitian.abs_eigenvalues₀_le_of_entry_le {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A : Matrix ι ι 𝕜} (hA : A.IsHermitian) {β : ℝ} (hentry : ∀ (i j : ι), ‖A i j‖ ≤ β) (k : Fin (Fintype.card ι)) :

An entrywise bound on a Hermitian matrix bounds the absolute value of each sorted eigenvalue by the matrix size times that bound.

theorem Matrix.IsHermitian.abs_eigenvalues₀_sub_le_norm {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A B : Matrix ι ι 𝕜} (hA : A.IsHermitian) (hB : B.IsHermitian) (i : Fin (Fintype.card ι)) :

Weyl's perturbation bound for ordered eigenvalues of Hermitian matrices: corresponding eigenvalues differ by at most the Euclidean operator norm of the matrix difference.

theorem Matrix.IsHermitian.le_eigenvalues₀_iff_of_norm_sub_lt {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A B : Matrix ι ι 𝕜} (hA : A.IsHermitian) (hB : B.IsHermitian) {c : ℝ} (i : Fin (Fintype.card ι)) (hgap : ‖A - B‖ < |hA.eigenvalues₀ i - c|) :

A Hermitian perturbation smaller than the distance of a sorted eigenvalue from c preserves whether that eigenvalue belongs to [c, ∞). The norm is the Euclidean operator norm.

theorem Matrix.IsHermitian.card_eigenvalues₀_ge_eq_of_norm_sub_lt {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A B : Matrix ι ι 𝕜} (hA : A.IsHermitian) (hB : B.IsHermitian) {c δ : ℝ} (hgap : ∀ (i : Fin (Fintype.card ι)), δ ≤ |hA.eigenvalues₀ i - c|) (hpert : ‖A - B‖ < δ) :

Hermitian perturbations of Euclidean operator norm less than a spectral gap around c preserve the number of eigenvalues in [c, ∞), with multiplicity. The gap bound may be attained, and the matrix index type may be empty.

@[simp]
theorem Matrix.IsHermitian.eigenvalues_apply_equivOfCardEq {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A : Matrix ι ι 𝕜} (hA : A.IsHermitian) (i : Fin (Fintype.card ι)) :

Reindexing a sorted eigenvalue by the canonical finite equivalence gives the corresponding matrix-indexed eigenvalue.

theorem Matrix.IsHermitian.rank_eq_card_non_zero_eigenvalues₀ {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A : Matrix ι ι 𝕜} (hA : A.IsHermitian) :

The rank of a Hermitian matrix counts its nonzero sorted eigenvalues, with multiplicity.

theorem Matrix.PosSemidef.eigenvalues₀_nonneg {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A : Matrix ι ι 𝕜} (hA : A.PosSemidef) (i : Fin (Fintype.card ι)) :

Every entry of the sorted eigenvalue list of a positive-semidefinite matrix is nonnegative.

theorem Matrix.PosSemidef.eigenvalues₀_eq_zero_of_rank_le {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A : Matrix ι ι 𝕜} (hA : A.PosSemidef) {d : ℕ} (hrank : A.rank ≤ d) (i : Fin (Fintype.card ι)) (hi : d ≤ ↑i) :

A sorted eigenvalue of a positive-semidefinite matrix vanishes from the rank onward.

theorem Matrix.PosSemidef.rank_le_iff_eigenvalues₀_eq_zero {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A : Matrix ι ι 𝕜} (hA : A.PosSemidef) (d : ℕ) :
A.rank ≤ d ↔ ∀ (i : Fin (Fintype.card ι)), d ≤ ↑i → ⋯.eigenvalues₀ i = 0

A positive-semidefinite matrix has rank at most d exactly when its sorted eigenvalues vanish at all indices at least d. The criterion also applies when d exceeds the size.

Weyl's additive inequalities and rank perturbations #

theorem Matrix.IsHermitian.eigenvalues₀_add_le {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A B : Matrix ι ι 𝕜} (hA : A.IsHermitian) (hB : B.IsHermitian) {i j k : Fin (Fintype.card ι)} (hk : ↑i + ↑j ≤ ↑k) :

Weyl's additive inequality for Hermitian matrices, upper form: if i + j ≤ k, then λₖ(A + B) ≤ λᵢ(A) + λⱼ(B) for the decreasing enumerations eigenvalues₀. For k = i + j this is the classical λ_{i+j-1}(A + B) ≤ λᵢ(A) + λⱼ(B) in one-based indexing.

theorem Matrix.IsHermitian.le_eigenvalues₀_add {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A B : Matrix ι ι 𝕜} (hA : A.IsHermitian) (hB : B.IsHermitian) {i j k : Fin (Fintype.card ι)} (hk : ↑k + Fintype.card ι ≤ ↑i + ↑j + 1) :

Weyl's additive inequality for Hermitian matrices, lower form: if k + card ι ≤ i + j + 1, then λᵢ(A) + λⱼ(B) ≤ λₖ(A + B) for the decreasing enumerations eigenvalues₀.

theorem Matrix.IsHermitian.eigenvalues₀_nonpos_of_rank_le {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A : Matrix ι ι 𝕜} (hA : A.IsHermitian) {r : ℕ} (hrank : A.rank ≤ r) (i : Fin (Fintype.card ι)) (hi : r ≤ ↑i) :

A Hermitian matrix of rank at most r has at most r positive eigenvalues: its sorted eigenvalues are nonpositive from index r on.

theorem Matrix.IsHermitian.eigenvalues₀_le_of_rank_sub_le {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A B : Matrix ι ι 𝕜} (hA : A.IsHermitian) (hB : B.IsHermitian) {r : ℕ} (hrank : (A - B).rank ≤ r) {i k : Fin (Fintype.card ι)} (hk : ↑i + r ≤ ↑k) :

Rank interlacing. If A - B has rank at most r, then λ_{i+r}(A) ≤ λᵢ(B): a Hermitian perturbation of rank at most r raises each sorted eigenvalue no higher than the one r places before it.

theorem Matrix.IsHermitian.card_eigenvalues₀_le_le_card_add_rank {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A B : Matrix ι ι 𝕜} (hA : A.IsHermitian) (hB : B.IsHermitian) (t : ℝ) :
{i : Fin (Fintype.card ι) | hA.eigenvalues₀ i ≤ t}.card ≤ {i : Fin (Fintype.card ι) | hB.eigenvalues₀ i ≤ t}.card + (A - B).rank

Rank perturbation of eigenvalue counts. Passing from B to A increases the number of sorted eigenvalues in (-∞, t], counted with multiplicity, by at most rank (A - B).

theorem Matrix.IsHermitian.abs_card_eigenvalues₀_le_sub_card_le_rank {𝕜 : Type u_1} {ι : Type u_2} [RCLike 𝕜] [Fintype ι] [DecidableEq ι] {A B : Matrix ι ι 𝕜} (hA : A.IsHermitian) (hB : B.IsHermitian) (t : ℝ) :
|↑{i : Fin (Fintype.card ι) | hA.eigenvalues₀ i ≤ t}.card - ↑{i : Fin (Fintype.card ι) | hB.eigenvalues₀ i ≤ t}.card| ≤ ↑(A - B).rank

Rank perturbation bound for eigenvalue counts. The numbers of sorted eigenvalues of two Hermitian matrices in (-∞, t], counted with multiplicity, differ by at most the rank of their difference.