# Revision history [back]

### How does SageMath compute the Jordan form of a block diagonal matrix?

Let $M$ be a block diagonal matrix $diag(B_1, \dots, B_m)$. Let $(p_i)$ be the orthogonal projections such that $B_i = p_i M p_i$. If you compute the Jordan form of $M$ using SageMath as follows:

sage: jf, q = M.jordan_form(transformation=True)

Question: Is it true that $q$ commutes with $p_i$ for all $i$?

It would be true if SageMath computes the Jordan form of $M$ by computing the Jordan form of each $B_i$.

### How does SageMath compute the Jordan form of a block diagonal matrix?

Let $M$ be a block diagonal matrix $diag(B_1, \dots, B_m)$. Let $(p_i)$ be the orthogonal projections such that $B_i = p_i M p_i$. If you compute the Jordan form of $M$ using SageMath as follows:

sage: jf, q = M.jordan_form(transformation=True)

Question: Is it true that $q$ commutes with $p_i$ for all $i$?

It would be true if SageMath computes the Jordan form of $M$ by computing the Jordan form of each $B_i$.$B_i$.

Application to simultanenous diagonalization: let $M$, $N$ be two simultaneously diagonalizable matrix. Make the following:

sage:  jf1, q1 = M.jordan_form(transformation=True)
sage: NN= ~q1 * N * q1
sage: jf2, q2 = NN.jordan_form(transformation=True)

If above question has a positive answer then the change-of-basis matrix $q=q_1q_2$ both diagonalizes $M$ and $N$.

### How does SageMath compute the Jordan form of a block diagonal matrix?

Let $M$ be a block diagonal matrix $diag(B_1, \dots, B_m)$. Let $(p_i)$ be the orthogonal projections such that $B_i = p_i M p_i$. If you compute the Jordan form of $M$ using SageMath as follows:

sage: jf, q = M.jordan_form(transformation=True)

Question: Is it true that $q$ commutes with $p_i$ for all $i$?

It would be true if SageMath computes the Jordan form of $M$ by computing the Jordan form of each $B_i$.

Application to simultanenous diagonalization: let $M$, $N$ be two simultaneously diagonalizable matrix. Make the following:

sage:  jf1, q1 = M.jordan_form(transformation=True)
sage: NN= ~q1 * N * q1
sage: jf2, q2 = NN.jordan_form(transformation=True)

If above question has a positive answer then the change-of-basis matrix $q=q_1q_2$ both diagonalizes $M$ and $N$.

If you know a better way to make simultaneous diagonalization, please let me know. More generally, I am also interested in simultaneous block-diagonalization.

### How does SageMath compute the Jordan form of a block diagonal matrix?

Let $M$ be a block diagonal matrix $diag(B_1, \dots, B_m)$. Let $(p_i)$ be the orthogonal projections such that $B_i = p_i M p_i$. If you compute the Jordan form of $M$ using SageMath as follows:

sage: jf, q = M.jordan_form(transformation=True)

Question: Is it true that $q$ commutes with $p_i$ for all $i$?

It would be true if Does SageMath computes the Jordan form of $M$ by computing the Jordan form of each $B_i$. $B_i$?

Application to simultanenous diagonalization: let $M$, $N$ be two simultaneously diagonalizable matrix. Make the following:

sage:  jf1, q1 = M.jordan_form(transformation=True)
sage: NN= ~q1 * N * q1
sage: jf2, q2 = NN.jordan_form(transformation=True)

If above question has a positive answer then the change-of-basis matrix $q=q_1q_2$ both diagonalizes $M$ and $N$.

If you know a better way to make simultaneous diagonalization, please let me know. More generally, I am also interested in simultaneous block-diagonalization.

### How does SageMath compute the Jordan form of a block diagonal matrix?

Let $M$ be a block diagonal matrix $diag(B_1, \dots, B_m)$. Let $(p_i)$ be the orthogonal projections such that $B_i = p_i M p_i$. If you compute the Jordan form of $M$ using SageMath as follows:

sage: jf, q = M.jordan_form(transformation=True)

