Numerical Solution of 1D Time Dependent Schrödinger Equation by Split Operator Fourier Transform (SOFT) Method¶
Go back to the interactive notebook
Source code: https://github.com/osscar-org/quantum-mechanics/blob/master/notebook/quantum-mechanics/theory/theory_soft.ipynb
In other notebooks, we focus on numerical solutions of the time-independent Schrödinger equation. Here, we demonstrate the numerical solution of the one-dimensional time dependent Schrödinger equation. The split operator Fourier transform (SOFT) was employed.
Let's consider a time-independent Hamiltonian and its associated time-dependent Schrödinger equation for a system of one particle in one dimension.
$$\large i\hbar\frac{d}{dt}|\psi> = \hat{H}|\psi> \quad \text{where} \quad \hat{H} = \frac{\hat{P}^2}{2m} + V(\hat{X})$$We know that this equation admits at least a formal solution of the kind $|\psi(t)> = \exp\biggl[-\frac{i}{\hbar}\hat{H}t\biggr]|\psi(0)>$ that projected on the coordinate basis gives the (still formal) solution $\psi(X_t,t) = \int dX_0 K(X_t, t; X_0, 0)\psi(X_0,0)$ where $ K(X_t, t; X_0, 0)= < X_t|\exp\biggl[-\frac{i}{\hbar}\hat{H}t\biggr]|X_0 > $ Note that $X_t$ and $X_0$ are just labels for the coordinates, as if we had $X$ and $X'$.
$$\large k(X_t, X_0) = < X_t|e^{-\frac{i}{\hbar}\hat{H}t} | X_0 > = < X_{N+1} | \underbrace{e^{-\frac{i\hat{H}}{\hbar}t/N} e^{-\frac{i\hat{H}}{\hbar}t/N} ... e^{-\frac{i\hat{H}}{\hbar}t/N}}_\textrm{N} |X_0 >$$Let us then focus on the single step propogator.
$$\large < X_1 |\psi(\epsilon) > = \psi(X_1,\epsilon) = \int dX_0 < X_1 | e^{-\frac{i}{\hbar}\hat{H}\epsilon} |X_0 > \psi(X_0,0)$$We can use the Trotter approximation to write:
$$\large < X_1 |e^{-\frac{i}{\hbar}\hat{H}\epsilon}| X_0 > = < X_1 | e^{-\frac{i}{\hbar} [\frac{\hat{P^2}}{2m}+V(\hat{X})]\epsilon} | X_0> \approx < X_1 | e^{-\frac{i} {\hbar}V(\hat{X})\epsilon/2}e^{-\frac{i}{\hbar}\frac{\hat{P^2}}{2m}\epsilon}e^{-\frac{i} {\hbar}V(\hat{X})\epsilon/2} | X_0 >$$$$\large =e^{-\frac{i}{\hbar}V(\hat{X})\epsilon /2} \int dp < X_1 | e^{-\frac{i}{\hbar}\frac{\hat{P^2}}{2m}\epsilon} | P > < P | X_0 > e^{ \frac{i}{\hbar}V(\hat{X})\epsilon/2}$$where, $< p | X_0 > = \frac{1}{\sqrt{2\pi\hbar}}e^{-\frac{i}{\hbar}PX_0}$.
$$\large \psi(X_1,\epsilon)=e^{-\frac{1}{\hbar}V(X_1)\epsilon/2}\int \frac{dP}{\sqrt{2\pi\hbar}}e^{\frac{i}{\hbar}PX_1}e^{-\frac{i}{\hbar}\frac{P^2}{2m}\epsilon}\underbrace{\int \frac{dX_0}{\sqrt{2\pi\hbar}}e^{-\frac{i}{\hbar}PX_0}\underbrace{e^{-\frac{i}{\hbar}V(X_0)\frac{\epsilon}{2}}\psi(X_0,0)}_{\Phi_{\frac{\epsilon}{2}}(X_0)}}_{\tilde{\Phi}_{\frac{\epsilon}{2}}(P)}$$$$\large \psi(X_1,\epsilon)=e^{-\frac{1}{\hbar}V(X_1)\epsilon/2}\underbrace{\int \frac{dP}{\sqrt{2\pi\hbar}}e^{\frac{i}{\hbar}PX_1}\underbrace{e^{-\frac{i}{\hbar}\frac{P^2}{2m}\epsilon}\tilde{\Phi}_{\frac{\epsilon}{2}}(P)}_{\tilde{\Phi}(P)}}_{\tilde{\Phi}(X_1)}$$,
where we recognize $\tilde{\Phi}(P)$ as the Fourier transform of $\Phi(X)$ for instance.
By interating N times, we can obtain $\psi(X,t)$. In summary, the split operator Fourier transfer algorithm can be reduced into the repeated execution of the five steps shown below: