Kuramoto Model

Bifurcation Diagram

The order parameter \(r\) measures the coherence of the population. As coupling \(K\) increases, the system transitions from incoherent (\(r \approx 0\)) to synchronized (\(r > 0\)).

For a Cauchy distribution with scale \(\gamma\):

\[ K_c = \frac{2}{\pi g(0)} \tag{1}\]

where \(g(\omega)\) is the probability density function of the natural frequencies. For a Cauchy distribution with scale parameter \(\gamma\):

\[ g(\omega)=\frac{1}{\pi} \frac{\gamma}{\omega^2+\gamma^2} \tag{2}\]

In particular, \(g(0)=\frac{1}{\pi\gamma}\), so the critical coupling simplifies to

\[ K_c = 2\gamma \tag{3}\]

The theoretical order parameter is:

\[ r(K)= \begin{cases} 0, & K \le K_c \\ \sqrt{1-\frac{K_c}{K}}, & K > K_c \end{cases} \tag{4}\]

Warning: This exact formula only works for a Cauchy distribution!

Figure 1: Kuramoto diagram: theoretical curve from Equation 4 and empirical points (drawn from a normal distribution). Why is there a mismatch?

For any other distribution, the theoretical order parameter near onset is

\[ r \approx \sqrt{\frac{16}{\pi K_c^3}} \sqrt{\frac{\mu}{-g''(0)}} \tag{5}\]

where \(\mu\) measures the distance from the critical point (a dimensionless reduced coupling) and \(g''(0)\) is the second derivative of the frequency distribution at \(0\).

\[ \mu = \frac{K - K_c}{K_c} \tag{6}\]

This formula is derived from a perturbative analysis near the critical point and captures the square-root scaling of the order parameter as the coupling strength exceeds the critical value.

For a normal distribution with scale parameter (standard deviation) sigma:

\[ g(\omega) = \frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{\omega^2}{2\sigma^2}\right) \tag{7}\]

\[ g''(\omega) = \left( \frac{\omega^2}{\sigma^4} - \frac{1}{\sigma^2} \right) g(\omega) \tag{8}\]

Python Implementation

In a new script, draw the theoretical bifurcation diagram for \(0 < K < 5\).

On top of it, draw the empirical curve, using \(N = 1000\) oscillators, \(dt = 0.01\), stopping at \(t = 100\) and averaging the order parameter (\(r\)) over the last ten steps.

Do your two curves match? The example in Figure 1 shows a mismatch. Can you explain why? Can you fix it? If you are stuck, check the solution below.

The mismatch occurs because the closed-form theoretical curve Equation 4 is derived for a Cauchy frequency distribution, while the empirical data in Figure 1 is generated from a normal distribution.

To fix this you have two consistent options:

  1. Keep the normal distribution and use a matching theoretical prediction (typically only an approximation near onset, e.g. Equation 5).
  2. Keep the closed-form curve Equation 4 and generate the empirical data using a Cauchy distribution.
Figure 2: Kuramoto diagram: empirical points (normal frequencies) and a matching theoretical prediction (see Equation 5 for the near-onset scaling).

Alternatively, fix the mismatch by changing the empirical distribution to a Cauchy distribution, which matches the closed-form curve Equation 4.

Figure 3: Kuramoto diagram: theoretical curve Equation 4 and empirical points (Cauchy frequencies).

Validate Your Findings

Find the critical coupling \(K_c\) from the theoretical formula and check if it matches the empirical transition point in your simulations. You can estimate the empirical \(K_c\) by looking for the value of \(K\) where \(r\) starts to deviate significantly from zero. Or use then ear-onset scaling Equation 5 to fit the empirical data and extract an estimate of \(K_c\).

In your animation script from the previous page, try setting the coupling strength just below and just above the critical value to see the difference in the dynamics. You should see that below \(K_c\), the oscillators remain incoherent, while above \(K_c\), they start to synchronize and form a cluster on the unit circle.

Figure 4: Comparison between the theoretical critical coupling \(K_c\) and the empirical transition point observed in simulations. Individual oscillators are represented as blue dots, while the coupling strength is painted red.

What’s Next?

In the next page, we will merge the bifurcation diagram with the oscillator animation to create a full simulation of the Kuramoto model. This will allow us to see how the order parameter evolves in real time as we adjust the coupling strength and other parameters using sliders.

Full Simulation