3

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.

Anton Menshov
  • 8,672
  • 7
  • 38
  • 94

1 Answers1

1

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...

Thomas
  • 19
  • 1
  • 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. – Thomas Nov 06 '19 at 19:02