Skip to content

Add example of how to compute nullclines using bifurcation kit #1194

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

TorkelE
Copy link
Member

@TorkelE TorkelE commented Mar 17, 2025

WIP

TorkelE added 5 commits March 16, 2025 22:55

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
@TorkelE TorkelE changed the title [WIP] Add example of how to compute nullclines using bifurcation kit Add example of how to compute nullclines using bifurcation kit Mar 20, 2025
Copy link
Member

@isaacsas isaacsas left a comment

Choose a reason for hiding this comment

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

I'm fine with this at a high level modulo my comments above, but this seems like a really complicated approach. Can't you just extract the symbolic equation from the ODE rhs for a given nullcline, and then plot it as an implicit function?

Comment on lines +27 to +38
using Catalyst
t = default_t()
@parameters v K n
@species X(t) Y(t)
rxs = [
Reaction(hillr(Y, v, K, n), [], [X]),
Reaction(hillr(X, v, K, n), [], [Y]),
Reaction(1.0, [X], []),
Reaction(1.0, [Y], []),
]
@named bs_switch = ReactionSystem(rxs, t)
bs_switch = complete(bs_switch)
Copy link
Member

Choose a reason for hiding this comment

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

Why create it programmatically? Seems like there is no advantage in this case (i.e. we aren't showing off any programmatic features)?

Copy link
Member Author

Choose a reason for hiding this comment

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

I think because the second half of the tutorial was programmatic I figured it was nice/easier to do a full programmatic one. However, you might be right that it doesn't really add anything.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
…g.md

Co-authored-by: Sam Isaacson <[email protected]>
@TorkelE
Copy link
Member Author

TorkelE commented Apr 3, 2025

You might be right about extracting functions. I had some idea why this made sense (for more complicated curves, although here I used a simpler case because I am familiar with it). You might be right that we really can do this generally without involving BifurcationKit. Maybe I will go back to the drawingboard a bit and think if I can streamline things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants