Uses stability analysis to classify equilibrium points. Uses the Taylor Series approach (also known as perturbation analysis) to classify equilibrium points of a one -imensional autonomous ODE system, or the Jacobian approach to classify equilibrium points of a two-dimensional autonomous ODE system. In addition, it can be used to return the Jacobian at any point of a two-dimensional system.
stability( deriv, ystar =NULL, parameters =NULL, system ="two.dim", h =1e-07, summary =TRUE, state.names =if(system =="two.dim") c("x","y")else"y")
Arguments
deriv: A function computing the derivative at a point for the ODE system to be analysed. Discussion of the required structure of these functions can be found in the package vignette, or in the help file for the function ode.
ystar: The point at which to perform stability analysis. For a one-dimensional system this should be a numeric
vector of length one, for a two-dimensional system this should be a numeric
vector of length two (i.e., presently only one equilibrium point's stability can be evaluated at a time). Alternatively this can be specified as NULL, and then locator can be used to choose a point to perform the analysis for. However, given you are unlikely to locate exactly the equilibrium point, if possible enter ystar yourself. Defaults to NULL.
parameters: Parameters of the ODE system, to be passed to deriv. Supplied as a numericvector; the order of the parameters can be found from the deriv file. Defaults to NULL.
system: Set to either "one.dim" or "two.dim" to indicate the type of system being analysed. Defaults to "two.dim".
h: Step length used to approximate the derivative(s). Defaults to 1e-7.
summary: Set to either TRUE or FALSE to determine whether a summary of the stability analysis is returned. Defaults to TRUE.
state.names: The state names for ode functions that do not use positional states.
Returns
Returns a list with the following components (the exact make up is dependent upon the value of system): - classification: The classification of ystar.
Delta: In the two-dimensional system case, the value of the Jacobian's determinant at ystar.
deriv: As per input.
discriminant: In the one-dimensional system case, the value of the discriminant used in perturbation analysis to assess stability. In the two-dimensional system case, the value of tr^2 - 4*Delta.
eigenvalues: In the two-dimensional system case, the value of the Jacobian's eigenvalues at ystar.
eigenvectors: In the two-dimensional system case, the value of the Jacobian's eigenvectors at ystar.
jacobian: In the two-dimensional system case, the Jacobian at ystar.
h: As per input.
parameters: As per input.
summary: As per input.
system: As per input.
tr: In the two-dimensional system case, the value of the Jacobian's trace at ystar.
ystar: As per input.
Examples
# Determine the stability of the equilibrium points of the one-dimensional# autonomous ODE system example2example2_stability_1 <- stability(example2, ystar =0, system ="one.dim")example2_stability_2 <- stability(example2, ystar =1, system ="one.dim")example2_stability_3 <- stability(example2, ystar =2, system ="one.dim")# Determine the stability of the equilibrium points of the two-dimensional# autonomous ODE system example11example11_stability_1 <- stability(example11, ystar = c(0,0))example11_stability_2 <- stability(example11, ystar = c(0,2))example11_stability_3 <- stability(example11, ystar = c(1,1))example11_stability_4 <- stability(example11, ystar = c(3,0))