2019-03-15 23:19:25 -0500 commented answer transformation matrix for variable matrix of given jordan type Thanks very much! 2019-03-15 23:19:04 -0500 received badge ● Scholar (source) 2019-03-07 18:57:03 -0500 commented question transformation matrix for variable matrix of given jordan type Yes, it might. How do I do it, exactly? I would work in the ring $R/I$, where $R$ is the polynomial ring generated by matrix coefficients, and $I$ is the ideal of the Jordan form. For instance, if I have a 5 by 5 matrix $A$ of type $(3,2)$ then rank A = 3 would be encoded by adding all 4 by 4 minors of A to I rank A^2 = 1 would be encoded by adding all 2 by 2 minors of A^2 to I and finally rank A^3 = 0 would be encoded by adding coefficients of A^3 to I 2019-03-02 22:38:07 -0500 commented question transformation matrix for variable matrix of given jordan type In general, the constraints may be more complicated than setting some entries to zero. Either way, I want Sage to figure out those constraints for me, and solve something like $g A g^{-1} = J$ for a $g$, given variable $A$ and fixed $J$. If I try A.jordan_form() in a quotient ring, I get a NotImplementedError :( 2019-03-02 22:38:07 -0500 commented question transformation matrix for variable matrix of given jordan type Sure. Say I have an arbitrary uppertriangular matrix of Jordan type $(2,1)$. $$A = \begin{pmatrix} 0 & A_{0} & A_{1} \\ 0 & 0 & A_{2} \\ 0 & 0 & 0 \end{pmatrix}$$ By default J_d, T_d = A.jordan_form(transformation=True) gives $$J_d = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{pmatrix} \qquad T_d = \begin{pmatrix}A_{0} A_{2} & A_{1} & 0 \\ 0 & A_{2} & 0 \\ 0 & 0 & 1\end{pmatrix}$$ However, I expect $$J = \begin{pmatrix}0 & 1 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0\end{pmatrix}$$ In this case, I know that $A_2$ must be zero for $A$ to have Jordan type $(2,1)$ so I let $A' = A\big|_{A_2 = 0}$ and do J, T = A'.jordan_form(transformation=True) getting the desired $$T = \begin{pmatrix}A_{0} & 0 & 0 \\ 0 & 1 & 1 \\ 0 & 0 & -\frac{A_{0}}{A_{1}}\end{pmatrix}$$ 2019-03-02 07:01:01 -0500 received badge ● Student (source) 2019-03-01 21:12:32 -0500 received badge ● Organizer (source) 2019-03-01 12:29:32 -0500 asked a question transformation matrix for variable matrix of given jordan type related: question/10488/why-does-jordan_form-not-work-over-inexact-rings/ I have, say, a nilpotent uppertriangular matrix $A$, with variable entries, and of a given Jordan type, $J$ (block type $\lambda$). I would like to know the transformation matrix $g$ such that $g A g^{-1} = J$. How do I tell sage my input has a given Jordan type? My idea is to compute A.jordan_form(transformation=True) in the quotient ring of the variable entries, given $\lambda$. This requires my figuring out the relations imposed by the given Jordan type, itself not an easy task. I would like to know if what I want is already implemented somewhere in Sage, or if there is a better way to implement it than what I propose.