← Go back to the interactive notebook

Background Theory: Numerical Solution of 1D Time Dependent Schrödinger Equation by Split Operator Fourier Transform (SOFT) Method

Original notebook: 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.

iℏddt∣ψ⟩=H^∣ψ⟩whereH^=P^22m+V(X^)\large i\hbar\frac{d}{dt}|\psi\rangle = \hat{H}|\psi\rangle \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 ∣ψ(t)⟩=exp⁡[−iℏH^t]∣ψ(0)⟩|\psi(t)\rangle = \exp\biggl[-\frac{i}{\hbar}\hat{H}t\biggr]|\psi(0)\rangle that projected on the coordinate basis gives the (still formal) solution ψ(Xt,t)=∫dX0K(Xt,t;X0,0)ψ(X0,0)\psi(X_t,t) = \int dX_0 K(X_t, t; X_0, 0)\psi(X_0,0) where K(Xt,t;X0,0)=⟨Xt∣exp⁡[−iℏH^t]∣X0⟩K(X_t, t; X_0, 0)= \langle X_t|\exp\biggl[-\frac{i}{\hbar}\hat{H}t\biggr]|X_0 \rangle Note that XtX_t and X0X_0 are just labels for the coordinates, as if we had XX and X′X'.

k(Xt,X0)=⟨Xt∣e−iℏH^t∣X0⟩=⟨XN+1∣e−iH^ℏt/Ne−iH^ℏt/N...e−iH^ℏt/N⏟N∣X0⟩\large k(X_t, X_0) = \langle X_t|e^{-\frac{i}{\hbar}\hat{H}t} | X_0 \rangle = \langle 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 \rangle

Let us then focus on the single step propogator.

⟨X1∣ψ(ϵ)⟩=ψ(X1,ϵ)=∫dX0⟨X1∣e−iℏH^ϵ∣X0⟩ψ(X0,0)\large \langle X_1 |\psi(\epsilon) \rangle = \psi(X_1,\epsilon) = \int dX_0 \langle X_1 | e^{-\frac{i}{\hbar}\hat{H}\epsilon} |X_0 \rangle \psi(X_0,0)

We can use the Trotter approximation to write:

⟨X1∣e−iℏH^ϵ∣X0⟩=⟨X1∣e−iℏ[P2^2m+V(X^)]ϵ∣X0⟩≈⟨X1∣e−iℏV(X^)ϵ/2e−iℏP2^2mϵe−iℏV(X^)ϵ/2∣X0⟩\large \langle X_1 |e^{-\frac{i}{\hbar}\hat{H}\epsilon}| X_0 \rangle = \langle X_1 | e^{-\frac{i}{\hbar} [\frac{\hat{P^2}}{2m}+V(\hat{X})]\epsilon} | X_0\rangle \approx \langle 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 \rangle =e−iℏV(X^)ϵ/2∫dp⟨X1∣e−iℏP2^2mϵ∣P⟩⟨P∣X0⟩eiℏV(X^)ϵ/2\large =e^{-\frac{i}{\hbar}V(\hat{X})\epsilon /2} \int dp \langle X_1 | e^{-\frac{i}{\hbar}\frac{\hat{P^2}}{2m}\epsilon} | P \rangle \langle P | X_0 \rangle e^{ \frac{i}{\hbar}V(\hat{X})\epsilon/2}

where, ⟨p∣X0⟩=12πℏe−iℏPX0\langle p | X_0 \rangle = \frac{1}{\sqrt{2\pi\hbar}}e^{-\frac{i}{\hbar}PX_0}.

ψ(X1,ϵ)=e−1ℏV(X1)ϵ/2∫dP2πℏeiℏPX1e−iℏP22mϵ∫dX02πℏe−iℏPX0e−iℏV(X0)ϵ2ψ(X0,0)⏟Φϵ2(X0)⏟Φ~ϵ2(P)\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)} ψ(X1,ϵ)=e−1ℏV(X1)ϵ/2∫dP2πℏeiℏPX1e−iℏP22mϵΦ~ϵ2(P)⏟Φ~(P)⏟Φ~(X1),\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 Φ~(P)\tilde{\Phi}(P) as the Fourier transform of Φ(X)\Phi(X) for instance.

By interating N times, we can obtain ψ(X,t)\psi(X,t). In summary, the split operator Fourier transfer algorithm can be reduced into the repeated execution of the five steps shown below:

The five steps of the SOFT algorithm