-
-
Notifications
You must be signed in to change notification settings - Fork 224
[WIP] Differential Equation Function Transformations #141 #1073
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
base: master
Are you sure you want to change the base?
Conversation
I think that's fine for now. |
@ChrisRackauckas and @SteffenPL are we wanting to get this PR finished? Do either of have issues with me picking this up? I'm looking for a good first issue to get my feet wet. |
It's gone stale. Feel free to take this on yourself either using this as a starting point or from scratch. |
Hi, sorry for my inactivity. It wasn't really my focus for a while. I can work on it in the next week. Initially an issue in symbolics (with some simplify not working) was halting this PR, but the issue should be resolved now. I can try to work on it again/or at least help if you want to push another PR. |
Maybe to add more details. The main reason why I didn't ask for merging was that SDEs and DAEs were not supported at the time. |
For #141
I'm not quite done yet, but I wanted to ask for feedback to check that the direction is alright.
For example, the change of variables
z = exp(x)
looks currently like this:Since there is not symbolic way (AFAIK) to get the inverse of general nonlinear functions, one has to
provide both: the forward and backward substitution (
forward_subs
andbackward_subs
).In the test file, I also added a Riccati ODE and a 3D linear transformation as examples.
Details:
sys.defaults
exists, then those will be transformed as well.defaults
, one needs to providet0
)Questions:
Function
s because everything else is also symbolic.Things I will add for final PR/known bugs:
length(forward_subs) < length(states(sys))
, i.e. keep old state variables.Optional ideas: