Oscar Benjamin
Oscar Benjamin
> This seems to be the fix: This causes many test failures though. Apparently many thing depend on evalf going above the stated maxprec.
As I think about it this is connected to a number of other issues in evalf that I think just mean that it needs a total rewrite. Maybe someone can...
This can be improved in SymPy especially since the matrix is diagonalisable and SymPy can already compute that: ```python A.diagonalize() ``` The Jordan form calculation doesn't use the same techniques...
The eigenvector code was significantly improved in gh-20614. The Jordan normal form routine should be rewritten along the same lines as the eigenvects code.
The whole calculation should be rewritten to use only DomainMatrix.
If the coefficients are not rational then it is not necessarily possible to express the roots using RootOf. For algebraic coefficients we can sometimes although it can be slow: ```python...
I think it is better to focus on providing an implementation for rationals first though.
That looks good, although I would write a separate function rather than modifying the existing one.
> We can’t use DomainMatrix because the current design can’t find the nullspace with DomainMatrix I don't understand what you mean: ```python In [1]: M = randMatrix(3) In [2]: r1,...
> TypeError: cannot determine truth value of Relational: -sqrt(3)*pi + (-sqrt(-2*sqrt(2)*E + 2 + exp(2) + 4*sqrt(3)*pi)/2 - sqrt(2)/2 + E/2)*(-sqrt(-2*sqrt(2)*E + 2 + exp(2) + 4*sqrt(3)*pi)/2 - E/2 +...