QuestionQuestion 1: Does SageMath computes the Jordan form of $M$ by computing the Jordan form of each $B_i$?

Application to More precisely, I am interested in simultanenous diagonalization: diagonalization: let $M$, $N$ be two simultaneously diagonalizable matrix. Make the following:

sage:  jf1, q1 = M.jordan_form(transformation=True)
sage: NN= ~q1 * N * q1
sage: jf2, q2 = NN.jordan_form(transformation=True)

If above question has a positive answer then Question 2: Is it true that the change-of-basis matrix $q=q_1q_2$ both diagonalizes $M$ and $N$.$N$?

A positive answer to Q1 should imply a positive answer to Q2.

If you know a better way to make simultaneous diagonalization, please let me know. More generally, I am also interested in simultaneous block-diagonalization.

### How does SageMath compute the Jordan form of a block diagonal matrix?

Let $M$ be a block diagonal matrix $diag(B_1, \dots, B_m)$. Let $(p_i)$ be the orthogonal projections such that $B_i = p_i M p_i$. If you compute the Jordan form of $M$ using SageMath as follows:

sage: jf, q = M.jordan_form(transformation=True)

Question 1: Does SageMath computes the Jordan form of $M$ by computing the Jordan form of each $B_i$?

More precisely, I am interested in simultanenous diagonalization: let $M$, $N$ be two simultaneously diagonalizable matrix. Make the following:

sage:  jf1, q1 = M.jordan_form(transformation=True)
sage: NN= ~q1 * N * q1
sage: jf2, q2 = NN.jordan_form(transformation=True)

Question 2: Is it true that the change-of-basis matrix $q=q_1q_2$ both diagonalizes $M$ and $N$?

A positive answer to Q1 should imply a positive answer to Q2.

If you know a better way to make simultaneous diagonalization, please let me know. More generally, I am also interested in simultaneous block-diagonalization.block-diagonalization (when $M$ and $N$ does not commute).

