Stuart-Landau Network Explorer
Interactive companion to the paper

Task structure and dynamical regimes shape information processing in physical oscillator networks

Every network on this page is a trained Stuart-Landau recurrent network, running live in your browser. Change the oscillator parameters and watch the computation succeed or fail.

input force Re z Im z

Some physical systems compute by moving. A laser, a circuit or a population of neurons takes a signal in, lets its own dynamics churn on it, and reads an answer out. You cannot program such a system line by line. You can only tune its physics: how fast it oscillates, how strongly it is damped, how hard the input pushes. This page lets you do exactly that, to networks that have already learned three real tasks.

The three networks below were trained on real benchmarks: reading handwritten digits one pixel at a time, judging film reviews, forecasting a chaotic signal. Their learned connections never change while you play. The sliders move only the physics underneath, and each task breaks in its own direction. Which regime a task needs turns out to follow from the temporal structure of its input, and that is what the paper reports. Everything here runs in your browser; nothing is sent anywhere.

Start here

  1. The dials in the middle show where the oscillators ended up after the whole sequence. Each circle is one oscillator. Press Play to watch them get there.
  2. Drag λ, the first slider, to the left. Damping rises, the dots collapse to their centres, and the digit readout on the right falls apart.
  3. Press Reset to paper values to bring it back.
  4. Switch to IMDb sentiment and try the same thing. This task fails in the opposite direction, which is the whole point.

Task

input sequence u(t)
What the network is asked to do, and the signal it receives one value at a time. Pick a different example to feed it.

Signal fed to the network

Network of Stuart-Landau oscillators

each dial is one node's complex plane
The machine itself. Every dial is one oscillator: the dot is its current state, the blue trail its recent path, the amber stub the push the input is giving it right now, and the lines the learned connections. Every pair of oscillators is drawn, in both directions, with weight and opacity set by the strength of that connection, so a dense mesh is a densely coupled network. The arc hugging each dial is that node's connection to itself.
t = 0 / 784

Readout

linear map of [Re z(T), Im z(T)]
The answer. A single fixed weighted sum of the oscillators' final positions, nothing more. If the answer is wrong, the state the dynamics arrived at did not carry the information.

Oscillator parameters

shared by all nodes · weights stay as trained
These six numbers are the physics. On a real device they would be a pump current or a bias voltage. Move them and the trained network is forced to compute in a regime it was not trained for.
Bifurcation parameter. λ < 0: trajectories relax to the origin with rate |λ|. λ > 0: self-sustained oscillation (if γreal < 0).
Rotation rate in the complex plane, radians per step. The paper sets it from the input's period: 2π/28 for sMNIST, 2π/175 for IMDb, 0.15 for Mackey-Glass.
Cubic amplitude term. Negative values cap the amplitude at r = √(−λ/γreal); positive values make growth self-reinforcing.
Shear: the rotation speed depends on amplitude, φ̇ = ω + γimag r². Nonzero values twist trajectories in phase space.
Strength of the tanh-bounded force α·tanh(I) pushing the real part. The paper works in the weakly driven regime, α = 0.04, where the nodes' own dynamics dominate.
Integration step of z ← z + h·ż, one per input sample. Trained at h = 1. Smaller h slows the whole dynamics relative to the input.
Try

What the dynamics are doing

Everything below is computed from the network you are looking at, with the parameters currently set, and with its trained connections held fixed. Drag the point on the regime map to move the whole network through its bifurcation landscape. Keep in mind throughout that you are testing one already-calibrated machine in conditions it was not calibrated for, which is a different question from asking how well a network could do if it were trained in those conditions.

Regime map (λ, γreal)

drag the point
Analytical stability of a single unforced node (Appendix A of the paper). The origin is a stable spiral for λ < 0 and unstable for λ > 0; a limit cycle of radius √(−λ/γreal) exists only when λ and γreal have opposite signs, stable in the supercritical quadrant and unstable (a basin boundary) in the subcritical one. The amber dashed line is where the forward-Euler map used by the network actually loses stability at the current ω and h, λc = (√(1 − h²ω²) − 1)/h, slightly left of the analytic λ = 0. Tinted background: this network's score on the shipped test samples at each grid point, computed live, with its trained weights left exactly as they are.

Read this map the right way

The scan concentrates the good scores (the darkest cells) in a small region around the settings this network was trained at. That is expected, and it is not the same map as the paper's. The two ask different questions.

Here, one network, moved out of its world. Its connections were learned at one setting and then frozen, so changing the parameters is like letting a device drift after calibration: the readout is tuned to a machine that no longer exists. This measures tolerance, how far the physics may wander before the calibration is worthless.

In the paper, a fresh network at every point. Each setting gets its own weights, trained from scratch there. That measures capability, the best a network could do with that physics.

A broad optimum there and a narrow one here are therefore consistent: a regime can be excellent to train in and still unforgiving to drift away from once you have committed to it.

One node, unforced

phase portrait at current parameters

Amplitudes |zi(t)| during the sequence

all nodes · current sample

Effective dimension of the state

PCA of the 2N-dimensional trajectory

Memory of a single input

linear response kernel

Readout in the state

final states of the shipped samples

Why a physical computer has to choose a regime

Semiconductor lasers, electronic circuits and populations of neurons all turn input signals into outputs through their own dynamics, and there is growing interest in using such systems directly as computational substrates. A physical computer differs from a digital one in that its state cannot be set arbitrarily. The reachable behaviours are the ones the device can occupy, tuned by a few control parameters such as a pump current or a bias voltage. Given a task, the design question becomes: in which dynamical regime should the system operate? Near a fixed point, at the onset of oscillation, or on a self-sustained limit cycle?

The paper answers this for three tasks with different temporal structure, using the one model that describes any system close to the onset of oscillation.

The Stuart-Landau oscillator

The Stuart-Landau equation is the normal form of a Hopf bifurcation, the generic transition between a stable fixed point and a self-sustained oscillation. A single-mode semiconductor laser with weak delayed feedback, an electronic oscillator, or a neural population all reduce to it near that transition, so its parameters map onto physically tunable quantities of each platform. For a single complex-valued state z it reads

(1)z˙=(λ+iω)z+(γreal+iγimag)|z|2z

Writing z = r e separates amplitude from phase: ṙ = λr + γreal r³ and φ̇ = ω + γimag r². The amplitude equation has fixed points at r = 0 and at r = √(−λ/γreal). With λ < 0 every trajectory spirals into the origin at rate |λ|; the node is a damped oscillator with a fading memory of what pushed it. When λ crosses zero the origin becomes unstable and, provided γreal < 0 caps the growth, the node settles onto a limit cycle whose amplitude grows as √λ. The complex state gives each node two degrees of freedom, amplitude and phase, and the readout uses both.

The network

N oscillators are coupled through a trained recurrent matrix and driven by the input through a trained input matrix. The force enters the real part of ż through a bounded nonlinearity:

(3)z˙=(λ+iω)z+(γreal+iγimag)|z|2z+αtanh(I)
(4)I=Winu(t)+bin+1n(Wrec[zrealzimag]+brec)

The state is integrated by forward Euler with step h = 1, one step per input sample, from z(0) = 0. After the last sample a linear readout maps the concatenated real and imaginary parts of z(T) to the output, so the whole input history has to be folded into the final state. Only Win, Wrec, Wout and the biases are learned, by backpropagation through time; the oscillator parameters (λ, ω, γreal, γimag, α) are fixed and shared by all nodes, so the effect of the regime can be isolated. That is exactly what the sliders above change: the weights stay as trained, the physics underneath them moves.

A detail of the implementation matters for reading the maps. With one Euler step per sample at h = 1, the linearised update multiplies a node's state by 1 + h(λ + iω), whose modulus √((1 + hλ)² + h²ω²) exceeds 1 at λ = 0 whenever ω ≠ 0. The discrete network therefore starts oscillating a little before the continuous-time Hopf point, at λc ≈ −hω²/2 (about −0.025 for sMNIST, −0.011 for Mackey-Glass, −0.0006 for IMDb), and its cycle radius at λ = 0 is not zero. The regime badge and the dashed circles on this page use the Euler map, so they describe what the simulation does; the quadrants of the regime map follow the paper's analytic derivation.

Three tasks, three temporal structures

