Closed kedlaya closed 7 years ago
Here is a patch with the function I proposed. I could use some more robust doctests; any suggestions?
New commits:
567e5dd | Create function to compute eigenspace multiplicities |
Branch pushed to git repo; I updated commit sha1. New commits:
48f84b0 | Add test for square matrices |
Some experimental evidence suggests that this function leaks memory in a serious way; presumably one of the steps is at fault, but I haven't been able to isolate which one. Might be a job for valgrind here.
Branch pushed to git repo; I updated commit sha1. New commits:
f99e384 | Add squaring step |
I added a step to square the matrix at each iteration; this reduces the dependence on the nilpotency index from linear to logarithmic. I think this is a win on average: the only issue is doing extra matrix mults when the index is small, but this isn't too costly compared to the echelonization anyway.
Changed branch from u/kedlaya/compute_dimensions_of_individual_generalized_eigenspaces to public/20788
Those doctests look good to me.
Author: Kiran Kedlaya
Branch pushed to git repo; I updated commit sha1. New commits:
a4be0de | Merge branch 'public/20788' in 8.1.b3 |
One trivial thing: `s`
-> ``s``
since the s
is considered in that as code. Once done, you can set a positive review on my behalf.
Changed keywords from matrices, eigenspaces, dimension to matrices, eigenspaces, dimension, days88, IME coding sprints
Reviewer: Travis Scrimshaw
Changed keywords from matrices, eigenspaces, dimension, days88, IME coding sprints to matrices, eigenspaces, dimension, days88, IMA coding sprints
Branch pushed to git repo; I updated commit sha1. New commits:
675cc94 | Corrected backticks typo in docstring |
Replying to @tscrim:
One trivial thing:
`s`
->``s``
since thes
is considered in that as code. Once done, you can set a positive review on my behalf.
Done and done.
Changed branch from public/20788 to 675cc94
Given a square matrix
M
over a field and an elementt
of the field, it is easy to compute the dimension of the left eigenspace ofM
with eigenvaluet
, by computing the rank ofM-t
and subtracting it from the dimension ofM
. There should be a method for this.Computing the multiplicity of the generalized eigenspace is slightly more involved, but also not difficult. There should be a method for this too; I already have it written and will get it onto this ticket soon.
It would also be useful to have methods returning eigenspaces and generalized eigenspaces for individual eigenvalues, without computing all of them.
CC: @sagetrac-gregorybard
Component: linear algebra
Keywords: matrices, eigenspaces, dimension, days88, IMA coding sprints
Author: Kiran Kedlaya
Branch/Commit:
675cc94
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/20788