  We study cluster synchronization of networks and propose a canonical
transformation for simultaneous block diagonalization of matrices that we use
to analyze stability of the cluster synchronous solution. Our approach has
several advantages as it allows us to: (1) decouple the stability problem into
subproblems of minimal dimensionality while preserving physically meaningful
information; (2) study stability of both orbital and equitable partitions of
the network nodes and (3) obtain a parametrization of the problem in a small
number of parameters. For the last point, we show how the canonical
transformation decouples the problem into blocks that preserve key physical
properties of the original system. We also apply our proposed algorithm to
analyze several real networks of interest, and we find that it runs faster than
alternative algorithms from the literature.
