Bifurcation2D#
- class brainpy.analysis.Bifurcation2D(model, target_pars, target_vars, fixed_vars=None, pars_update=None, resolutions=None, options=None)[source]#
Bifurcation analysis of 2D system.
Using this class, we can make co-dimension1 or co-dimension2 bifurcation analysis.
- plot_bifurcation(with_plot=True, show=False, with_return=False, tol_aux=1e-08, tol_unique=0.01, tol_opt_candidate=None, num_par_segments=1, num_fp_segment=1, nullcline_aux_filter=1.0, select_candidates='aux_rank', num_rank=100)[source]#
Make the bifurcation analysis.
- Parameters:
with_plot (
bool) – Whether plot the bifurcation figure.show (
bool) – Whether show the figure.with_return (
bool) – Whether return the computed bifurcation results.tol_aux (
float) – The loss tolerance of auxiliary function \(f_{aux}\) to confirm the fixed point. Default is 1e-7. Once \(f_{aux}(x_1) < \mathrm{tol\_aux}\), \(x_1\) will be a fixed point.tol_unique (
float) – The tolerance of distance between candidate fixed points to confirm they are the same. Default is 1e-2. If \(|x_1 - x_2| > \mathrm{tol\_unique}\), then \(x_1\) and \(x_2\) are unique fixed points. Otherwise, \(x_1\) and \(x_2\) will be treated as a same fixed point.tol_opt_candidate (
float, optional) – The tolerance of auxiliary function \(f_{aux}\) to select candidate initial points for fixed point optimization.num_par_segments (
int,sequenceofint) – How to segment parameters.num_fp_segment (
int) – How to segment fixed points.nullcline_aux_filter (
float) – Theselect_candidates (
str) –The method to select candidate fixed points. It can be:
fx-nullcline: use the points of fx-nullcline.fy-nullcline: use the points of fy-nullcline.nullclines: use the points in both of fx-nullcline and fy-nullcline.aux_rank: use the minimal value of points for the auxiliary function.
num_rank (
int) – The number of candidates to be used to optimize the fixed points. rank to use.
- Returns:
results (
tuple) – Return a tuple of analyzed results:fixed points: a 2D matrix with the shape of (num_point, num_var)
parameters: a 2D matrix with the shape of (num_point, num_par)
jacobians: a 3D tensors with the shape of (num_point, 2, 2)