24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1336  |  回复: 1

phases

金虫 (初入文坛)

[求助] 用matlab的ode45求解Liouville von-neumann方程的问题

最近为了求解Liouville von-neumann方程用matlab编了一个小程序.对于一个两能级系统,初态和系统的演化的Hamiltonian已知,用ODE45求解在任意时刻的两能级系统的状态.代码如下

% define the function
function dXdt = Liouvelle(t,X)
% Delta=5;
% epsilon=0.2;   % driving strength
% Omega_d=10;    % driving frequency
% Omega_r=10;   % frequency of cavity

H=2*pi*[0.2 5; 5 -0.2];
%H=2*pi*[Delta -epsilon*cos(2*pi*Omega_d*t);  -epsilon*cos(2*pi*Omega_d*t) -Delta]; %System Hamiltonian

X = reshape(X, size(H));

dXdt = -i*(H*X-X*H); %Liouville von-neumann equation
dXdt = dXdt(;

% call function to solve the problem

clear

% initial state
X2=[0.5 0.5;0.5 0.5];
psi2=sqrt(2)/2*[1 1]';
input=psi2;      
%options = odeset('RelTol',1e-8,'AbsTol',1e-10);
[T X]= ode45(@Liouvelle,[0:0.1:5],X2);

[m n] = size(X);
for j=1:m
   XX(:,:,j)=reshape(X(j,,size(X2));

  F(j)=input'*XX(:,:,j)*input;         % Compute the fidelity, Nielsen 'quantum computation and
% quantum information page 409 eq(9.60)

end

possibility=squeeze(XX(1,1,);
figure(2); plot(T,F); hold on;

现在问题是发现,对于有些时刻的系统态密度矩阵结果不正确.它们的非对角元的乘积竟然大于0.25,而我得到的应该是纯态的密度矩阵,非对角元的乘积应该小于0.25.如果在ODE里面设置计算的精度可以改进,但仍然有些密度矩阵的结果不正确.不知道问题出在哪里,怎么解决.

谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ben_ladeng(金币-1): 求助帖,请不要纯表 2011-04-23 14:16:35
2楼2011-04-23 13:47:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 phases 的主题更新
信息提示
请填处理意见