-
-
Notifications
You must be signed in to change notification settings - Fork 688
Implement the Jordan decomposition of a matrix and is_semisimple() test #37710
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
Conversation
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.
LGTM.
For inexact fields, that while loop looks a bit scary, but that can be the concern of specialized implementations.
da73fca to
ba94896
Compare
|
Thanks. Indeed, that is a good point about the inexact fields. I have now forbidden it. I also made the checks a bit better for things over nonfields. Actually, I found something that could actually make this a bit better even: https://acl.inf.ethz.ch/people/chrisw/projects/felix/thesis.pdf |
|
This seems to be the best possible algorithm. Sorry for a bit of noise. |
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.
Nice, thanks for working on this improvement.
|
merge conflict |
ba94896 to
70809e9
Compare
|
Rebased (although I found no merge conflict). |
|
Documentation preview for this PR (built with commit 70809e9; changes) is ready! 🎉 |
We implement the Jordan decomposition of a matrix$A = S + N$ , where $S$ is a semisimple matrix and $N$ is a nilpotent matrix. We also implement a check for the matrix being semisimple by using the
minpoly()being square-free.📝 Checklist
⌛ Dependencies