Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 77f5fb3

Browse files
ocfnashkim-em
andcommitted
feat(linear_algebra/eigenspace): mem_maximal_generalized_eigenspace (#7162)
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
1 parent 15a64f5 commit 77f5fb3

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

src/linear_algebra/basic.lean

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import data.finsupp.basic
1414
import data.dfinsupp
1515
import algebra.pointwise
1616
import order.compactly_generated
17+
import order.omega_complete_partial_order
1718

1819
/-!
1920
# Linear algebra
@@ -834,6 +835,19 @@ begin
834835
simp only [Sup_eq_supr', mem_supr_of_directed _ hdir.directed_coe, set_coe.exists, subtype.coe_mk]
835836
end
836837

838+
@[norm_cast, simp] lemma coe_supr_of_chain (a : ℕ →ₘ submodule R M) :
839+
(↑(⨆ k, a k) : set M) = ⋃ k, (a k : set M) :=
840+
coe_supr_of_directed a a.monotone.directed_le
841+
842+
/-- We can regard `coe_supr_of_chain` as the statement that `coe : (submodule R M) → set M` is
843+
Scott continuous for the ω-complete partial order induced by the complete lattice structures. -/
844+
lemma coe_scott_continuous : omega_complete_partial_order.continuous'
845+
(coe : submodule R M → set M) :=
846+
⟨set_like.coe_mono, coe_supr_of_chain⟩
847+
848+
@[simp] lemma mem_supr_of_chain (a : ℕ →ₘ submodule R M) (m : M) : m ∈ (⨆ k, a k) ↔ ∃ k, m ∈ a k :=
849+
mem_supr_of_directed a a.monotone.directed_le
850+
837851
section
838852

839853
variables {p p'}

src/linear_algebra/eigenspace.lean

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,10 @@ def generalized_eigenspace (f : End R M) (μ : R) : ℕ →ₘ submodule R M :=
307307
((f - algebra_map R (End R M) μ) ^ k) ((f - algebra_map R (End R M) μ) ^ (m - k)),
308308
end }
309309

310+
@[simp] lemma mem_generalized_eigenspace (f : End R M) (μ : R) (k : ℕ) (m : M) :
311+
m ∈ f.generalized_eigenspace μ k ↔ ((f - μ • 1)^k) m = 0 :=
312+
iff.rfl
313+
310314
/-- A nonzero element of a generalized eigenspace is a generalized eigenvector.
311315
(Def 8.9 of [axler2015])-/
312316
def has_generalized_eigenvector (f : End R M) (μ : R) (k : ℕ) (x : M) : Prop :=
@@ -334,6 +338,15 @@ end
334338
def maximal_generalized_eigenspace (f : End R M) (μ : R) : submodule R M :=
335339
⨆ k, f.generalized_eigenspace μ k
336340

341+
lemma generalized_eigenspace_le_maximal (f : End R M) (μ : R) (k : ℕ) :
342+
f.generalized_eigenspace μ k ≤ f.maximal_generalized_eigenspace μ :=
343+
le_supr _ _
344+
345+
@[simp] lemma mem_maximal_generalized_eigenspace (f : End R M) (μ : R) (m : M) :
346+
m ∈ f.maximal_generalized_eigenspace μ ↔ ∃ (k : ℕ), ((f - μ • 1)^k) m = 0 :=
347+
by simp only [maximal_generalized_eigenspace, ← mem_generalized_eigenspace,
348+
submodule.mem_supr_of_chain]
349+
337350
/-- If there exists a natural number `k` such that the kernel of `(f - μ • id) ^ k` is the
338351
maximal generalized eigenspace, then this value is the least such `k`. If not, this value is not
339352
meaningful. -/

src/order/directed.lean

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ lemma directed_of_sup [semilattice_sup α] {f : α → β} {r : β → β → Pr
5252
(H : ∀ ⦃i j⦄, i ≤ j → r (f i) (f j)) : directed r f :=
5353
λ a b, ⟨a ⊔ b, H le_sup_left, H le_sup_right⟩
5454

55+
lemma monotone.directed_le [semilattice_sup α] [preorder β] {f : α → β} :
56+
monotone f → directed (≤) f :=
57+
directed_of_sup
58+
5559
/-- An antimonotone function on an inf-semilattice is directed. -/
5660
lemma directed_of_inf [semilattice_inf α] {r : β → β → Prop} {f : α → β}
5761
(hf : ∀a₁ a₂, a₁ ≤ a₂ → r (f a₂) (f a₁)) : directed r f :=

0 commit comments

Comments
 (0)