Let $M$ $m$ be a block diagonal matrix $diag(B_1,$diag(b_1, \dots, B_m)$. b_m)$. Let $(p_i)$ be the orthogonal projections such that $B_i$b_i = p_i M m p_i$. If you compute the Jordan form of$Mm$using SageMath as follows: sage: jf, q = M.jordan_form(transformation=True) m.jordan_form(transformation=True) Question 1: Does SageMath computes the Jordan form of$Mm$by computing the Jordan form of each$B_i$?$b_i$? More precisely, I am interested in simultanenous diagonalization: let$M$,$Nm$,$n$be two simultaneously diagonalizable matrix. Make the following: sage: jf1, q1 = M.jordan_form(transformation=True) sage: NN= m.jordan_form(transformation=True) sage: nn= ~q1 * N n * q1 sage: jf2, q2 = NN.jordan_form(transformation=True) nn.jordan_form(transformation=True) Question 2: Is it true that the change-of-basis matrix$q=q_1q_2$both diagonalizes$Mm$and$N$?$n$? A positive answer to Q1 should imply a positive answer to Q2. If you know a better way to make simultaneous diagonalization, please let me know. More generally, I am also interested in simultaneous block-diagonalization (when$Mm$and$Nn$does not commute). ### How does SageMath compute the Jordan form of a block diagonal matrix? Let$m$be a block diagonal matrix$diag(b_1, \dots, b_m)$. Let$(p_i)$be the orthogonal projections such that$b_i = p_i m p_i$. If you we compute the Jordan form of$m$using SageMath as follows: sage: jf, q = m.jordan_form(transformation=True) Question 1: Does SageMath computes the Jordan form of$m$by computing the Jordan form of each$b_i$? More precisely, I am interested in simultanenous diagonalization: let$m$,$n$be two simultaneously diagonalizable matrix. Make the following: sage: jf1, q1 = m.jordan_form(transformation=True) sage: nn= ~q1 * n * q1 sage: jf2, q2 = nn.jordan_form(transformation=True) Question 2: Is it true that the change-of-basis matrix$q=q_1q_2$both diagonalizes$m$and$n$? A positive answer to Q1 should imply a positive answer to Q2. If you know a better way to make simultaneous diagonalization, please let me know. More generally, I am also interested in simultaneous block-diagonalization (when$m$and$n$does not commute). ### How does SageMath compute the Jordan form of a block diagonal matrix? Let$m$be a block diagonal matrix$diag(b_1, \dots, b_m)$. Let$(p_i)$be the orthogonal projections such that$b_i = p_i m p_i$. If we compute the Jordan form of$m$using SageMath as follows: sage: jf, q = m.jordan_form(transformation=True) Question 1: Does SageMath computes the Jordan form of$m$by computing the Jordan form of each$b_i$?$b_i$? (i.e.$p_i$commutes with$q$up to a permutation of the basis). More precisely, I am interested in simultanenous diagonalization: let$m$,$n$be two simultaneously diagonalizable matrix. Make the following: sage: jf1, q1 = m.jordan_form(transformation=True) sage: nn= ~q1 * n * q1 sage: jf2, q2 = nn.jordan_form(transformation=True) Question 2: Is it true that the change-of-basis matrix$q=q_1q_2$both diagonalizes$m$and$n$? A positive answer to Q1 should imply a positive answer to Q2. If you know a better way to make simultaneous diagonalization, please let me know. More generally, I am also interested in simultaneous block-diagonalization (when$m$and$n$does not commute). ### How does SageMath compute the Jordan form of a block diagonal matrix? Let$m$be a block diagonal matrix$diag(b_1, \dots, b_m)$. Let$(p_i)$be the orthogonal projections such that$b_i = p_i m p_i$. If we compute the Jordan form of$m$using SageMath as follows: sage: jf, q = m.jordan_form(transformation=True) Question 1: Does SageMath computes the Jordan form of$m$by computing the Jordan form of each$b_i$? (i.e.$p_i$commutes with$q$up to a$\pi^{-1} q \pi$for some permutation of the basis).matrix$\pi$). More precisely, I am interested in simultanenous diagonalization: let$m$,$n$be two simultaneously diagonalizable matrix. Make the following: sage: jf1, q1 = m.jordan_form(transformation=True) sage: nn= ~q1 * n * q1 sage: jf2, q2 = nn.jordan_form(transformation=True) Question 2: Is it true that the change-of-basis matrix$q=q_1q_2$both diagonalizes$m$and$n$? A positive answer to Q1 should imply a positive answer to Q2. If you know a better way to make simultaneous diagonalization, please let me know. More generally, I am also interested in simultaneous block-diagonalization (when$m$and$n$does not commute). ### How does SageMath compute the Jordan form of a block diagonal matrix? Let$m$be a block diagonal matrix$diag(b_1, \dots, b_m)$. Let$(p_i)$be the orthogonal projections such that$b_i = p_i m p_i$. If we compute the Jordan form of$m$using SageMath as follows: sage: jf, q = m.jordan_form(transformation=True) Question 1: Does SageMath computes the Jordan form of$m$by computing the Jordan form of each$b_i$? (i.e. (more precisely,$p_i$commutes with$\pi^{-1} q \pi$\pi$, for some permutation matrix $\pi$).

More precisely, $\pi$?).

In fact, what I am really interested in here is the simultanenous diagonalization: let $m$, $n$ be two simultaneously diagonalizable matrix. Make the following:

sage:  jf1, q1 = m.jordan_form(transformation=True)
sage: nn= ~q1 * n * q1
sage: jf2, q2 = nn.jordan_form(transformation=True)

Question 2: Is it true that the change-of-basis matrix $q=q_1q_2$ both diagonalizes $m$ and $n$?

A positive answer to Q1 should imply a positive answer to Q2.

If you know a better way to make simultaneous diagonalization, please let me know. More generally, I am also interested in simultaneous block-diagonalization (when $m$ and $n$ does not commute).

### How does SageMath compute the Jordan form of a block diagonal matrix?

Let $m$ be a block diagonal matrix $diag(b_1, \dots, b_m)$. Let $(p_i)$ be the orthogonal projections such that $b_i = p_i m p_i$. If we compute the Jordan form of $m$ using SageMath as follows:

sage: jf, q = m.jordan_form(transformation=True)

