close all

clear all

format short

format compact

 

% Check orthonormaality

fun00 = @(z) sqrt(2)*sin(1*pi*z)*sqrt(2).*sin(1*pi*z);

fun01 = @(z) sqrt(2)*sin(1*pi*z)*sqrt(2).*sin(2*pi*z);

fun02 = @(z) sqrt(2)*sin(1*pi*z)*sqrt(2).*sin(3*pi*z);

fun03 = @(z) sqrt(2)*sin(1*pi*z)*sqrt(2).*sin(4*pi*z);

fun04 = @(z) sqrt(2)*sin(1*pi*z)*sqrt(2).*sin(5*pi*z);

fun05 = @(z) sqrt(2)*sin(1*pi*z)*sqrt(2).*sin(6*pi*z);

r00 = integral(fun00,0,1);

r01 = integral(fun01,0,1);

r02 = integral(fun02,0,1);

r03 = integral(fun03,0,1);

r04 = integral(fun04,0,1);

r05 = integral(fun05,0,1);

 

%-----------------------------------------------------

fun11 = @(z) sqrt(2)*sin(2*pi*z)*sqrt(2).*sin(2*pi*z);

fun12 = @(z) sqrt(2)*sin(2*pi*z)*sqrt(2).*sin(3*pi*z);

fun13 = @(z) sqrt(2)*sin(2*pi*z)*sqrt(2).*sin(4*pi*z);

fun14 = @(z) sqrt(2)*sin(2*pi*z)*sqrt(2).*sin(5*pi*z);

fun15 = @(z) sqrt(2)*sin(2*pi*z)*sqrt(2).*sin(6*pi*z);

r11 = integral(fun11,0,1);

r12 = integral(fun12,0,1);

r13 = integral(fun13,0,1);

r14 = integral(fun14,0,1);

r15 = integral(fun15,0,1);

 

%-----------------------------------------------------

fun22 = @(z) sqrt(2)*sin(3*pi*z)*sqrt(2).*sin(3*pi*z);

fun23 = @(z) sqrt(2)*sin(3*pi*z)*sqrt(2).*sin(4*pi*z);

fun24 = @(z) sqrt(2)*sin(3*pi*z)*sqrt(2).*sin(5*pi*z);

fun25 = @(z) sqrt(2)*sin(3*pi*z)*sqrt(2).*sin(6*pi*z);

r22 = integral(fun22,0,1);

r23 = integral(fun23,0,1);

r24 = integral(fun24,0,1);

r25 = integral(fun25,0,1);

 

%-----------------------------------------------------

fun33 = @(z) sqrt(2)*sin(4*pi*z)*sqrt(2).*sin(4*pi*z);

fun34 = @(z) sqrt(2)*sin(4*pi*z)*sqrt(2).*sin(5*pi*z);

fun35 = @(z) sqrt(2)*sin(4*pi*z)*sqrt(2).*sin(6*pi*z);

r33 = integral(fun33,0,1);

r34 = integral(fun34,0,1);

r35 = integral(fun35,0,1);

 

%-----------------------------------------------------

fun44 = @(z) sqrt(2)*sin(5*pi*z)*sqrt(2).*sin(5*pi*z);

 

fun45 = @(z) sqrt(2)*sin(5*pi*z)*sqrt(2).*sin(6*pi*z);

r44= integral(fun44,0,1);

r45= integral(fun45,0,1);

 

%-----------------------------------------------------

fun55 = @(z) sqrt(2)*sin(6*pi*z)*sqrt(2).*sin(6*pi*z);

r55 = integral(fun55,0,1);

 

for n = 0:5

�� for m = 0:5

����� %n,m

����� fun = @(z,n,m) sqrt(2)*sin((n+1)*pi*z)*sqrt(2).*sin((m+1)*pi*z);

����� over(n+1,m+1) = integral(@(z)fun(z,n,m),0,1);

�� end

end

 

for n = 0:5

�� for m = 0:5

����� %n,m

����� fun = @(z,n,m) sqrt(2)*sin((n+1)*pi*z).*(z - 1/2)*sqrt(2).*sin((m+1)*pi*z);

����� dipole(n+1,m+1) = (integral(@(z)fun(z,n,m),0,1))^2;

�� end

end

 

over;

dipole

 

 

% All check out to double precision float tolerances

z = linspace(-1/2,1/2,1001);

zeros = 0*z;

 

% plot overlaps with the dipole operator

for n = 0:5

�� for m = n:5

����� if (abs(dipole(m+1,n+1)) < 1e-16) dipole(m+1,n+1) = 0; end

����� y = sin(pi*(n+1)*(z+0.5)).*z.*sin(pi*(m+1)*(z+0.5));

����� ymax = max(abs(y));

����� plot(z,y,'k-', z,zeros,'k--')

� ����axis([-1/2,1/2,-ymax,ymax])

����� s = sprintf('Dipole operator: |<%g|x|%g>|^2 = %g',n,m,dipole(m+1,n+1));

����� title(s,'fontsize',14)

����� xlabel('x/L','fontsize',18)

����� pause

����� close

�� end

end

 

%z = linspace(-1/2,1/2,1000001);

%zeros = 0*z;

%n = 100; m = 101;

%dipole = (integral(@(z)fun(z,n,m),0,1))^2;

%����� y = sin(pi*(n+1)*(z+0.5)).*z.*sin(pi*(m+1)*(z+0.5));

%����� ymax = max(abs(y));

%����� plot(z,y,'k-', z,zeros,'k--')

%����� axis([-1/2,1/2,-ymax,ymax])

%����� s = sprintf('Dipole operator: |<%g|x|%g>|^2 = %g',n,m,dipole);

%����� title(s,'fontsize',14)

%����� xlabel('x/L','fontsize',18)

�����

��