SODAs: Sparse Optimization for the Discovery of Differential and Algebraic Equations

The paper introduces SODAs, a data-driven sparse optimization method that sequentially discovers the dynamic and algebraic components of differential-algebraic equations in their explicit form without prior variable elimination, thereby enabling the identification of interpretable, structure-preserving models for complex systems with unknown constraints.

Manu Jayadharan, Christina Catlett, Arthur N. Montanari, Niall M. Mangan

Published 2026-02-27
📖 6 min read🧠 Deep dive

Imagine you are a detective trying to figure out the rules of a complex game just by watching people play it. You have a video camera recording their every move, but you don't know the rulebook. Your goal is to write down the exact laws that govern how the game works.

This is exactly what scientists do when they try to understand complex systems like chemical reactions, power grids, or even swinging pendulums. They have data (the video), but they need to find the math (the rulebook).

For a long time, scientists used a method called SINDy (Sparse Identification of Nonlinear Dynamics). Think of SINDy as a detective who assumes every single player in the game is actively moving and changing the rules. They try to find a simple equation for every player.

The Problem:
In many real-world systems, not everyone is "moving" in the same way. Some players are actually just anchors or constraints.

  • The Anchor: Imagine a pendulum. The string has a fixed length. The bob (the weight) can swing, but it must stay exactly that distance from the center. It can't just float away. This is an algebraic constraint.
  • The Moving Part: The swinging motion itself is the differential equation.

Old methods tried to force the "anchor" (the fixed string length) to act like a "moving part." To do this, they tried to mathematically eliminate the anchor from the equations. This is like trying to describe a game of chess by only looking at the King and ignoring the fact that the board has 64 squares and specific rules about how pieces move. It makes the math incredibly messy, full of fractions and complex terms, and very sensitive to noise (static in the video).

The Solution: SODAs
The authors of this paper introduced a new method called SODAs (Sparse Optimization for the Discovery of Differential and Algebraic Equations).

Here is how SODAs works, using a simple analogy:

1. The "Two-Step" Detective

Instead of trying to solve the whole puzzle at once, SODAs splits the investigation into two distinct phases:

  • Phase 1: Find the Anchors (Algebraic Finder)
    First, the detective looks at the data to find the "rules that don't change." It asks: "Which variables are locked together?"

    • Analogy: If you see a video of a car driving on a track, SODAs first notices, "Hey, the car is always on the track. The distance from the center is fixed." It identifies this as a hard rule (an algebraic equation) without worrying about how fast the car is going.
    • Why this helps: It finds the "glue" holding the system together.
  • Phase 2: Clean the Mess (Library Refinement)
    Once the anchor is found, SODAs realizes that the "moving parts" and the "anchors" are mathematically redundant. If you know the car is on the track, you don't need to list every possible position the car could be in; you just need to know it's on the track.

    • Analogy: Imagine you have a library of 1,000 books to find the rulebook. You realize 500 of them are just copies of the same rule written in different ways. SODAs throws those 500 copies away. This makes the remaining library much smaller and easier to search. It removes "noise" and confusion.
  • Phase 3: Find the Motion (Dynamic Finder)
    Now that the library is clean and the anchors are identified, the detective looks at the remaining data to figure out how the system moves.

    • Analogy: Now that we know the car is on the track, we can easily figure out the engine rules (how fast it accelerates, how it turns) without getting confused by the track's shape.

2. Why is this better?

  • It handles "Static" better: Old methods got confused when data was slightly noisy (like a shaky camera). SODAs ignores the noise when finding the "anchors" because it doesn't need to calculate speed or acceleration for that step. It just looks for relationships.
  • It keeps the physics real: By keeping the "anchors" as separate equations, the final model looks like the real physical world. It tells you, "This part is fixed, and this part moves," rather than a messy, unrecognizable math soup.
  • It needs less data: Because it cleans up the library first, it doesn't need millions of data points to find the answer. It can work with smaller, noisier datasets.

Real-World Examples from the Paper

The authors tested SODAs on three very different "games":

  1. Chemical Reactions (The Kitchen):
    Imagine mixing ingredients. Some ingredients (enzymes) are used up and regenerated instantly, acting like a fixed rule. SODAs figured out which ingredients were the "fixed rules" (conservation laws) and which were the "cooking process" (dynamics), even when the data was noisy.

  2. Power Grids (The City):
    In a city's power grid, electricity must balance perfectly at every node (Kirchhoff's laws). These are the "anchors." SODAs looked at data from power lines and successfully mapped out the entire network topology (who is connected to whom) by first finding these balance rules, then figuring out how the generators swing.

  3. Swinging Pendulums (The Playground):
    They filmed a single pendulum and a chaotic double pendulum. The raw video showed the weight moving in X and Y coordinates (a messy circle). SODAs looked at the X and Y data and realized, "Wait, X2+Y2X^2 + Y^2 is always constant!" It discovered the hidden rule that the string length is fixed. Once it found that rule, it could easily translate the messy X/Y data into a simple angle (polar coordinates) and write down the simple equation for how the pendulum swings.

The Bottom Line

SODAs is a smarter way to reverse-engineer nature. Instead of trying to force a square peg into a round hole (treating fixed constraints as moving variables), it first identifies the fixed constraints, cleans up the math, and then solves for the movement. It's like realizing that to understand a dance, you first need to know the floor plan (the constraints) before you try to describe the dancers' steps.

Get papers like this in your inbox

Personalized daily or weekly digests matching your interests. Gists or technical summaries, in your language.

Try Digest →