Function Repository Resource:

# IteratedMap2D

Obtain the orbit of a 2D iterated map from given initial conditions

Contributed by: E. Chan-López, Erika Yuridia Flores Chan, Héctor Argote Morales & Víctor Castellanos
 ResourceFunction["IteratedMap2D"][map,icv,depvar,trange,stepsize] gives the orbit corresponding to the recurrence equations represented by map with initial conditions icv, dependent variables depvars, an iterator specification trange and a stepsize.

## Details

The map must be a list of recurrence equations.
The icv must be a list of initial conditions.
The depvars must be a list containing the dependent variables.
The trange must be a list containing the independent variable and a matrix.
The stepsize corresponds to the steps taken to reach the maximum number of iterations.
ResourceFunction["IteratedMap2D"][map,icv,depvars,trange,stepsize,"TimeSeriesData"] can be used to obtain the time series data from orbit data.

## Examples

### Basic Examples (6)

 In[1]:=
 Out[2]=

Initial condition:

 In[3]:=
 Out[3]=

Interval of the maximum number of iterations:

 In[4]:=
 Out[4]=

Step size of iterations for initial condition X0:

 In[5]:=
 Out[5]=

Generate the orbit of the Gingerbreadman map:

 In[6]:=
 Out[6]=

Visualize the orbit:

 In[7]:=
 Out[7]=

### Scope (2)

Define the following dynamical system:

 In[8]:=
 Out[9]=

Initial condition:

 In[10]:=
 Out[10]=

Interval of the maximum number of iterations:

 In[11]:=
 Out[11]=

Step size of iterations for initial condition X0:

 In[12]:=
 Out[12]=

Orbit data:

 In[13]:=
 Out[13]=

Visualize the orbit:

 In[14]:=
 Out[14]=

Use IteratedMap2D for several initial conditions with the map:

 In[15]:=
 Out[16]=

Initial conditions:

 In[17]:=
 Out[17]=

Interval of the maximum number of iterations for each initial condition:

 In[18]:=
 Out[18]=

Step size of iterations for each initial condition:

 In[19]:=
 Out[19]=

Orbits data:

 In[20]:=
 Out[20]=

Visualize the orbits:

 In[21]:=
 Out[21]=

### Applications (28)

#### Neimark-Sacker bifurcation (13)

Use IteratedMap2D considering three initial conditions with the following two-dimensional discrete-time dynamical system :

 In[22]:=
 Out[23]=

Jacobian matrix:

 In[24]:=
 Out[25]=

The non-trivial fixed point:

 In[26]:=
 Out[27]=

The Neimark-Sacker critical bifurcation value:

 In[28]:=
 Out[28]=

The transversality condition:

 In[29]:=
 Out[29]=

The non-trivial fixed point is unstable for 𝓇>𝓇0 and locally stable for 𝓇<r0, with the stable closed invariant curve bifurcating from for 𝓇>𝓇0. Define the system for 𝓇<r0 and 𝓇>𝓇0:

 In[30]:=
 Out[32]=

Initial conditions for 𝓇<r0 and 𝓇>𝓇0:

 In[33]:=
 Out[33]=
 In[34]:=
 Out[34]=

Intervals of the maximum number of iterations for 𝓇<r0 and 𝓇>𝓇0:

 In[35]:=
 Out[35]=
 In[36]:=
 Out[36]=

Step size of iterations for each initial condition when 𝓇<r0 and 𝓇>𝓇0:

 In[37]:=
 Out[37]=
 In[38]:=
 Out[38]=

Orbits data for 𝓇<r0:

 In[39]:=
 Out[39]=

Orbits data for 𝓇>r0:

 In[40]:=
 Out[40]=

Visualize the phase portrait graphics for the two conditions:

 In[41]:=
 Out[41]=

Generate time series data for the discrete-time dynamical system:

 In[42]:=
 Out[42]=
 In[43]:=
 Out[43]=

#### Multiple Attractors in a Predator-Prey Model (5)

Define a predator-prey model using the Crowley-Martin functional response and initial conditions:

 In[44]:=
 Out[45]=

Interval of the maximum number of iterations for each initial condition:

 In[46]:=
 Out[46]=

Step size of iterations for each initial condition:

 In[47]:=
 Out[47]=

Orbits data:

 In[48]:=
 Out[48]=

Visualize the orbits:

 In[49]:=
 Out[49]=

 In[50]:=
 Out[51]=
 In[52]:=
 Out[52]=

Interval of the maximum number of iterations:

 In[53]:=
 Out[53]=

Step size of iterations for the initial condition X0:

 In[54]:=
 Out[54]=

Orbit data:

 In[55]:=
 Out[55]=

Visualize the orbit:

 In[56]:=
 Out[56]=

First strange attractor:

 In[57]:=

Orbit data:

 In[58]:=
 Out[58]=

Visualize the orbit:

 In[59]:=
 Out[59]=

Second strange attractor:

 In[60]:=

Orbit data:

 In[61]:=
 Out[61]=

Visualize the orbit:

 In[62]:=
 Out[62]=

Third strange attractor with multiple periodic orbits:

 In[63]:=
 Out[64]=

Initial condition:

 In[65]:=
 Out[65]=

Orbit data:

 In[66]:=
 Out[66]=

Visualize the orbit:

 In[67]:=
 Out[67]=

Zoom into an "interesting" region:

 In[68]:=
 Out[68]=

#### Standard Map (5)

The standard map is defined by the equation 𝓍n+1=𝓍n+ε sin(𝓍n) , 𝓎n+1=𝓎n+𝓍n+1 where 𝓍n and 𝓎n are taken modulo 2π:

 In[69]:=

Interval of the maximum number of iterations for each initial condition:

 In[70]:=
 Out[70]=

Step size of iterations for each initial condition:

 In[71]:=
 Out[71]=

Orbits data:

 In[72]:=
 Out[72]=

Visualize the orbits:

 In[73]:=
 Out[73]=

#### Gumowski-Mira Attractor (5)

The Gumowski-Mira map is defined by 𝓍n+1=𝒷 𝓎n+𝒻(𝓍n) , 𝓎n+1=𝒻(𝓍n+1)-𝓍n, where :

 In[74]:=
 Out[76]=

Interval of the maximum number of iterations for each initial condition:

 In[77]:=
 Out[77]=

Step size of iterations for each initial condition:

 In[78]:=
 Out[78]=

Orbits data:

 In[79]:=
 Out[79]=

Visualize the orbits:

 In[80]:=
 Out[80]=

### Properties and Relations (4)

The map exhibit a Neimark-Sacker bifurcation for 𝓇>𝓇0 at . IteratedMap2D can be used with the resource function PlotGrid to exhibit in a clear fashion a simple bifurcation diagram for the above map:

Orbits data for 𝓇<r0:

 In[81]:=
 Out[81]=
 In[82]:=
 Out[82]=

Orbits data for 𝓇>r0:

 In[83]:=
 Out[83]=
 In[84]:=
 Out[84]=

Visualize the bifurcation diagram:

 In[85]:=
 Out[85]=

## Publisher

Ramón Eduardo Chan López

## Version History

• 1.0.0 – 16 September 2022