0

I feel as thought maybe I'm Googling the wrong words, but perhaps this is a more nuanced question than I thought.

Let $C_R(G) = \{ x | x \in R \text{ and } [x,G]=0\} $ be the centralizer of $G$ in $R$. If $R$ is the full ring of $n \times n$ complex matrices, and I am given the elements in of $G$,does there exist an algorithm to efficiently find $C_R(G)$? Does there exist an inefficient method?

Framed more practically, the tasks seems to be the following: I am given a set of $n\times n$ matrices $G$ and want to find all matrices that commute with $G$. I've seen some answers for finding the commuting matrices for a single matrix, but not for a set of matrices.

Jlee523
  • 101
  • 1
  • You can always finding the centralizer for each matrix in $G$ one-by-one, then take the intersection, no? Unless there are some additional constraints on $G$, that’s basically the only method. – David Gao Aug 22 '24 at 03:18
  • Is this something that can be done efficiently? I'm assuming via some diagonalization? – Jlee523 Aug 22 '24 at 15:55
  • 1
    I don't think that's possible. Finding the commutant of multiple matrices (or even a single one, really) is somewhat unstable, computationally speaking, in that if you perturb the matrices slightly, the commutant can change drastically. And if you just care about matrices in generic position, then as long as $G$ has at least two matrices in generic position, the commutant is trivial. – David Gao Aug 22 '24 at 17:35
  • Ah - so then is the only way really just to grab some arbitrary matrix $M$ and compute $AM - MA = 0$ and solve the systems of equations? I'm guessing there are nice tricks for specific types of matrices? – Jlee523 Aug 22 '24 at 21:07
  • 1
    Oh, that’s not what I meant. You can always just compute the eigenvalues and eigenvectors. In the generic case where all eigenvalues are distinct, the commutant of a single matrix is just all matrices with that same set of eigenvectors. That’s what I meant when I said in the generic case with at least two matrices, the commutant is always just scalar matrices, because you need some of the eigenvectors to match for there to be nontrivial commutants. – David Gao Aug 23 '24 at 04:32

1 Answers1

1

Consider $A$ and $G$ which are $n \times n$ matrices. The objective is to find all $A$ s.t. $A G - G A = 0$. I will answer this numerically.

Consider the (convex) loss function $$ L(A) = ||AG - GA||_2^2 $$ Minimize the loss function for $A$. Notate the final result as $A^*$-- note it will be a solution for $A^* G = G A^*$

If we move in the direction $$ \nabla L |_{A = A^*} = 0 $$ It will preserve $A^* G = G A^*$, hence this parameterizes the space of solutions.

amongus
  • 55
  • 7