-
Notifications
You must be signed in to change notification settings - Fork 1.5k
feat(LinearAlgebra/Eigenspace/Matrix): a scalar is in the spectrum iff it's an eigenvalue #39635
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
9aee7f0
c976d4d
894343e
d5f577e
95c11e7
601971f
e84114c
7e8f07d
528ef44
945925b
3de33c6
6bdb864
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -506,6 +506,14 @@ theorem hasEigenvalue_iff_mem_spectrum [FiniteDimensional K V] {f : End K V} {μ | |||||
|
|
||||||
| alias ⟨_, HasEigenvalue.of_mem_spectrum⟩ := hasEigenvalue_iff_mem_spectrum | ||||||
|
|
||||||
| theorem mem_spectrum_of_map_eq_smul {f : End R M} {v : M} {a : R} (h0 : v ≠ 0) (h : f v = a • v) : | ||||||
| a ∈ spectrum R f := | ||||||
| hasEigenvalue_of_hasEigenvector ⟨by simp [h], h0⟩ |>.mem_spectrum | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you move this below the
Suggested change
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, that's why I said I think we should remove this lemma entirely. The
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What do you mean? They're all already in the right generality (without finite-dimensionality)? Anyway, if you don't think it's useful to have you can remove it. |
||||||
|
|
||||||
| theorem hasEigenvalue_iff_exists_map_eq_smul {f : End R M} {a : R} : | ||||||
| f.HasEigenvalue a ↔ ∃ v ≠ 0, f v = a • v := by | ||||||
| simp [hasEigenvalue_iff, Submodule.ne_bot_iff, and_comm] | ||||||
|
|
||||||
| theorem eigenspace_div (f : End K V) (a b : K) (hb : b ≠ 0) : | ||||||
| eigenspace f (a / b) = LinearMap.ker (b • f - algebraMap K (End K V) a) := | ||||||
| genEigenspace_div f a b hb | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -136,6 +136,20 @@ theorem spectrum_toLin (A : Matrix n n R) (b : Basis n R M) : | |
| theorem spectrum_toLin' (A : Matrix n n R) : spectrum R A.toLin' = spectrum R A := | ||
| AlgEquiv.spectrum_eq Matrix.toLinAlgEquiv' A | ||
|
|
||
| theorem mem_spectrum_of_mulVec_eq_smul {A : Matrix n n R} {v : n → R} {a : R} (h0 : v ≠ 0) | ||
|
SnirBroshi marked this conversation as resolved.
|
||
| (h : A *ᵥ v = a • v) : a ∈ spectrum R A := by | ||
| rw [← spectrum_toLin'] | ||
| exact mem_spectrum_of_map_eq_smul h0 h | ||
|
|
||
| theorem mem_spectrum_iff_exists_mulVec_eq_smul {K : Type*} [Field K] {A : Matrix n n K} {a : K} : | ||
| a ∈ spectrum K A ↔ ∃ v ≠ 0, A *ᵥ v = a • v := by | ||
| simp_rw [← spectrum_toLin', ← hasEigenvalue_iff_mem_spectrum, | ||
| hasEigenvalue_iff_exists_map_eq_smul, toLin'_apply] | ||
|
|
||
| theorem isUnit_iff_forall_mulVec_eq_zero {K : Type*} [Field K] {A : Matrix n n K} : | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think this belongs in this file now (not using anything about spectrum anymore) |
||
| IsUnit A ↔ ∀ v, A *ᵥ v = 0 → v = 0 := by | ||
| simp_rw [← isUnit_toLin'_iff, A.toLin'.isUnit_iff_ker_eq_bot, A.toLin'.ker_eq_bot', toLin'_apply] | ||
|
|
||
| end Matrix | ||
|
|
||
| /-- The spectrum of the diagonal operator is the range of the diagonal viewed as a function. -/ | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to keep things consistent with the files, can you use \mu instead of
afor the eigenvalue (here and below, and also for the matrix lemmas)?