Skip to main content
Physics LibreTexts

10.4: Lattice methods - Variational method by computer

  • Page ID
    28672
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    The variational method transposes the problem of solving a differential equation onto the problem of minimising a function of many variables. It is therefore good for use with computers.

    One of the simplest ways of solving for the ground state of a system with a computer is to use a basis set consisting of the values of \(|\phi \rangle\) defined on a lattice. In 1D such a solution is simply a histogram where we adjust the wavefunction at each point until the energy of the whole system is minimised. The kinetic energy (second derivative of the wavefunction) must then be obtained by some interpolation method. The weights of \(|\phi \rangle\) at each point can be regarded as a basis set. It is not complete, but it becomes more and more complete as the lattice gets finer.

    Another common way of solving the Schrödinger equation numerically is to write the wavefunction as a Fourier series.

    \[\Phi ({\bf b}) = \sum_{\bf b} a_{\bf b} e^{i{\bf b.r}} \nonumber\]

    where \(a_{\bf b}\) are the variational parameters. Using Fourier series (also called plane wave expansions) has several advantages. Increasing accuracy can be obtained by adding more Fourier components (because each plane wave is orthogonal to all the others), the value of \(\Phi ({\bf r})\) can be quickly found by a Fourier transform of \(a({\bf k})\) and the kinetic energy has particularly simple form because

    \[\frac{-\hbar^{2}}{2 m} \frac{\int \Phi^{*} \nabla^{2} \Phi d^{3} \mathbf{r}}{\int \Phi^{*} \Phi d^{3} \mathbf{r}}=\frac{\sum_{\mathbf{b}} a_{\mathbf{b}}^{2} \frac{\hbar^{2} b^{2}}{2 m}}{\sum_{\mathbf{b}} a_{\mathbf{b}}^{2}} \nonumber\]

    which requires no numerical differentiation if used on a computer. The wavefunctions must be normalised, e.g. with Periodic Boundary Conditions. For a periodically repeating crystal, these are exactly the correct boundary conditions anyway. In condensed matter physics plane waves contrast with using LCAO as basis functions.


    This page titled 10.4: Lattice methods - Variational method by computer is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Graeme Ackland via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.

    • Was this article helpful?