/net-sync-sym

Finding the finest simultaneous block diagonalization of multiple matrices by sequentially exploring invariant subspaces under matrix multiplications. Applications include the efficient analysis of arbitrary synchronization patterns in complex networks.

Primary LanguageMATLABMIT LicenseMIT

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:

  1. sbd_fast.m

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.

  1. examples.m

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.

  1. lbmap.m

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.

  1. random_net.txt

The adjacency matrix of the 30-node random network used in examples.m.