Finest simultaneous block diagonalization of multiple matrices
This is the MATLAB code accompanying the paper: Y. Zhang and A. E. Motter, Symmetry-independent stability analysis of synchronization patterns, SIAM Rev. 62, 817–836 (2020). A variant of the algorithm (implemented in Python and MATLAB), which is simpler but not guaranteed to find the finest SBD in rare cases, can be found here.
The repository includes:
Implementation of the SBD algorithm (Algorithm 1 in the paper), which finds the finest simultaneous block diagonalization of any given set of symmetric matrices. The algorithm works by sequentially exploring invariant subspaces under matrix multiplications.
Examples showing applications of the SBD algorithm in analyzing network synchronization patterns, including patterns arising from symmetry clusters, Laplacian clusters, input clusters, and chimera states in multilayer networks.
Colormap file used for the plots in
examples.m. Blue corresponds to positive values and red to negative values. This file is modified from Light Bartlein Color Maps by Robert Bemis.
The adjacency matrix of the 30-node random network used in