Question 1: Does SageMath computes the Jordan form of $m$ by computing the Jordan form of each $b_i$? (more precisely, $p_i$ commutes with $\pi^{-1} q \pi$, for some permutation matrix $\pi$?).

In fact, what I am really interested in here is the simultanenous diagonalization: let $m$, $n$ be two simultaneously diagonalizable matrix. Make the following:

sage:  jf1, q1 = m.jordan_form(transformation=True)
sage: nn= ~q1 * n * q1
sage: jf2, q2 = nn.jordan_form(transformation=True)

Question 2: Is it true that the change-of-basis matrix $q=q_1q_2$ both diagonalizes $m$ and $n$?

A positive answer to Q1 should imply a positive answer to Q2.

If you know a better way to make simultaneous diagonalization, please let me know. More generally, I am also interested in simultaneous block-diagonalization (when block-diagonalization, more precisely, if $m$ and $n$ does not commute).commute, the $*$-algebra they generate is isomorphic to $\bigoplus_i M_{n_i}(\mathbb{C})$ with at least one $i$ such that $n_i>1$, and we are interested in the block-diagonalization according to this decomposition.

### How does SageMath compute the Jordan form of a block diagonal matrix?

Let $m$ be a block diagonal matrix $diag(b_1, \dots, b_m)$. Let $(p_i)$ be the orthogonal projections such that $b_i = p_i m p_i$. If we compute the Jordan form of $m$ using SageMath as follows:

sage: jf, q = m.jordan_form(transformation=True)

Question 1: Does SageMath computes the Jordan form of $m$ by computing the Jordan form of each $b_i$? (more precisely, $p_i$ commutes with $\pi^{-1} q \pi$, for some permutation matrix $\pi$?).

In fact, what I am we are really interested in here is the simultanenous diagonalization: let $m$, $n$ be two simultaneously diagonalizable matrix. Make the following:

sage:  jf1, q1 = m.jordan_form(transformation=True)
sage: nn= ~q1 * n * q1
sage: jf2, q2 = nn.jordan_form(transformation=True)

Question 2: Is it true that the change-of-basis matrix $q=q_1q_2$ both diagonalizes $m$ and $n$?

A positive answer to Q1 should imply a positive answer to Q2.

If you know a better way to make simultaneous diagonalization, please let me know. More generally, I am we are also interested in simultaneous block-diagonalization, more precisely, if $m$ and $n$ does not commute, the $*$-algebra they generate is isomorphic to $\bigoplus_i M_{n_i}(\mathbb{C})$ with at least one $i$ such that $n_i>1$, and we are interested in the block-diagonalization according to this decomposition.

### How does SageMath compute the Jordan form of a block diagonal matrix?

Let $m$ be a block diagonal matrix $diag(b_1, \dots, b_m)$. Let $(p_i)$ be the orthogonal projections such that $b_i = p_i m p_i$. If we compute the Jordan form of $m$ using SageMath as follows:

sage: jf, q = m.jordan_form(transformation=True)

Question 1: Does SageMath computes the Jordan form of $m$ by computing the Jordan form of each $b_i$? (more precisely, $p_i$ commutes with $\pi^{-1} q \pi$, for some permutation matrix $\pi$?).

In fact, what we are really interested in here is the simultanenous diagonalization: let $m$, $n$ be two simultaneously diagonalizable matrix. Make the following:

sage:  jf1, q1 = m.jordan_form(transformation=True)
sage: nn= ~q1 * n * q1
sage: jf2, q2 = nn.jordan_form(transformation=True)

Question 2: Is it true that the change-of-basis matrix $q=q_1q_2$ both diagonalizes $m$ and $n$?

A positive answer to Q1 should imply a positive answer to Q2.

If you know a better way to make simultaneous diagonalization, please let me know. More generally, we are also interested in simultaneous block-diagonalization, more precisely, if $m$ and $n$ does not commute, the $*$-algebra they generate is isomorphic to $\bigoplus_i M_{n_i}(\mathbb{C})$ with at least one $i$ such that $n_i>1$, and we are interested in the block-diagonalization according to this decomposition.