An Algorithm for Computing Reducing Subspaces by Block Diagonalization | Synapse