Sequential MNIST. A 28 × 28 digit is unrolled into 784 pixel values and fed one per step. The scan is row-periodic with period 28, so the natural frequency is set to ω = 2π/28. Solving the task requires tracking the position within a row and binding features across all rows.

IMDb sentiment. A movie review is tokenised, cut or padded to T = 175 tokens, and each token's embedding vector enters as the input at one step. The signal has no periodic structure; ω = 2π/175 makes one natural oscillation span the whole sequence.

Mackey-Glass. A chaotic time series from the delay equation ẋ = βx(t−τ)/(1+x(t−τ)10) − γx with τ = 17. The network sees a window of 50 values and predicts the value H steps ahead. By Takens' theorem an accurate forecast requires reconstructing the attractor's geometry inside the oscillator state.

What the paper finds

Each task attains its best performance in a distinct region of the dynamical landscape, and the region, the required dimension and the required nonlinearity are set by the temporal structure of the input rather than by task difficulty.

PropertyIMDbsMNISTMackey-Glass H = 1Mackey-Glass H = 25
SignalUnstructured, aperiodicRow-periodic, period 28Chaotic, characteristic frequencysame
Best regimeNarrow near-critical strip, damped side (λ ≈ −0.1)Limit cycle, λ > 0Broad damped half-planeDamped, shifted toward weaker damping
Role of ωNoneRigid clock, resonance at 2π/28Must stay below the signal's frequencysame
Scaling with NN = 1 sufficesStrong, plateau near N ≈ 50N = 1 sufficesStrong, plateau near N ≳ 50
NonlinearityNone required, a linear filter worksHelps; prefers the complex SL node over a damped harmonic oscillatorNone requiredBenefits from the oscillator nonlinearity
MemoryLong, near-losslessFull sequence, held by the phase referenceShort, recent windowLonger as the horizon grows
Most reshaped weightsMinimal (readout)Input map WinRecurrent map WrecWrec

Sentiment is an accumulator. Just below the Hopf threshold the relaxation rate |λ| is small, so the fading-memory timescale 1/|λ| is longer than the review while the dynamics stay stable. A single node behaves as a two-dimensional leaky integrator with two orthogonal storage directions (its real and imaginary parts), and the logit margin grows monotonically with the final amplitude |z(T)|. Moving deeper into damping shortens the memory below the sequence length and accuracy degrades; the linear version of the node does just as well, so no nonlinearity is needed. The price is that word order is lost: only the aggregate polarity survives, which is why negation and contrast set a ceiling on accuracy.

Sequential MNIST needs a clock. A self-sustained limit cycle supplies a stable phase reference against which the row position is encoded, and that reference persists across the 784-step scan, which a purely decaying state cannot maintain. Networks retrained at each setting reach high accuracy across the whole limit-cycle quadrant, peaking when ω resonates with the row frequency, and need a high-dimensional state to hold the features of all rows: accuracy rises with N until about 50 nodes. sMNIST is also the task most sensitive to the input drive: a strong α overwrites the oscillation and removes the phase reference. Note that the network on this page, whose weights are frozen at one setting, is far less forgiving than that: because the digit's identity is carried by the phase accumulated over 784 steps, a detuning of ω by even a few per cent accumulates several radians of drift by the end of the scan and the readout loses its reference. Long sequences buy memory at the price of precision.

Mackey-Glass reconstructs geometry. One step ahead, the target lies close to the last input and a single strongly damped node reaches R² ≈ 1. Predicting 25 steps ahead requires embedding a larger portion of the strange attractor; more independent coordinates are needed to unfold it, so performance climbs with N and the optimum shifts toward weaker damping and longer memory. The dimension a forecast needs is set by the horizon, not by the raw signal.

These observations sit on a single axis. A driven dynamical system has a bounded information-processing capacity shared between linear memory (faithfully retaining past inputs) and nonlinear transformation of those inputs. IMDb sits at the memory end, Mackey-Glass at the transformation end, and sMNIST between them, needing both. The regime a task selects is the setting of the network along this axis.

About the networks on this page

The equations, integrator, weight layout and preprocessing are those of the paper's public code (stuart-landau-oscillator-network on GitHub). The browser implementation was checked against the PyTorch model to within single-precision round-off.