Download Code
          
        
        Shows the propagation of the solution of a fractional Schrodinger equation with concentrated and highly oscillatory initial datum. The solution remains concentrated along the rays of geometric optics
N = 250;
L = 1;
hx = (2*L)/(N+1);
 
Definition of the initial datum u0 as a function_handle. u0 is chosen as a Gaussian profile multiplied by a higly oscillatory function
x0 = 0; %% Center of the Gaussian profile
gamma = hx^(-0.9); %% Amplitude of the Gaussian profile
fr = (1/hx)*pi^2/16; %% Frequency of the oscillations
 
u0 = @(x) exp(-0.5*gamma*(x-x0).^2).*exp(1i*fr*x);
 
Plot of the initial datum
fig = gcf;
set(gcf,'Units','pixels','Position',[427 306 712 284])
x = -L:hx:L;
subplot(1,3,1) %% Modulus
plot(x,abs(u0(x)))
title('\vertu_0(x)\vert')
xlabel('x'); ylabel('u(x)');
subplot(1,3,2) %% Real part
plot(x,real(u0(x)))
title('real(u_0(x))')
xlabel('x'); ylabel('u(x)');
subplot(1,3,3) %% Imaginary part
plot(x,imag(u0(x)))
title('img(u_0(x))')
xlabel('x'); ylabel('u(x)');
 

Solution for s = 1/2
Define the characteristic parameters of the problem
s = 0.5  %% Order of the fractional Laplacian
L        %% Extrema of the space interval
N        %% Number of points in the space mesh
T = 5    %% Length of the time interval
u0       %% The function_handle that we have showed before.
 
s =
    0.5000
L =
     1
N =
   250
T =
     5
u0 =
  function_handle with value:
    @(x)exp(-0.5*gamma*(x-x0).^2).*exp(1i*fr*x)
 
To solve the equation, we call the function fractional_schr. The solution of the equation is stored in the u variable.
[x,t,u] = fractional_schr(s,L,N,T,u0);
 
Now we can see a graphical interpretation
[X,T] = meshgrid(x,t);
%%
clf
mesh(X,T,u');
view(0,90)
xlabel('x'); ylabel('t'); title('Ray Evolution');
 

By typing “animation(x,t,u)” in the MATLAB console you can see the evolution in time of this wave.
