Jordan Normal Form eigenvalues

195 Views Asked by At

I need to find the Jordan Normal Form of a square matrix $\Phi$ such that the entries in the diagonal (or near diagonal) matrix has its elements ordered by absolute value.

In particular, I need to find a decomposition for a square matrix $\Phi$ such that

$$\Phi = A \begin{pmatrix} J_1 & 0 \\ 0 & J_2 \end{pmatrix} A^{-1} $$

where $J_1$ and $J_2$ are square matrices and the diagonal entries of $J_1$ are less than one in absolute value and the diagonal entries of $J_2$ are greater than one in absolute value. The off diagonal entries can be 1 or 0 below the main diagonals.

I can decompose a given matrix into the required form and obtain matrices $J$, $A$ and $A^{-1}$ where $J$ has eigenvalues along its diagonal, but the eigenvalues are never in the specified order for a matrix larger than $(2 \times 2)$.

Is there a numerical method of decomposition that puts the eigenvalues in the required order? I tried using Sympy in Python but for matrices larger than $(2 \times 2)$ it can't find eigenvalues (I am working with $(4 \times 4)$ and $(6 \times 6)$ matrices).

I've also tried using a Schur decomposition so that $\Phi$ is decomposed such that $\Phi = PBP^{-1}$. I then use Jordan Normal Form decomposition on matrix $B$, which yields $B = CJC^{-1}$ and $AJA^{-1} = PCJC^{-1}P^{-1}$.

In the Schur decomposition I can tell Python to order the eigenvalues by absolute magnitude (inside or outside the unit circle first) in which appear in upper triangular matrix $B$, but however the eigenvalues are ordered in $B$, when I do the Jordan decomposition (which Sympy CAN do for upper triangular matrices, it seems), the resulting matrix $J$ has eigenvalues 'out of order' so to speak.