Jump to content

Ikeda map: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
link to page for ikeda
Berto (talk | contribs)
Octave/MATLAB code for point trajectories: inserted a small animation to make the process clearer
Line 59: Line 59:


===Octave/MATLAB code for point trajectories===
===Octave/MATLAB code for point trajectories===
[[File:Ikeda-map-iterations.webm|300px|thumb|right|The Ikeda map is composed by a rotation (by a radius-dependent angle), a rescaling, and a shift. This "stretch and fold" process gives rise to the strange attractor.]]
The Octave/MATLAB code to generate these plots is given below:
The Octave/MATLAB code to generate these plots is given below:



Revision as of 15:38, 24 April 2020

The trajectories of 2000 random points in an Ikeda map with u = 0.918.

In physics and mathematics, the Ikeda map is a discrete-time dynamical system given by the complex map

The original map was proposed first by Kensuke Ikeda as a model of light going around across a nonlinear optical resonator (ring cavity containing a nonlinear dielectric medium) in a more general form. It is reduced to the above simplified "normal" form by Ikeda, Daido and Akimoto [1] stands for the electric field inside the resonator at the n-th step of rotation in the resonator, and and are parameters which indicates laser light applied from the outside, and linear phase across the resonator, respectively. In particular the parameter is called dissipation parameter characterizing the loss of resonator, and in the limit of the Ikeda map becomes a conservative map.

The original Ikeda map is often used in another modified form in order to take the saturation effect of nonlinear dielectric medium into account:

A 2D real example of the above form is:

where u is a parameter and

For , 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. 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 while the inset on the right shows a zoomed in view of the main trajectory plot.

u = 0.1
u = 0.5
u = 0.65
u = 0.7
u = 0.8
u = 0.85
u = 0.9
u = 0.908
u = 0.92

Octave/MATLAB code for point trajectories

The Ikeda map is composed by a rotation (by a radius-dependent angle), a rescaling, and a shift. This "stretch and fold" process gives rise to the strange attractor.

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

References

  1. ^ K.Ikeda, Multiple-valued Stationary State and its Instability of the Transmitted Light by a Ring Cavity System, Opt. Commun. 30 257-261 (1979); K. Ikeda, H. Daido and O. Akimoto, Optical Turbulence: Chaotic Behavior of Transmitted Light from a Ring Cavity, Phys. Rev. Lett. 45, 709–712 (1980)