1
$\begingroup$

I tried to use a midpoint method and numerically solve the Schrödinger equation for the original Landau-Zener (LZ) problem: a $2\times 2$ Hamiltonian

$$\left(\begin{array}{c} \alpha t\\ \delta \end{array}\begin{array}{c} \delta \\-\alpha t \end{array}\right)$$

with initial condition $\psi=(1, 0)$ (the ground state) at some $t=−1000$, and say $\alpha=0.01$ and $\delta=0.04$. I took a huge amount of time slices $(10^8)$ which gives a time step of ~$10^{−5}$.

My goal is to reach the exact value from the LZ formula, but no matter how small a time step I take, I always have an error of 0.1%, after averaging over the oscillations that arise in the asymptotic behaviour.

Has anyone encountered this problem?

Here is my Matlab code:

alpha=0.01;

delta=0.04;

N=100000001;

ti=-1000;

tf=1000;

time=linspace(ti,tf,N);

sec=time(2)-time(1);

c1=[1,zeros(1,N-1)];

c2=[0,zeros(1,N-1)];

p=exp(-2*pi*delta^2/(alpha*2));

disp(sqrt(p))

for t=2:N

c1(t)=c1(t-1)-1i*sec*(alpha*(time(t-1)+sec/2)*(c1(t-1)-1i*sec/2*
(alpha*time(t-1)*c1(t-1)+delta*c2(t-1)))+delta*(c2(t-1)-1i*sec/2*(-alpha*time(t-
1)*c2(t-1)+delta*c1(t-1))));

c2(t)=c2(t-1)-1i*sec*(-alpha*(time(t-1)+sec/2)*(c2(t-1)-1i*sec/2*(-

alpha*time(t-1)*c2(t-1)+delta*c1(t-1)))+delta*(c1(t-1)-1i*sec/2*(alpha*time(t-

1)*c1(t-1)+delta*c2(t-1))));

end

disp(sum(abs(c1(end-(N-1)/50:end))/((N-1)/50+1)));

Also posted at Physics SE.

$\endgroup$
0
$\begingroup$

I encountered a similar problem recently and i assume it is a purely numerical issue. When you plot $|c_1(t)|^2$ you see that even at $t=1000$, it oscillates rapidly with amplitude larger than your error. With larger values for ti, tf and N, the result still changes. Did you try other integration routines than your midpoint method? I am no expert in this field, but maybe there are integration routines that are more efficient with osciallting functions.

However, i wonder how you got your equations for $c1(t)$ and $c2(t)$. When I set up a Hamiltonian similar to yours, i get:

$$ \dot c_1 = -i \alpha t c_1 - i \delta c_2$$ $$ \dot c_2 = -i \delta c_1 + i \alpha t c_2 $$

My equations (using the midpoint mehtod) then contain only the first summand of your equations, i.e.:

c1(t)=c1(t-1)-1i*sec*(alpha*(time(t-1)+sec/2)*(c1(t-1)-1i*sec/2*(alpha*time(t-1)*c1(t-1)+delta*c2(t-1))));

c2(t)=c2(t-1)-1i*sec*(-alpha*(time(t-1)+sec/2)*(c2(t-1)-1i*sec/2*(-alpha*time(t-1)*c2(t-1)+delta*c1(t-1))));

(or better readable:

$$ c_1(t+\Delta t) = c_1(t) - i \Delta t \left[ \alpha (t+\Delta t) \left( c_1(t) -i \frac{\Delta t}{2} \left[ \alpha t c_1(t) + \delta c_2(t) \right] \right) \right] $$

However, the results from this do not make any sense and I don't know where my mistake could be...

$\endgroup$
  • $\begingroup$ I apologize, I simply made an error when plugging the differential equations into the formula for the midpoint method, your equations are correct. However, I tried various different integration methods and found out that the Adams-Moulton-Bashfort Predictor-Corrector method worked best for me. However, even with this algorithm, the resulting "survival probability" varies by $\pm0.1$% depending on the integration limits and time step. However, this accuracy is sufficient for me. $\endgroup$ – Thomas Nov 6 at 19:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.