hypersynchronization.identify_q_twisted#

hypersynchronization.identify_q_twisted(thetas, atol=0.1)[source]#

Check if twisted state and identify its winding number.

The winding number indicates how many times the phase angles wind around the unit circle.

Parameters:
thetasarray-like, shape (n_phases,)

Phases of the oscillators.

atolfloat, optional

Tolerance for deciding whether phase differences are uniform enough to be a twisted state. Default is 1e-1.

Returns:
qint

The winding number, indicating how many times the phase angles wind around the unit circle.

is_twisted_statebool

True if the phase differences are close to their mean, indicating a twisted state; False otherwise.

See also

identify_state

Identify the overall synchronization state.

generate_q_twisted_state

Generate a q-twisted initial condition.

Examples

>>> import hypersynchronization as hs
>>> theta = hs.generate_q_twisted_state(10, q=2, noise=0)
>>> q, is_twisted = hs.identify_q_twisted(theta)
>>> q, is_twisted
(2, True)