kangwonlee / kangwonlee/nmisp

Pedagogy: add interactive parameter / initial-condition slider to Lorenz attractor notebook

Open
#375 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
12
Forks
76
PR merge metrics
No merged PRs in 30d

Description

Add an ipywidgets interactive control panel to `50_ode/50_Attractors.ipynb` for the Lorenz system, letting learners vary the parameters (σ, ρ, β) and/or the initial condition `(x₀, y₀, z₀)` and re-render the trajectory in 3D.

## Scope

- Sliders: σ (e.g., 0–20), ρ (e.g., 0–60, with 28 highlighted as the canonical chaotic value), β (e.g., 0–4).
- Optional: 3 sliders for initial condition.
- Re-integrate with `scipy.integrate.solve_ivp` on slider change and redraw the 3D phase plot.

## Why

The Lorenz attractor's whole pedagogical hook is sensitivity to parameters and initial conditions — the *bifurcation* from a stable point to chaos as ρ crosses ~24.74, the well-known butterfly emerging at ρ=28. A static plot conveys none of that. An interactive scrubber lets learners discover the structure themselves, which is the entire point of teaching chaos numerically.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with 50_ode/50_Attractors.ipynb and run the existing Lorenz attractor notebook to understand its current integration and 3D plot. Add an ipywidgets control panel for the Lorenz parameters and, optionally, initial conditions, re-integrating with scipy.integrate.solve_ivp on changes. Done means learners can vary the values and see the trajectory update in 3D.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, python
Domain
data-visualization, documentation
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.