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
[Merged by Bors] - refactor(linear_algebra/eigenspace): refactor exists_eigenvalue #7345
Conversation
π Great news! Looks like all the dependencies have been resolved:
π‘ To add or remove a dependency please update this issue/PR description. Brought to you by Dependent Issues (:robot: ). Happy coding! |
βοΈ semorrison can now approve this pull request. To approve and merge a pull request, simply reply with |
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.
Thanks!
bors d+
@@ -56,13 +56,20 @@ def eigenspace (f : End R M) (ΞΌ : R) : submodule R M := | |||
|
|||
/-- A nonzero element of an eigenspace is an eigenvector. (Def 5.7 of [axler2015]) -/ | |||
def has_eigenvector (f : End R M) (ΞΌ : R) (x : M) : Prop := | |||
x β 0 β§ x β eigenspace f ΞΌ | |||
x β eigenspace f ΞΌ β§ x β 0 |
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.
I'm curious about the decision to switch this around. (Not that I have a reason to prefer it the old way.)
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.
It ... appears to be solely so that I can write
exact has_eigenvalue_of_has_eigenvector (exists_mem_ne_zero_of_ne_bot nu).some_spec
below, without having to flip over what I pull out of exists_mem_ne_zero_of_ne_bot
.
One the one hand: why bother making this small change that affects several files? On the other hand: the changes required are all neutral, so why not?
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
bors merge |
We replace the proof of `exists_eigenvalue` with the more general fact: ``` /-- Every element `f` in a nontrivial finite-dimensional algebra `A` over an algebraically closed field `K` has non-empty spectrum: that is, there is some `c : K` so `f - c β’ 1` is not invertible. -/ lemma exists_spectrum_of_is_alg_closed_of_finite_dimensional (π : Type*) [field π] [is_alg_closed π] {A : Type*} [nontrivial A] [ring A] [algebra π A] [I : finite_dimensional π A] (f : A) : β c : π, Β¬ is_unit (f - algebra_map π A c) := ... ``` We can then use this fact to prove Schur's lemma. Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
Pull request successfully merged into master. Build succeeded: |
We replace the proof of
exists_eigenvalue
with the more general fact:We can then use this fact to prove Schur's lemma.