-
-
Notifications
You must be signed in to change notification settings - Fork 78
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
DSL variables created from observable eqs are not equivalent to normal variables #1057
Comments
I wrote a comment on it here: #1056 (comment), but I really need someone who knows more about Symobilcs to explain, as stuff like these just isn't documented at all. |
This seems to be the culprit: Line 788 in 005a58f
We need to instead directly build the observable variables with the independent variables specified. |
@TorkelE it would be good to fix this for V15 since it technically changes the semantics of these variables. |
What's the expected behavior here? should |
If a symbolic is created via an observable the generated symbolic stood be the exact same as if it was created with |
Hmm what would be the way to check that? I don't think there's a way that they could generate the same code when expanded if the observable IVs are inferred automatically |
I think I got observables to generate the same way as variables but not sure what sort of tests to write to check they are actually the same. |
Maybe something like this: rn1 = @reaction_network rn_observed begin
@variables X1(t)
@observables X2 ~ X1
k, A --> 0
end
t = Catalyst.default_t()
@variables X2(t)
# this is false on the last release, but should be true:
isequal(rn1.X2, X2) |
when expanded gives
Notice the difference in
X1
's definition vs.X2
:vs
The text was updated successfully, but these errors were encountered: