What this is¶
A Jupyter Book 2 / MyST computational textbook for Scientific Machine Learning (SciML) for Power Systems (PS) — short form SciML for PS. Focus: dynamic modeling, stability assessment, and system identification. Maintained by Albert Poulose for teaching and research training. The notes are written so machine-learning readers and power-systems readers can enter at their own level, including readers who are new to both. Pages follow a common pattern (goals → reading → media → example → lab → misconceptions).
You can enter anywhere¶
Start here asks two questions (your background, your role) and links to a route. You may also open the full outline and jump to a chapter.
Three things make that safe:
Before you start on each chapter names what the page assumes, with a hint for ML readers, a hint for power-systems readers, and a hint if both are new.
The glossary gives the plain meaning, the power-systems reading, and the ML reading of the same word. Notation is the symbol table.
Learning paths writes the routes out in order, including what you can skip.
The sidebar order (Preparation, then Foundations, then Dynamics, Stability, or Identification) is one useful route. It is the path_core overlay for a first course. It is optional if your background already covers part of it.
How SciML methods appear¶
These notes are organized by power-system question, not by a catalogue of architectures.
Name the engineering question: Dynamics, Stability, or Identification.
Use the same plant: Lab 1 (and Foundations SMIB chapters).
Keep a classical or supervised baseline, then meet an early physics-informed path: residual / inverse PINN in Labs 2–3.
Meet other families when the same plant needs them — Neural ODEs and operators in Lab 4, differentiable simulation under Identification, frontiers under Advanced. They do not get a second table of contents.
Keep five assessed labs. New methods deepen Labs 1–5 or sit in Advanced; they do not become Lab 6.
Family map: SciML method families. Practice table: Laboratories.
If you are new to programming¶
Use Programming from zero and Your first lab. That walkthrough runs Lab 1 in the browser. Install nothing until you want a copy on your own computer.
Software¶
For a local copy of the labs (the canonical path once you are past the browser walkthrough):
Core Python stack:
envs/course_core.yml(Labs 1–5 default). Setup steps: Running notebooks.Network / ANDES path (after SMIB CCT):
envs/course_andes.yml— see ANDES as network reference
Preview the book on your machine¶
Step-by-step commands and helper scripts, for people who want the HTML site locally:
Short path (Windows):
.\scripts\setup_env.ps1
conda activate sciml_ps
.\scripts\preview.ps1Then open http://
Running a single lab notebook is a smaller job than previewing the whole site. Beginners should use Your first lab first.
What not to expect yet¶
This book is a public preview v0.1 (v0.x series) and remains under development until v1.0. Stub pages and thin Preparation notebooks in the sidebar are intentional. Prefer the live HTML site over the experimental PDF. Version labels: Status and versions. How to run lab notebooks (local = canonical; Binder = primary online; Colab = secondary): Running notebooks.
Feedback and collaboration¶
See Feedback (GitHub issues for now; Google Form planned). To help improve the notes, translate a term into the other field, or express interest as a reviewer/section editor: Join and contribute. Neighbors and positioning: Related open resources.
License¶
Book content is CC BY-NC-SA 4.0 (free to share and adapt for non-commercial teaching with credit). Teaching code is MIT. Full terms: License.
For instructors and maintainers¶
Course overlays live on Learning paths. Previewing, editing chapters, wiring the TOC, and growing parts over many years is documented in the git repo under the docs/guides/ folder (maintainer handbook; not a book page). Hosting/PDF notes: docs/guides/site_hosting.md. Legal checklist: docs/guides/legal_and_licensing_considerations.md. Governance: root GOVERNANCE.md.