[Math] How to find all orthogonal matrices which commute with a given symmetric matrix

matricesnumerical linear algebra

Suppose we have a symmetric matrix $H$. I'd like to find all the orthogonal matrices $S_i$, which commute with it. Particularly I'm interested in the set of $S_i$, which are linearly independent from the others in the set.

Currently to find the first such matrix I just minimize the difference $SH-HS$ with the constraint that $SS^T=I$. But even for not too large matrices like $16\times16$ this takes quite a lot of time to minimize it.

Are there any efficient numerical procedures to find these matrices?

Best Answer

@ Ruslan , you ask (I am not sure !) for orthogonal matrices $(S_i)$ that are linearly independent, orthogonal and s.t. $S_iH=HS_i$. We may assume that $H=diag(\lambda_1I_{n_1},\cdots,\lambda_kI_{n_k})$ where the $(\lambda_i)$ are real distinct and $n_1+\cdots +n_k=n$. Then $SH=HS$ iff $S=diag(U_1,\cdots,U_k)$ where $U_i$ is orthogonal. We reduce the problem to choose linearly independent elements in $O(n)$.

Note that $\begin{pmatrix}0&1&0\\1&0&0\\0&0&1\end{pmatrix}+\begin{pmatrix}0&1&0\\-1&0&0\\0&0&-1\end{pmatrix}=\begin{pmatrix}0&2&0\\0&0&0\\0&0&0\end{pmatrix}$. Then the pseudo-permutation matrices (and consequently $O(n)$) span $M_n(\mathbb{R})$ and we can choose $n^2$ linearly independent pseudo-permutation matrices. I think that you can find explicitly such a system of matrices for every $n$ ; it is your business.

EDIT. Answer to Ruslan. 1. The $S_i$ are pseudo-permutations (entries are $\pm 1$).

  1. among the previous matrices, you can choose $n^2$ that are linearly independent. Now you must find such a model for each value of $n$. For instance, if $n=2$, then you can take $\begin{pmatrix}1&0\\0&1\end{pmatrix},\begin{pmatrix}1&0\\0&-1\end{pmatrix},\begin{pmatrix}0&1\\-1&0\end{pmatrix},\begin{pmatrix}0&1\\1&0\end{pmatrix}$.
Related Question