Quantification of time scale separation using sojourn time in nullclines #50
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Regarding issue #45, this PR implements a function
calculate_sojourn_time_fractions_in_nullclines
which calculates the time fraction that an oscillation stays near the nullcline of each variable. It returns a numerical vector of which length equals the dimension of the problem and each element is between 0 and 1 by design. Its element close to 1 implies that the dynamics occurs near the nullcline of the corresponding variable, which lets us to identify a slowly-varying variable. Thus this function can be used to quantify the concept of the time scale separation in relaxation oscillators. For example,maximum(calculate_sojourn_time_fractions_in_nullclines(ode_solution))
close to 1 can be interpreted as the dynamics being relaxation oscillator-like having sharp transitions between slow states.