egttools.plotting.plot_replicator_dynamics_in_simplex¶
- plot_replicator_dynamics_in_simplex(payoff_matrix=None, game=None, group_size=2, nb_points_simplex=100, nb_of_initial_points_for_root_search=10, atol=1e-07, atol_equal=1e-12, method_find_roots='hybr', atol_stability_pos=0.0001, atol_stability_neg=0.0001, atol_stability_zero=0.0001, figsize=(10, 8), ax=None, stability_mode='int')[source]¶
Plot the replicator dynamics on a 2D simplex for 2- or N-player matrix games.
- Parameters:
payoff_matrix (Optional[NDArray[np.float64]], default=None) – The payoff matrix of the game (used if game is not provided).
game (Optional[AbstractGame], default=None) – A game object from which the payoff matrix can be retrieved via .payoffs().
group_size (int) – Group size. Use 2 for pairwise interactions.
nb_points_simplex (int) – Sampling resolution for vector field.
nb_of_initial_points_for_root_search (int) – Number of starting points for root search.
atol (float) – Tolerance for edge drift detection.
atol_equal (float) – Tolerance for root comparison and filtering.
method_find_roots (str) – Root-finding algorithm (e.g. ‘hybr’).
atol_stability_pos (float) – Threshold for instability detection (positive eigenvalues).
atol_stability_neg (float) – Threshold for stability detection (negative eigenvalues).
atol_stability_zero (float) – Threshold for zero eigenvalues.
ax (Optional[plt.Axes]) – Optional existing axis.
stability_mode ({'bool', 'int'}, default='int') – Whether to return stability as booleans or integers: - ‘bool’: True for stable, False otherwise - ‘int’: 1 (stable), 0 (saddle), -1 (unstable)
- Returns:
Simplex plot object, replicator function, roots in barycentric and cartesian, and root stability indicators.
- Return type:
Tuple[Simplex2D, Callable, List[NDArray], List[NDArray], List[int] or List[bool]]
Notes
The returned gradient function is wrapped to include a dummy t parameter, enabling direct use with ODE solvers such as scipy.integrate.odeint. It can also be passed to egttools.plotting.Simplex2D to draw trajectories over the simplex.