Analyzing a system's stability properties
To use the following functionalities, you need to load ChoasTools.jl and Attractors.jl.
Fixed points
ChaosTools.fixedpoints — Functionfixedpoints(
sys::CoupledSDEs,
bmin::Vector,
bmax::Vector
) -> Tuple{StateSpaceSet, Vector{Vector{ComplexF64}}, Vector{Bool}}
Returns fixed points, their eigenvalues and stability of the system sys within the state space volume defined by bmin and bmax.
This is a wrapper around the
fixedpointsfunction ofDynamicalSystems.jl.
Input
bmin(Vector): lower limits of the state space box to be considered, as a vector of coordinatesbmax(Vector): upper limits- alternatively
box(IntervalBox) can replacebminandbmax
Example:
fixedpoints(sys, [-2,-1,0], [2,1,1])finds the fixed points of the 3D systemsysin a cube defined by the intervals[-2,2] × [-1,1] × [0,1].
Output
[fp, eigs, stable]
fp:StateSpaceSetof fixed pointseigs: vector of Jacobian eigenvalues of each fixed pointstable: vector of booleans indicating the stability of each fixed point (true=stable,false=unstable)
Additional methods
fixedpoints(sys::CoupedSDEs, box)
Edge tracking
The edge tracking algorithm is a simple numerical method to find the edge state or (possibly chaotic) saddle on the boundary between two basins of attraction. It is first introduced by Battelino et al. (1988) and further described by Skufca et al. (2006).
Attractors.edgetracking — Functionedgetracking(ds::CoupledSDEs, attractors::Dict; diffeq, kwars...)Runs the edge tracking algorithm for the deterministic part of the CoupledSDEs ds.
Keyword arguments
diffeq=(;alg = Vern9(), reltol=1e-11): ODE solver settingskwargs...: all keyword arguments ofAttractors.edgetracking
Attractors.bisect_to_edge — Functionbisect_to_edge(ds::CoupledSDEs, attractors::Dict;
u1, u2, bisect_thresh, diffeq, verbose, kwargs...)Runs the bisect_to_edge function for the deterministic part of the CoupledSDEs ds.
Keyword arguments
u1: State 1 (default: first state inattractors)u2: State 2 (default: second state inattractors)bisect_thresh=1e-6: distance thresholddiffeq=(;alg = Vern9(), reltol=1e-11): ODE solver settingsverbose=false: Verbosity of outputϵ_mapper=nothing: ϵ argument ofAttractors.AttractorsViaProximitykwargs...: Keyword arguments passed toAttractors.AttractorsViaProximity