-
-
Notifications
You must be signed in to change notification settings - Fork 17
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
WIP: Identifiability with known generic initial conditions #249
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #249 +/- ##
===========================================
- Coverage 89.81% 73.87% -15.94%
===========================================
Files 27 28 +1
Lines 3268 3326 +58
===========================================
- Hits 2935 2457 -478
- Misses 333 869 +536 ☔ View full report in Codecov by Sentry. |
That is nice! In principle, is it right that we can have a keyword |
@@ -41,6 +41,10 @@ function poly_ring(F::RationalFunctionField) | |||
return parent(first(first(F.dennums))) | |||
end | |||
|
|||
function generators(F::RationalFunctionField) | |||
return vcat([[f[i] // f[1] for i in 2:length(f)] for f in F.dennums]...) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe dennums_to_fractions
Yes, the result that |
This PR adds two functions
assess_identifiability_kic
andidentifiable_functions_kic
which take as input, in addition to an ode also a list of functions, for which initial conditions are assumed to be known. In this context, the functions assess identifiability or find all identifiable functions in parameters and initial conditions, respectively.For example:
will return
Algorithmically, first identifiable functions are computed (
with_states=true
) and then the known initial conditions are added to them as generator of a fields following by an additional simplification step. The computation can be done more efficiently if the generators are added earlier, but this would complicate code quite a bit, not so clear if this is a good idea right now.What is missing is the version of this functionality for local identifiability.