Hi,
Given a matrix M with entries (variables) in SR, I needed to compute the transformation matrix to a jordan form of M.
I ended up copying copying the code in "jordan_form" from "matrix2.pyx", deleting the "if (base_ring is None and not self.base_ring().is_exact()) ..." and replacing "evals = A.charpoly().roots()" by
eigenvects=A.eigenvectors_right()
evals=[(eigenvect[0],eigenvect[2]) for eigenvect in eigenvects]
So far it seems to work. Can this go wrong? Or could one just change the original code in matrix2.pyx, and allow inexact rings?
Thanks for your help!