Let n be a positive integer and consider of finite set S⊂Mn(C) such that S∗=S (i.e. if M∈S then M∗∈S). The algebra generated by S is a finite dimensional ∗-algebra over C, so is isomorphic to a direct sum of matrix algebra (it is a particular case of Wedderburn decomposition), i.e. there are n1≤n2≤⋯≤nr such that:
⟨S⟩≃r⨁i=1Mni(C)
I know I to get ⟨S⟩ by using FiniteDimensionalAlgebra(CC,[M for M in S])
.
Question: How to compute with SageMath the change of basis P such that for all M∈S, we have P−1MP block-diagonal as for the above decomposition?
Remark: When the matrices commute over each other, it is called a simultaneous diagonalization, and I know how to compute it using jordan_form(transformation=True)
several times.
In some sense, what I am looking for in general is how to compute a simultaneous block-diagonalization