Robustness Overlay

Parameter sweeps tracking the robustness of hidden attractors.

A single point in parameter space only tells part of the story. The robustness-overlay workflow performs a 1D parameter continuation. It sweeps a chosen parameter (like α\alpha in the Chua circuit) across a range, tracks a specific trajectory, and records how close the resulting attractor gets to the system’s unstable equilibria.

This is critical for observing bifurcations where a self-excited attractor suddenly detaches from the equilibria and becomes a hidden attractor.

Output

The workflow outputs a specialized JSON dataset containing an array of frames. Each frame corresponds to a specific parameter value and contains the robustness_cases (distances to O+O_+, OO_-, and O0O_0) for that state.

Python API

from hidden_attractors.workflows.robustness_overlay import main

args = [
    "--system", "chua-arctan",
    "--param", "alpha",      # Parameter to sweep
    "--start", "8.0",        # Start value
    "--end", "10.0",         # End value
    "--steps", "20",         # Number of frames
    "--q", "0.98",
    "--output", "results/sweep"
]

main(args)

Visualization

The output JSON from this workflow is designed to be fed directly into the plot_robustness_sweep() function in the visualization module, which generates a scatter plot showing the distance to each equilibrium as a function of the swept parameter.