Hamiltonian Wavefunction Product

In the following we reformulate this product such that it can be evaluated numerically using the FFT algorithm.

The product involving the Hamiltonian matrix and the wavefunction vector can be expressed as

$$ \hat{H}|\psi(t)\rangle \rightarrow \sum_{j=0}^{N-1}H_{ij}\psi_{j}(t) = \sum_{j=0}^{N-1} \left[ \frac{\left(-1\right)^{i}}{N} \sum_{k=0}^{N-1} \frac{p_{k}^{2}}{2m} \exp\left(\mathrm{i}\frac{2\pi ki}{N}\right) \exp\left(-\mathrm{i}\frac{2\pi kj}{N}\right) + V(x_{i})\delta_{ij} \right]\psi_{j} $$

in the grid representation.

By writing the sums over \(j\) and \(k\) separately, we can reorder the terms in the following form:

$$ \require{color} \sum_{j=0}^{N-1}H_{ij}\psi_{j}(t) = \left[ \frac{\left(-1\right)^{i}}{N} \sum_{k=0}^{N-1} \frac{p_{k}^{2}}{2m} \exp\left(i\frac{2\pi ki}{N}\right) \fcolorbox{red}{#f2d5d3}{$\sum_{j=0}^{N-1}(-1)^{j}\psi_{j}\exp\left(-i\frac{2\pi kj}{N}\right)$} \right] + V(x_{i})\psi_{i} $$

In the highlighted expression we recognize the \(k\)-th Fourier component of the wavefunction (modulated) by a factor \((-1)^j\):

$$F_{k}=\sum_{j=0}^{N-1}(-1)^{j}\psi_{j}\exp\left(-\mathrm{i}\frac{2\pi kj}{N}\right)$$

The whole expression can be thus evaluated by applying the FFT algorithm to a vector \(\mathbf(f)\) defined as:

$$\mathbf{f} \rightarrow f_{j} = (-1)^{j}\psi_{j}$$

which can be shortly written as:

$$\mathbf{F} = \mathbf{FFT}(\mathbf{f})$$

The product of the Hamiltonian and the wavefunction vector can be thus further simplified into:

$$ \sum_{j=0}^{N-1}H_{ij}\psi_{j}(t) = \left[ \frac{\left(-1\right)^{i}}{N} \sum_{k=0}^{N-1} \frac{p_{k}^{2}}{2m}F_{k} \exp\left(\mathrm{i}\frac{2\pi ki}{N}\right) \right] + V(x_{i})\psi_{i} $$

The expression in the bracket can be again identified as the inverse Fourier transform of an momentum space array with the components:

$$G_{k}=\frac{p_{k}^{2}}{2m}F_{k}$$.

The inverse Fourier transform is given by:

$$g_{i} = \frac{1}{N} \sum_{k=0}^{N-1} G_{k} \exp\left(\mathrm{i}\frac{2\pi ki}{N}\right)\rightarrow \mathbf{g} = \mathbf{IFFT(\mathbf{G)}}$$

This can be now utilized to rewirte the product as:

$$\sum_{j=0}^{N-1}H_{ij}\psi_{j}(t)=(-1)^{i}g_{i}+V(x_{i})\psi_{i}$$

We have now an algorithm that allows us to apply the Hamiltonian to an arbitrary wavefunction represented on a grid:

  1. Calculate $\mathbf{F} = \mathbf{FFT}(\mathbf f)$, where $f_{j} = (-1)^j \psi_{j}$.
  2. Calculate $\mathbf{G}$, where $G_{k}=\frac{p_{k}^{2}}{2m}F_{k}$.
  3. Calculate $\mathbf{g} = \mathbf{IFFT}(\mathbf G)$.
  4. Calculate $\mathbf{(H\psi)}_ {i} = (-1)^i g_{i} + V_{i} \psi_{i}$.