Skip to content
Science templates

Dynamical systems — equilibria and local stability

Analyse a smooth dynamical model through equilibrium solutions and a local linear approximation. Local eigenvalue behaviour does not by itself establish global stability or rule out nonlinear phenomena.

Template previewScience
Rendering…

What this template contains

Source
24 lines

Make it your own.

{
  "nodes": [
    { "id": "ode", "type": "rounded", "label": "State equations and parameters", "x": 40, "y": 200, "width": 150, "height": 104, "fill": "#ede9fe", "stroke": "#6d28d9" },
    { "id": "domain", "type": "octagon", "label": "Admissible state domain", "x": 40, "y": 520, "width": 150, "height": 104, "fill": "#e0f2fe", "stroke": "#0369a1" },
    { "id": "eq", "type": "rounded", "label": "Solve stationary conditions", "x": 215, "y": 200, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },
    { "id": "jac", "type": "rounded", "label": "Jacobian at each equilibrium", "x": 390, "y": 200, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },
    { "id": "eig", "type": "card", "label": "Eigenvalues / local classification", "x": 565, "y": 200, "width": 150, "height": 104, "fill": "#ccfbf1", "stroke": "#0f766e" },
    { "id": "traj", "type": "card", "label": "Numerical trajectories", "x": 565, "y": 520, "width": 150, "height": 104, "fill": "#ccfbf1", "stroke": "#0f766e" },
    { "id": "bif", "type": "rounded", "label": "Parameter sensitivity", "x": 740, "y": 200, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },
    { "id": "global", "type": "rounded", "label": "Global / nonlinear limitations", "x": 740, "y": 520, "width": 150, "height": 104, "fill": "#f1f5f9", "stroke": "#475569" },
    { "id": "res", "type": "rounded", "label": "Stability statement with scope", "x": 915, "y": 200, "width": 150, "height": 104, "fill": "#fce7f3", "stroke": "#be185d" }
  ],
  "edges": [
    { "id": "e0", "source": "ode", "target": "eq", "label": "set derivatives to zero" },
    { "id": "e1", "source": "domain", "target": "eq", "label": "filter admissible roots" },
    { "id": "e2", "source": "eq", "target": "jac", "label": "linearise" },
    { "id": "e3", "source": "jac", "target": "eig", "label": "classify" },
    { "id": "e4", "source": "ode", "target": "traj", "label": "explore initial conditions" },
    { "id": "e5", "source": "eig", "target": "bif", "label": "vary parameters" },
    { "id": "e6", "source": "traj", "target": "global", "label": "explore beyond local" },
    { "id": "e7", "source": "bif", "target": "res", "label": "local evidence" },
    { "id": "e8", "source": "global", "target": "res", "label": "qualify" }
  ]
}