Ikeda map
Encyclopedia
In mathematics
Mathematics
Mathematics is the study of quantity, space, structure, and change. Mathematicians seek out patterns and formulate new conjectures. Mathematicians resolve the truth or falsity of conjectures by mathematical proofs, which are arguments sufficient to convince other mathematicians of their validity...

, an Ikeda map is a discrete-time dynamical system
Dynamical system
A dynamical system is a concept in mathematics where a fixed rule describes the time dependence of a point in a geometrical space. Examples include the mathematical models that describe the swinging of a clock pendulum, the flow of water in a pipe, and the number of fish each springtime in a...

 given by



where u is a parameter and


For some values of u, this system has a chaotic attractor.

Attractor

This animation shows how the attractor of the system changes as the parameter is varied from 0.0 to 1.0 in steps of 0.01. The Ikeda dynamical system is simulated for 500 steps, starting from 20000 randomly placed starting points. The last 20 points of each trajectory are plotted to depict the attractor
Attractor
An attractor is a set towards which a dynamical system evolves over time. That is, points that get close enough to the attractor remain close even if slightly disturbed...

. Note the bifurcation of attractor points as is increased.

Point trajectories

The plots below show trajectories of 200 random points for various values of . The inset plot on the left shows an estimate of the attractor
Attractor
An attractor is a set towards which a dynamical system evolves over time. That is, points that get close enough to the attractor remain close even if slightly disturbed...

while the inset on the right shows a zoomed in view of the main trajectory plot.

Octave/MATLAB code for point trajectories

The Octave/MATLAB code to generate these plots is given below:



% u = ikeda parameter
% option = what to plot
% 'trajectory' - plot trajectory of random starting points
% 'limit' - plot the last few iterations of random starting points
function ikeda(u, option)
P = 200;%how many starting points
N = 1000;%how many iterations
Nlimit = 20; %plot these many last points for 'limit' option

x = randn(1,P)*10;%the random starting points
y = randn(1,P)*10;

for n=1:P,
X = compute_ikeda_trajectory(u, x(n), y(n), N);

switch option
case 'trajectory' %plot the trajectories of a bunch of points
plot_ikeda_trajectory(X);hold on;

case 'limit'
plot_limit(X, Nlimit); hold on;

otherwise
disp('Not implemented');
end
end

axis tight; axis equal
text(-25,-15,['u = ' num2str(u)]);
text(-25,-18,['N = ' num2str(N) ' iterations']);
end

% Plot the last n points of the curve - to see end point or limit cycle
function plot_limit(X,n)
plot(X(end-n:end,1),X(end-n:end,2),'ko');
end

% Plot the whole trajectory
function plot_ikeda_trajectory(X)
plot(X(:,1),X(:,2),'k');
%hold on; plot(X(1,1),X(1,2),'bo','markerfacecolor','g'); hold off
end

%u is the ikeda parameter
%x,y is the starting point
%N is the number of iterations
function [X] = compute_ikeda_trajectory(u, x, y, N)
X = zeros(N,2);
X(1,:) = [x y];

for n = 2:N

t = 0.4 - 6/(1 + x^2 + y^2);
x1 = 1 + u*(x*cos(t) - y*sin(t)) ;
y1 = u*(x*sin(t) + y*cos(t)) ;
x = x1;
y = y1;

X(n,:) = [x y];

end
end

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK