  In this paper, the synchronization of heterogeneous agents interacting over a
dynamical network is studied. The edge dynamics can model the inter-agent
communications which are often heterogeneous by nature. They can also model the
controllers of the agents which may be different for each agent or uniform for
all the agents. Novel synchronization conditions are obtained for both cases
from a phase perspective by exploiting a recently developed small phase
theorem. The conditions scale well with the network and reveal the trade-off
between the phases of node dynamics and edge dynamics. We also study the
synchronizability problem which aims to characterize the allowable diversity of
the agents for which controllers can be designed so as to achieve
synchronization. The allowable diversity is captured in terms of phase
conditions engaging the residue matrices of the agents at their persistent
modes. Controller design algorithms are provided for the cases of
agent-dependent and uniform controllers, respectively.
