Skip to content

Display equations for mass action ODE analysis#954

Merged
epatters merged 17 commits intomainfrom
kb/eq-viz
Jan 27, 2026
Merged

Display equations for mass action ODE analysis#954
epatters merged 17 commits intomainfrom
kb/eq-viz

Conversation

@kasbah
Copy link
Copy Markdown
Member

@kasbah kasbah commented Jan 22, 2026

closes #766 (short of porting others to PolynomialSystem)

  • Implements a separate analysis block with symbolic equations (🫣 take it up with Evan @tim-at-topos)
  • Adds an equation foldable, with parameters substituted, to the mass action simulation block

Both of these stop at 20 equations and then say "N more..." which the user can expand.

Examples:

@github-actions github-actions Bot temporarily deployed to netlify-preview January 22, 2026 18:27 Destroyed
@github-actions github-actions Bot temporarily deployed to netlify-preview January 22, 2026 18:29 Destroyed
@kasbah kasbah changed the title Kb/eq viz Implement display of equations for mass action Jan 22, 2026
@github-actions github-actions Bot temporarily deployed to netlify-preview January 22, 2026 18:32 Destroyed
@github-actions github-actions Bot temporarily deployed to netlify-preview January 22, 2026 18:35 Destroyed
@kasbah kasbah requested a review from epatters January 22, 2026 18:40
@tim-at-topos
Copy link
Copy Markdown
Contributor

I'm so excited for this, thank you!

  • Implements a separate analysis block with symbolic equations (🫣 take it up with Evan @tim-at-topos)

As long as he has a plan for how to make this manageable when there are multiple ODE semantics to pick from without cluttering up the menu with lots of items with similar names, I'll let it slide 😉

@epatters
Copy link
Copy Markdown
Member

epatters commented Jan 23, 2026

I'm so excited for this, thank you!

  • Implements a separate analysis block with symbolic equations (🫣 take it up with Evan @tim-at-topos)

As long as he has a plan for how to make this manageable when there are multiple ODE semantics to pick from without cluttering up the menu with lots of items with similar names, I'll let it slide 😉

Haha, fair point. Overall I think we should prefer the relative flexibility offered by the notebook component over making increasingly elaborate, but rigid and unmodifiable, layouts within a single analysis component. In this design, you could, for example, display the equations for the derived ODE system and then have several ODE simulations using different parameters, without repeating the equations each time.

To keep it manageable, we might consider organizing the available analyses with more structure than a list. E.g., we could group related analyses in the analysis menu:

  • Linear ODE dynamics
    • Equations
    • Simulation
  • Lotka-Volterra ODE dynamics
    • Equations
    • Simulation

Copy link
Copy Markdown
Member

@epatters epatters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Kaspar, I'm also excited to have this feature! A few comments below.

Comment thread packages/catlog/src/zero/rig.rs Outdated
Comment thread packages/catlog/src/simulate/ode/polynomial.rs
Comment thread packages/catlog/src/simulate/ode/polynomial.rs Outdated
Comment thread packages/catlog/src/simulate/ode/polynomial.rs Outdated
Comment thread packages/catlog/src/zero/rig.rs Outdated
Comment thread packages/frontend/src/stdlib/analyses/model_ode_plot.ts Outdated
Comment thread packages/frontend/src/stdlib/analyses/model_ode_plot.ts Outdated
@epatters epatters changed the title Implement display of equations for mass action Display equations for mass action ODE analysis Jan 23, 2026
@epatters epatters added enhancement New feature or request frontend TypeScript frontend and Rust-wasm integrations core Rust core for categorical logic and general computation labels Jan 23, 2026
@github-actions github-actions Bot temporarily deployed to netlify-preview January 23, 2026 21:27 Destroyed
@github-actions github-actions Bot temporarily deployed to netlify-preview January 23, 2026 23:28 Destroyed
@github-actions github-actions Bot temporarily deployed to netlify-preview January 23, 2026 23:38 Destroyed
@github-actions github-actions Bot temporarily deployed to netlify-preview January 23, 2026 23:43 Destroyed
@kasbah
Copy link
Copy Markdown
Member Author

kasbah commented Jan 23, 2026

Thanks Evan, I believe I have addressed all feedback.

@kasbah kasbah requested a review from epatters January 23, 2026 23:47
Comment thread packages/catlog-wasm/src/theories.rs Outdated
Comment thread packages/frontend/src/stdlib/analyses/model_ode_plot.ts Outdated
@github-actions github-actions Bot temporarily deployed to netlify-preview January 24, 2026 01:48 Destroyed
@github-actions github-actions Bot temporarily deployed to netlify-preview January 27, 2026 02:02 Destroyed
@github-actions github-actions Bot temporarily deployed to netlify-preview January 27, 2026 02:03 Destroyed
@github-actions github-actions Bot temporarily deployed to netlify-preview January 27, 2026 02:09 Destroyed
@kasbah kasbah marked this pull request as ready for review January 27, 2026 02:13
@kasbah kasbah requested a review from epatters January 27, 2026 02:13
@kasbah
Copy link
Copy Markdown
Member Author

kasbah commented Jan 27, 2026

I fixed equations with params substituted not showing up. I had broken that when switching to wasm uuid replacment.

This change is purely cosmetic but it makes the pretty-printed system
look better.
@epatters epatters merged commit 4d493e3 into main Jan 27, 2026
19 checks passed
@epatters epatters deleted the kb/eq-viz branch January 27, 2026 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Rust core for categorical logic and general computation enhancement New feature or request frontend TypeScript frontend and Rust-wasm integrations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Display equations generated in analyses as LaTeX math

3 participants