That Blog by Dylan Jekyll 2014-11-20T15:02:43+00:00 http://dylan-jayatilaka.net/ Dylan Jayatilaka http://dylan-jayatilaka.net/ dylan.jayatilaka@gmail.com <![CDATA[Polarizability and hyperpolarizability as Hartree-Fock energy derivatives]]> http://dylan-jayatilaka.net/articles/polarizability-and-hyperpolarizability-as-hartree-fock-energy-derivatives 2014-11-04T00:00:00-00:00 2014-11-20T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>In the previous post I was interested in how the force constants change with an applied field. In order to deal with that question, the dipole moment and polarizability were defined as electric field derivatives.</p> <p>In this post I expand on where these definitions come from, and how such polarizabilities may be calculated – at least, within Hartree-Fock theory.</p> <h2 id="helmann-feynman-theorem">Helmann-Feynman theorem</h2> <p>The dipole moment and polarizability definitions ultimately arise from the <a href="http://en.wikipedia.org/wiki/Hellmann%E2%80%93Feynman_theorem">Helmann-Feynman</a> theorem.</p> <p>The Helmann-Feynman theorem states that if $$\lambda$$ is a parameter on which the Hamiltonian depends then</p> <script type="math/tex; mode=display"> \boxed{ \displaystyle\pd{E}{\lambda} = \braopket{\Psi}{\displaystyle\pd{H}{\lambda}}{\Psi} } </script> <p>The parameter $$\lambda$$ may be</p> <ul> <li> <p>The coordinate of a particular nucleus (in which case the left-hand-side represents the force on that nucleus along that coordinate), or </p> </li> <li> <p>It may represent a component of an applied electric field (in which case the left-hand side represents a component of the dipole moment).</p> </li> </ul> <p><em>Proof</em></p> <p>The proof is trivial:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \displaystyle\pd{E}{\lambda} &= \displaystyle\pd{}{\lambda}\braopket{\Psi}{H}{\Psi} \\ &= \braopket{\Psi}{\displaystyle\pd{H}{\lambda}}{\Psi} + \braopket{\displaystyle\pd{\Psi}{\lambda}}{H}{\Psi} + \braopket{\Psi}{H}{\displaystyle\pd{\Psi}{\lambda}} \\ &= \braopket{\Psi}{\displaystyle\pd{H}{\lambda}}{\Psi} + E\braket{\displaystyle\pd{\Psi}{\lambda}}{\Psi} + E\braket{\Psi}{\displaystyle\pd{\Psi}{\lambda}} \\ &= \braopket{\Psi}{\displaystyle{H}{\lambda}}{\Psi} + E \underbrace{\displaystyle\pd{}{\lambda}\braket{\Psi}{\Psi}}\sub{= 0}. \end{align} %]]></script> <p>The last term is zero because of the normalization condition $$\braket{\Psi}{\Psi} = 1$$.</p> <h2 id="dipole-and-polarizabilities-as-energy-derivatives">Dipole and polarizabilities as energy derivatives</h2> <p>In order to understand how the dipole moment arises from the Helmann-Feynman theorem we need to know what the Hamiltonian for a system looks like in the presence of an electric field.</p> <p><a href="http://dylan-jayatilaka.net/articles/polarizability-and-hyperpolarizability-as-hartree-fock-energy-derivatives/">Polarizability and hyperpolarizability as Hartree-Fock energy derivatives</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on November 20, 2014.</p> <![CDATA[Molecular properties in the crystalline environment]]> http://dylan-jayatilaka.net/articles/molecular-properties-in-crystals 2014-11-04T00:00:00-00:00 2014-11-08T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p><strong>Situation</strong></p> <p><a href="https://www.socrates.uwa.edu.au/Staff/StaffProfile.aspx?Person=SajeshThomas">Sajesh Thomas</a> posed these questions to me, based on his research directed by <a href="http://www.uwa.edu.au/people/mark.spackman">Mark Spackman</a>.</p> <ul> <li> <p>How can we estimate the vibrational frequencies of a molecule when it is embedded in a crystal?</p> </li> <li> <p>How much does the molecular geometry change from the gas phase?</p> </li> <li> <p>What other properties can we calculated for the embeded molecule?</p> </li> </ul> <p><strong>Context</strong></p> <p>The electron density distribution (EDD) had been derived for several <a href="http://en.wikipedia.org/wiki/Host%E2%80%93guest_chemistry">host-guest complexes</a> via X-ray diffraction. From this EDD, Sajesh could calculate the electrostatic potential and the electic fields at any point in the crystal — including at sites within the embedded molecule.</p> <p><strong>Initial approach</strong></p> <p>Sajesh’s approach was to optimize the geometry of the molecule in the presence of these experimentally derived fields using a <a href="http://en.wikipedia.org/wiki/Quantum_chemistry">quantum chemistry</a> program such as <a href="http://www.gaussian.com/">Gaussian</a>. But the problem was that, one the fields were applied, the molecule would rotate out of its experimentally determined position.</p> <p><strong>Solution</strong></p> <p>During beers last Friday night we came up with a solution based on a Taylor expansion of the energy. Using the quantum chemistry programs to obtain various energy derivatives, the outcome is that we can estimate</p> <ul> <li>The gas-phase molecular geometry</li> <li>The change in the force constants due to the external electric fields</li> <li>The molecular dipole moment derivatives (with additional assumptions)</li> </ul> <h2 id="notation">Notation</h2> <p>In order to understand the solution some notation has to be introduced.</p> <p>The most important quantity is the generalized molecular potential energy surface $$E(\B{R},\B{F})$$:</p> <ul> <li>$$\B{R} = (R\sub{I\alpha})$$ are the nuclear coordinates</li> <li>$$\B{F} = (F\sub{I\alpha})$$ are the external electric fields</li> <li>Capital roman letters $$I, I=1\ldots N\sub{n}$$ refer to atom indices</li> <li>Greek letters $$\alpha$$ are cartesian coordinates</li> </ul> <p>The coordinates $$\color{red} \B{R}^c$$ and fields $$\color{red}\B{F}^c$$ refer refer to experimental in-crystal cooordinates and fields, respectively. Note that below we will always use:</p> <ul> <li> <p>$$\color{red}\textrm{red for experimental data}$$,</p> </li> <li> <p>$$\color{green} \textrm{green for quantum chemical data}$$.</p> </li> </ul> <p>The coordinates $$\B{R}^e$$ refers to gas phase equilibrium coordinates and are to be determined.</p> <p>To make the Taylor expansions less cluttered understand a <a href="http://en.wikipedia.org/wiki/Einstein_notation">repeated index summation convention</a> is used.</p> <p>For the same reason, partial derivative symbols are eliminated, as follows:</p> <ul> <li>Positional derivatives of the molecular energy $$E$$ are written as</li> </ul> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} {\color{green}E\sub{I\alpha}} & = \frac{\partial E}{\partial R\sub{I\alpha}} & & {\onenote{Gradient/Force}} \\ {\color{green}E\sub{I\alpha J\beta}} & = \frac{\partial^2 E}{\partial R\sub{I\alpha}\partial R\sub{J\beta}} & & {\small\onenote{Force constants}, \B{f} = ( E\sub{I\alpha J\beta}} ) . \\ {\color{green}E\sub{I\alpha J\beta K\gamma}} & = \frac{\partial^3 E}{\partial R\sub{I\alpha}\partial R\sub{J\beta} \partial R\sub{K\gamma}} & & \onenote{Cubic force constants} \end{align} %]]></script> <ul> <li>Derivatives involving one electric field are dipole moment derivatives:</li> </ul> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} {\color{green}\mu\sub{\delta}} & = - \frac{\partial E}{\partial F\sub{\delta}} & & {\small\onenote{Dipole moment}, \B{\mu} = (\mu\sub{\delta})} \\ {\color{green}\mu\sub{\delta, I\alpha}} & = - \frac{\partial^2 E} {\partial F\sub{\delta} \partial R\sub{I\alpha}} & & \twonote{Dipole moment derivative}{Atomic polar tensor} \\ {\color{green}\mu\sub{\delta, I\alpha J\beta}} & = - \frac{\partial^3 E}{\partial F\sub{\delta} \partial R\sub{I\alpha} \partial R\sub{J\beta}} & & \onenote{Dipole moment second derivative} \end{align} %]]></script> <ul> <li>Derivatives involving two electric fields are polarizability derivatives:</li> </ul> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} {\color{green}\alpha\sub{\delta\epsilon}} & = - \frac{\partial^2 E}{\partial F\sub{\delta}F\sub{\epsilon}} & & {\small\onenote{polarizability}, \B{\alpha} = (\alpha\sub{\delta\epsilon})} \\ {\color{green}\alpha\sub{\delta\epsilon, I\alpha}} & = - \frac{\partial^3 E} {\partial F\sub{\delta} \partial F\sub{\epsilon} \partial R\sub{I\alpha}} & & \onenote{Polarizability derivative} \end{align} %]]></script> <p><em>Importantly, all of these quantities may be evaluated using quantum chemistry program packages, if not directly, then by using finite differences</em>.</p> <p>Some of these quantities may also be estimated from experimental information using the input of quantum chemical information — the essence of the original approach to the problems.</p> <h2 id="gas-phase-structure-from-crystal">Gas phase structure from crystal</h2> <p>We expand $$E\sub{I\alpha}({\color{red}\B{R}^c},{\color{red} \B{F}^c})$$ around the gas phase geometry with zero field,</p> <script type="math/tex; mode=display"> \underbrace{E\sub{I\alpha}(\B{R}^e,\B{0})}\sub{\B{0}} - {\color{green}\mu\sub{\delta, I\alpha}}(\B{R}^e,\B{0}) {\color{red} F^c\sub{\delta}} + {\color{green}E\sub{I\alpha J\beta}}(\B{R}^e,\B{0}) ({\color{red}R^c\sub{J\beta}}-R^e\sub{J\beta}) = 0. </script> <p>The first term on the LHS is zero because it is the gradient at the equilibrium geometry. The last term on the LHS is the cartesian force constant matrix at the equilibrium geometry. This term, and the second term, the dipole moment derivatives, may be obtained from <em>ab initio</em> caculations, so are colored green. Therefore these are $$3N\sub{n}\times 3N\sub{n}$$ linear equations for the gas phase equilibrium geometry,</p> <script type="math/tex; mode=display"> \boxed{ {\color{green}\mu\sub{\delta, I\alpha}}(\B{R}^e,\B{0}) {\color{red} F^c\sub{\delta}} + {\color{green}E\sub{I\alpha J\beta}}(\B{R}^e,\B{0}) {\color{red}R^c\sub{J\beta}} = {\color{green}E\sub{I\alpha J\beta}}(\B{R}^e,\B{0}) R^e\sub{J\beta} } </script> <p>Note that we could have chosen to expand around the experimental geometry. We chose to use the gas pjase geometry because quantum chemistry methods are much better validated under these conditions.</p> <h2 id="change-in-the-harmonic-frequency">Change in the harmonic frequency</h2> <p>To evaluate the change in the harmonic frequency we need to estimate the force constant matrix at the crystal geometry when external fields are applied, i.e. we need $$E\sub{I\alpha J\beta}({\color{red}\B{R}^c},{\color{red}\B{F}^c})$$ which may be evaluated by the following expansion</p> <script type="math/tex; mode=display"> \boxed{ E\sub{I\alpha J\beta}({\color{red}\B{R}^c},{\color{red}\B{F}^c}) = {\color{green}E\sub{I\alpha J\beta}}({\color{red}\B{R}^c},\B{0}) + {\color{green}\mu\sub{\delta,I\alpha J\beta}}({\color{red}\B{R}^c},\B{0}) {\color{red} F^c\sub{\delta}} } </script> <p>Note that the actual force constants involve coupling terms between the atom coordinates of the embedded molecule and those in the environment. Therefore the above formula is only a best first-order approximation for treating the molecule as a separate entity in the crystal. Intuitively one might expect that the lower frequency modes to be most affected by these separability considerations.</p> <h2 id="dipole-derivatives-from-local-fields">Dipole derivatives from local fields</h2> <p>The molecular dipole moment derivatives are fundamental molecular properties related to the intensities for fundamental vibrational transitions. The following argument shows that they are related directly to the local crystal fields.</p> <p>By definition a molecule in the crystal is at a stationary point i.e. there are no forces on its nuclei,</p> <script type="math/tex; mode=display"> E\sub{I\alpha}({\color{red}\B{R}^c},{\color{red} \B{F}^c}) = 0. </script> <p>Expanding the left hand side in a Taylor series around the crystal geometry at zero field strength gives,</p> <script type="math/tex; mode=display"> \boxed{ {\color{green}E\sub{I\alpha}}({\color{red}\B{R}^c},\B{0}) - \mu\sub{\delta, I\alpha}({\color{red}\B{R}^c},\B{0}) {\color{red} F^c\sub{\delta}} = 0. } </script> <p>These are $$3 N\sub{n}$$ equations in the $$9 N\sub{n}$$ unknown molecular dipole moment derivatives $$\mu\sub{\delta, I\alpha}(\B{R}^c,\B{0})$$. (Note that the dipole derivatives here pertain to the <em>experimental crystal geometry</em> not to the gas phase). Therefore it is not possible to determine these quantities from a single experiment unless some of the unknown coefficients are known to be zero by symmetry — for example the molecule is linear or uncharged.</p> <h3 id="reduction-in-the-number-of-unknowns">… Reduction in the number of unknowns</h3> <p>Actually, there are only $$9 N\sub{n} - 6$$ unknown molecular dipole moment derivatives (or $$9 N\sub{n} - 5$$ for linear molecules) as the following argument shows.</p> <p>For an uncharged molecule the dipole moment does not depend on the coordinate system i.e. $$\B{\mu}(\B{R},\B{F}) = \B{\mu}(\B{R}+\B{\Delta},\B{F})$$ where $$\B{\Delta}$$ is a constant shift applied to all nuclear coordinates. From this we can deduce the relation</p> <script type="math/tex; mode=display"> \sum\sub{I=1}^{N_n} \mu\sub{\delta,I\alpha} = 0 </script> <p>which provide three extra conditions on the dipole moment derivatives. A further three conditions could also be obtained (two for linear molecules) if the dipole moment of the molecule is known.</p> <p>These conditions should not be used if the molecule has acquired a charge.</p> <p>In order to determine the dipole moment derivatives some additional models are required to reduce the number of unknowns. </p> <h3 id="local-charge-model-for-dipole-derivatives">… Local charge model for dipole derivatives</h3> <p>Suppose that the dipole moment in the molecule at different geometries is well modelled by fixed atomic charges $$q_I$$ at each atomic site $$I$$,</p> <script type="math/tex; mode=display"> \mu\sub{\delta} = \sum\sub{I=1}^{N_n} q_I R\sub{I\delta}. </script> <p>This is not a good model because it does not account for the change in the charges with change in geometry. Such charges are also called <a href="http://quantumwise.com/documents/tutorials/latest/Polarization/index.html/chap.born.html#sect1.born.theory">Born effective charges</a>. Nevertheless, it is straightforward to show that the atomic charges in this may be approximated at the trace of of the dipole moment derivatives, which in this case are better known as the <a href="http://dx.doi.org/10.1063/1.1681972">atomic polar tensors</a>,</p> <script type="math/tex; mode=display"> q\sub{I}^2 = \frac{1}{9} \mu\sub{\delta,I\alpha} \mu\sub{\delta,I\alpha}. </script> <p>The important thing to note is that this model reduces the number of unknown dipole derivatives to just $$N_n$$ effective charges $$q\sub{I}$$. With the translational and rotational conditions on the dipole derivatives, we now have an <em>overdetermined systems of equations</em> which can be solved by least squares. Without the translation and rotational constraints these equations read:</p> <script type="math/tex; mode=display"> \boxed{ \B{q} = \textrm{argmin}\sub{\B{q}}\, \displaystyle\sum\sub{I} \vert {\color{green}\B{E\sub{I}}}({\color{red}\B{R}^c},\B{0}) - q\sub{I} {\color{red} \B{F}^c} \vert^2. } </script> <h3 id="are-the-local-fields-reasonable">… Are the local fields reasonable?</h3> <p>This can easily be tested by evaluating how different the predicted and actual forces are at the nuclear centers,</p> <script type="math/tex; mode=display"> \boxed{ {\color{green}E\sub{I\alpha}}({\color{red}\B{R}^c},\B{0}) \stackrel{\small ?}{=} {\color{green}\mu\sub{\delta, I}}({\color{red}\B{R}^c},\B{0}) {\color{red} F^c\sub{\delta}} } </script> <h2 id="acknowledgement">Acknowledgement</h2> <p>These notes grew directly out of a conversation with Sajesh Thomas and Marcus Kettner.</p> <p>Some of the ideas go back to a memorable conversation with <a href="http://www.teoroo.kemi.uu.se/wp/?doing_wp_cron=1415592936.3213880062103271484375">Kersti Hermansson</a> at the third European Charge Density Meeting (ECDM) conference in <a href="http://en.wikipedia.org/wiki/Sandbjerg">Sandbjerg Estate</a>, where apart from this we discussed the islands around Stockholm in the summer. </p> <p>Of course, all of this is based on the ideas of <a href="http://dx.doi.org/10.1002/9780470143582.ch2">A. David Buckingham</a>, the master of molecular properties.</p> <p><a href="http://dylan-jayatilaka.net/articles/molecular-properties-in-crystals/">Molecular properties in the crystalline environment</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on November 08, 2014.</p> <![CDATA[Why two electrons per orbital?]]> http://dylan-jayatilaka.net/articles/why-two-electrons-per-orbital 2014-11-04T00:00:00-00:00 2014-10-20T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>Electron are negatively charged and repel each other.</p> <p>How is it possible that within atoms and molecules they suddenly turn schizophrenic and two of them occupy the same orbital?</p> <p>Frankly, this is nuts.</p> <p>I have never encountered a simple, vivid and correct explanation which makes this contradiction acceptable. On the contrary, in basic chemistry, we simply <em>assert</em> that the electrons “fill-up” the orbitals that way with “opposite spin”.</p> <p>But how does that <em>explain</em> anything? </p> <p>What has spin got to do with any of this?</p> <h2 id="electrons-are-four-dimensional">Electrons are four dimensional</h2> <p><strong>The real answer is that electrons actually inhabit their own special four dimensional space</strong>.</p> <p>This fourth dimension is special:</p> <ul> <li> <p>Unlike normal 3D space where $$x$$, $$y$$ and $$z$$ may take any value in the range $$-\infty$$ to $$+\infty$$, the extra fourth dimension is bound to the surface a <em>complex two dimensional circle</em>. </p> </li> <li> <p>The fourth coordinate is actually a kind of “wrapped up” line; and like any circle it is described by two complex numbers, say $$a$$ and $$b$$. These numbers are not independent but are connected by the equation $$|a|^2 + |b|^2 = 1$$.</p> </li> <li> <p>Indeed, since the extra dimension is a circle, one should actually think of it as comprised of two sub-dimensions. The numbers $$a$$ and $$b$$ are its coordinates along two abstract unit-vector directions which we usually call $$\ket{\uparrow}$$ and $$\ket{\downarrow}$$ (though probably should be called $$\ket{\uparrow}$$ and $$\ket{\rightarrow}$$). </p> </li> <li> <p>The spin coordinates $$a$$ and $$b$$ are analogous to the numbers $$x$$, $$y$$ and $$z$$ describing distances along along the three dimensional unit-vector axes $$\ket{\B{e}\sub{x}}$$, $$\ket{\B{e}\sub{y}}$$ and $$\ket{\B{e}\sub{z}}$$.</p> </li> </ul> <p>In a later post I will show that this extra fourth dimension is used to describe how the wavefunction of the electron changes when it is rotated in three dimensional space. For this reason, the extra dimension is called the electron <a href="http://en.wikipedia.org/wiki/Spin_(physics)"><strong>spin</strong></a>. Because this fourth dimension is unique to electrons, it is often called an <em>internal degree of freedom</em>.</p> <p>In contrast, the $$x$$, $$y$$ and $$z$$ coordinates which are common to all particles are <em>external degrees of freedom</em>: these coordinates arise from <em>translating</em> the particle in space.</p> <p>All this is a lot to take in; it is worth re-reading the previous paragraphs!</p> <h2 id="time-is-not-the-fourth-dimension">Time is not the fourth dimension!</h2> <p>To avoid any confusion, I should say that the fourth dimension we are talking about is <em>not</em> the time dimension; spin is a completely different <em>additional</em> dimension. Time is a plain old dimension like the other three spatial coordinates.</p> <h2 id="the-spin-of-other-particles">The spin of other particles</h2> <p>As a matter of fact, every fundamental particle has its own private wrapped up “spin” dimension attached to it – although the “size” of this dimension (two in the case of an electron) may be different for different particles.</p> <ul> <li> <p>For example, the photon has three spin components, two of which correspond to its <em>helicity</em>, used to describe its polarization.</p> </li> <li> <p>Protons and neutrons have an extra fourth dimension with two sub-dimensions, exactly like electrons.</p> </li> </ul> <p>In any case the extra private wrapped-up dimension describes how the particle behaves when it rotates, and so the extra dimension is always called spin.</p> <h2 id="why-are-spin-coordinates-so-different-to-position-coordinates">Why are spin coordinates so different to position coordinates?</h2> <p>Why do all particles have the same $$x$$, $$y$$ and $$z$$ coordinates to describe translation, but different coordinates to describe how they rotate? </p> <p>Another way to ask this is: why are the external degrees of freedom always the same for every particle, but the internal degrees of freedom may be different?</p> <p>The answer is that it just happens translations are easier to describe mathematically than rotations. There is only one way to describe translations for a wavefunction, and that is with three corrdinates. By contrast, since rotations are more complicated (I hope you agree!) the way an object can behave under rotations can possibly display more variation.</p> <p>Personally I think the distinction between internal and external degrees of freedom is not an important one. In either case, the electrons “coordinates”, whatever they are, are used to describe how its <em>wavefunction changes when you translate or rotate it</em>.</p> <h2 id="why-cant-we-see-spin-like-position">Why can’t we “see” spin like position?</h2> <p>When you look at things, your eyes register different positions when an object has different $$x$$, $$y$$ and $$z$$ coordinates when photons of arbitrary polarization scatters from that particle into your eyes.</p> <p>If sources of light were generally available which could detect helically polarized light, and if our eyes were adapted to such polarized light, we might actually be able to “see” a particle differently according to what spin it has.</p> <p>Sadly, our eyes do <strong>not</strong> have this ability.</p> <p>What luck that we have instruments to probe things where our eyes fail us!</p> <h2 id="why-the-extra-dimension-makes-sense">Why the extra dimension makes sense</h2> <p>Nevertheless, it is not immediately obvious that electrons have their own extra fourth dimension.</p> <p>The evidence for it came from atomic electronic structure.</p> <p>From an elementary perspective it seems as if the electrons just occupy the same orbital as they “fill up”. But it only <em>looks</em> like there are two electrons per orbital.</p> <p><strong>In actual fact, each electron is in its own four dimensional spinorbital</strong>.</p> <p>A spinorbital is just a normal orbital three dimensional orbital (wavefunction) extended into the fourth dimension.</p> <p>Now two key points:</p> <ol> <li> <p>The spinorbital notion allows to explain why two electrons occupy an orbital because an orbital is a 3D concept. It looks to us as if they are in the same orbital, but in fact they are in different spinorbitals. They are actually in different 4D “positions”.</p> </li> <li> <p>This spinorbital idea also allows to explain <em>why</em> two electrons would even want to be in the same 3D orbital. The reason is that in this way they can both get close to the positively charged nucleus in 3D to which they are attracted. However, at the same time they are away from each other <em>in the fourth dimension</em> if they are in different spinorbitals. (It is worth noting that the electrical repulsion between the electrons is not reduced because the electrons have a different fourth dimension, since repulsion operates only in 3D)</p> </li> </ol> <p>We represent this different location in the fourth direction by an up- or down-arrow corresponding to the fact that they are (more or less) on different axes the spin circle. But you already know about the up- and down- arrows. </p> <p>So the answer to the riddle “why do electrons occupy the same orbital” is that “they don’t”. They stay away from each other, while still maintaining their mutually close distance (in 3D space) to the positively charged nucleus.</p> <p>Without invoking the extra dimension, it is very hard to reconcile why electrons should actually occupy the same region of space. In fact, it took Pauli quite some time to come to this conclusion himself.</p> <h2 id="antisymmetry-and-electron-spin">Antisymmetry and electron spin</h2> <p>Previously we derived the fact that the wavefunction for identical particles <a href="http://dylan-jayatilaka.net/articles/the-determinant-wavefunction/">either reverses sign or stays the same</a>. If the former, the particle was called <em>fermion</em> if the latter, a <em>boson</em>.</p> <p>For fermions, the change is sign or antisymmetry was called the <em>Pauli principle</em>.</p> <p>Now: rotating two electrons around their common midpoint is the same as swapping their positions. Swapping is more complicated than rotating when there are more than two electrons. </p> <p>Nevertheless, using the case of just two electrons, one might expect that there is a connection between a particles spin (i.e. how the wavefunction behaves when rotated) and whether it is a fermion or boson (i.e. how the wavefunction behaves when the coordinates are swapped).</p> <p>This is in fact the case.</p> <p>Pauli received the Nobel Prize for proving that, if a particle has a spin quantum number which is a half integer, a wavefunction involving two of those particles must reverse sign whenever the coordinates of those particles are swapped. This is known as the <a href="http://en.wikipedia.org/wiki/Spin%E2%80%93statistics_theorem">spin-statistics theorem</a> and it has to be one of the deep facts of the universe. T</p> <p>Unfortunately, the proof of this theorem by Pauli is rather complicated and it involves ideas from relativistic quantum mechanics and field theory.</p> <p>I think the general view is that Pauli has <strong>not</strong> actually proved this theorem but merely shown that it follows from other sensible assumptions made in quantum mechanics. This is a rather unsatisfactory state of affairs, and <a href="http://en.wikipedia.org/wiki/Richard_Feynman">Richard Feynman</a> said so.</p> <p>Perhaps you can find an alternative, simple explanation?</p> <h2 id="matter-like-particles">Matter-like particles</h2> <p>In fact, all <em>matter-like</em> particles must obey the antisymmetry principle.</p> <p>That is because the antisymmetry principle demands particles have a zero probability of occupying the same region of space, exactly as one would expect for “solid” particles. Such solid particle simply <em>can’t</em> occupy the same space at any time (remembering that by “space” we include the particles internal fourth dimension).</p> <p>By contrast, it seems we can cross as many laser beams as we like, proving that the same does not hold for particles of light. We conclude that light particles must be bosons and that bosons are <strong>not</strong> matter-like.</p> <h2 id="a-vivid-example">A vivid example</h2> <figure class="half"> <img src="/images/anders-krisar-by-christian-larsen-yatzer-2013.jpg" alt="image" /> <img src="/images/rene-magritte-les-liasons-dangerous-1935.jpg" alt="image" /> <figcaption>Untitled, Krisar (2013); Les Liasons Dangerous, Magritte (1935)</figcaption> </figure> <p>All of this is rather abstract.</p> <p>In the hopes of making the essential idea clearer in class, I have tried the following demonstration.</p> <ul> <li> <p><strong>I ask two boys to stand up in the same rows of the lecture theatre seats near the front – where the seats are never occupied – and move towards each other</strong>. Of course, they are unable to pass each other. These two boys are supposed to represent two electrons of the same spin coordinate. Since they have the same spin coordinate they cannot “pass” each other (they are trapped between the rows).</p> </li> <li> <p><strong>Next I ask a boy and a girl in different but consecutive rows of seats to move towards each other</strong>. When they are about to cross I shout out “stop”. At this point, the rest of the students (who are clustered at the back of the theatre) can see that the girl and the boy are roughly “on top” of each other. They <em>look</em> as if they are occupying the same space, but are actually on different rows. This is exactly analogous to the case of two electrons with different spin being able to cohabit the same three dimensional position.</p> </li> </ul> <p><a href="http://dylan-jayatilaka.net/articles/why-two-electrons-per-orbital/">Why two electrons per orbital?</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on October 20, 2014.</p> <![CDATA[Designing circulant Hamiltonians for quantum computing]]> http://dylan-jayatilaka.net/articles/designing-circulant-hamiltonians-for-quantum-computing 2014-09-21T00:00:00-00:00 2014-10-17T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>The other day <a href="http://www.uwa.edu.au/people/jingbo.wang">Jingbo Wang</a> from our Physics department asked me about circulant Hamiltonians.</p> <p>I had previously come across circulant orbitals from the work of <a href="http://www.jstor.org/stable/10245">Bob Parr</a>.</p> <p>Circulant orbitals are non-canonical Hartree-Fock or density functional theory (DFT) <a href="http://en.wikipedia.org/wiki/Molecular_orbital">molecular orbitals</a> which have been transformed unitarily in order to have a density as close as possible to the electron density divided by the number of electrons. The name arises from the fact that circulant orbitals transform the <a href="http://en.wikipedia.org/wiki/Hartree%E2%80%93Fock_method#Mathematical_formulation">effective Hamiltonian</a> into a Hermitian <a href="http://en.wikipedia.org/wiki/Circulant_matrix">circulant matrix</a> – that is a matrix where the rows (or columns) are shifted by a unit cyclic permutation.</p> <p>I was told by Jingbo that such circulant Hamiltonians are really useful for performing <a href="http://en.wikipedia.org/wiki/Quantum_computer">quantum computations</a>.</p> <h2 id="what-this-is-about">What this is about</h2> <p>The purpose of this blog is to trivially generalize the work of Bob Parr to show that <em>any</em> group of quantum states can be unitarily mixed to ensure that the Hamiltonian has a circulant structure in the new basis. The structure depends only on the actual energies of the states involved.</p> <p>There are two use cases for the final result:</p> <ul> <li> <p>Given a general circulant matrix, what are the eigenavlues of a physical system needed to construct it?</p> </li> <li> <p>Given a real system which gives certain eigenvalues, what circuant matrix fesults from it, and can it be used to do any quantum computation?</p> </li> </ul> <p>In order actually <em>make</em> a real device (at least!) two serious problems need to be addressed:</p> <ul> <li> <p>How do we design a molecule or system with appropriate excited state energies?</p> </li> <li> <p>How do we introduce a coherent excited state into the so-designed system at an initial time, make sure errors and noise are corrected, and probe it at a later time.</p> </li> </ul> <p>I was assured that the error correction part of the second problem <a href="http://en.wikipedia.org/wiki/Quantum_error_correction">is soluble</a>.</p> <h2 id="the-circulant-basis">The circulant basis</h2> <p>We begin by introducing the circulant basis. It is a discrete Fourier transform of a set of system eigenstates.</p> <p>So: Let $$\hat{H}$$ be some physical Hamiltonian with eigenstates $$E_n$$ and with corresponding orthonormal eigenstates $$\Psi_n$$, $$n=1,\ldots,N$$. Then we have as usual</p> <script type="math/tex; mode=display"> \braopket{\Psi_m}{\hat{H}}{\Psi_n} = \delta\sub{mn} </script> <p>The circulant basis is <em>defined</em> by the transformation</p> <script type="math/tex; mode=display"> \Phi_I = \frac{1}{\sqrt{N}} \sum\sub{l=1}^N \Psi_l \omega^{(I-1)(l-1)}, \ \ \ \omega = \exp(2\pi i/N) </script> <p>In other words, $$\Phi_I$$ is a discrete Fourier transform of a finite set of eigenstates. $$\omega$$ is an $$N$$-th root of unity, $$\omega^N = 1$$.</p> <p><em>Theorem</em></p> <p>The circulant transformation is unitary</p> <p><em>Proof</em></p> <p>Since the definition of a unitary transformation is that is preserves orthonormality, we only need to show that the new basis $$\Phi_I$$ is also orthonormal, i.e. that $$\braket{\Phi_I}{\Phi_J} = \delta\sub{IJ}$$.</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \braket{\Phi_I}{\Phi_J} & = \frac{1}{N} \sum\sub{l=1}^N \sum\sub{m=1}^N \omega^{-(I-1)(l-1)} \omega^{ (J-1)(m-1)} \underbrace{\braket{\Psi_l}{\Psi_m}}\sub{\delta\sub{lm}} \\ & = \frac{1}{N} \sum\sub{l=1}^N \omega^{-(I-1)(l-1)} \omega^{ (J-1)(l-1)} \\ & = \frac{1}{N} \sum\sub{l=1}^N \omega^{ (J-I)(l-1)} \end{align} %]]></script> <p>Now there are two cases. When $$I=J$$ the summand is always equal to one and the right hand side is equal to 1. When $$I\neq J$$ the summation is a geometric series with initial term 1 and ratio $$\omega$$, so the sum is given by $$(1-\omega^n)/(1-\omega)$$, which is zero since $$\omega$$ is an $$N$$-th root of unity.</p> <h2 id="the-hamiltonian-in-the-circulant-basis">The Hamiltonian in the circulant basis</h2> <p><em>Theorem</em></p> <script type="math/tex; mode=display"> \boxed{ H\sub{IJ} = \displaystyle \frac{1}{N} \sum\sub{l=1}^N \omega^{(J-I)(l-1)} E_l } </script> <p><em>Proof</em></p> <p>Just substitute in the definitions for the circulant states.</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} H\sub{IJ} & = \frac{1}{N} \sum\sub{l=1}^N \sum\sub{m=1}^N \omega^{-(I-1)(l-1)} \omega^{ (J-1)(m-1)} \underbrace{\braopket{\Psi_l}{\hat{H}}{\Psi_m}}\sub{E_l\delta\sub{lm}} \\ & = \frac{1}{N} \sum\sub{l=1}^N \omega^{-(I-1)(l-1)} E_l \end{align} %]]></script> <h2 id="the-hamiltonian-in-the-circulant-basis-is-a-circulant-matrix">The Hamiltonian in the circulant basis is a circulant matrix</h2> <p>A <a href="http://en.wikipedia.org/wiki/Circulant_matrix">circulant matrix</a> has rows (or columns) which are 1-cyclic permutations of the previous row (or column) e.g.</p> <script type="math/tex; mode=display">% <![CDATA[ \left( \begin{array}{cccc} 1 & 2 & 3 & 4 \\ 4 & 1 & 2 & 3 \\ 3 & 4 & 1 & 2 \\ 2 & 3 & 4 & 1 \\ \end{array} \right) %]]></script> <p>Or in other words $$H\sub{IJ} = H\sub{I+1,J+1}$$ where the indices are taken modulo $$N$$ the size of the matrix. The circulant matrix is actually only defined by one row or column.</p> <p><em>Theorem</em></p> <p>The Hamiltonian in the circulant basis is a circulant matrix</p> <p><em>Proof</em></p> <p>Obvious by direct inspection. Also we define:</p> <script type="math/tex; mode=display"> H\sub{IJ} = \frac{1}{N} \sum\sub{l=1}^N \omega_l^{(K-1)(l-1)} E_l \equiv H\sub{K} </script> <p>The latter is the defining vector for the circulant matrix.</p> <h2 id="designing-a-hamiltonian-with-a-certain-circulant-structure">Designing a Hamiltonian with a certain circulant structure</h2> <p>By “designing” the matrix we mean choosing the energy eigenvalues for the Hamiltonian in order to achieve a desired circulant structure. We do not mean actually finding a real physical system with these eigenvalues. That is a much more difficult task alluded to in the introduction.</p> <p>Obtaining the eigenvalues associated with a given circulant matrix is actually fairly trivial. All that is requited is to take the inverse discrete Fourier transform of the defining vector of the circulant matrix.</p> <p><em>Theorem</em></p> <script type="math/tex; mode=display"> \boxed{ E_m = \displaystyle \sum\sub{K=1}^N H\sub{K} \omega^{-(m-1)(K-1)} } </script> <p><em>Proof</em></p> <p>Substitute the definition of the defining vector.</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \textrm{RHS} & = \frac{1}{N} \sum\sub{K=1}^N \sum\sub{l=1}^N \omega^{ (K-1)(l-1)} E_l \omega^{-(m-1)(K-1)} \\ & = \frac{1}{N} \sum\sub{K=1}^N \sum\sub{l=1}^N \underbrace{\omega^{ (l-m)(K-1)}}\sub{N\delta\sub{lm}} E_l \\ & = E_m \end{align} %]]></script> <h2 id="where-to-now">Where to now?</h2> <p>I don’t really know, but here were some ideas from the discussion after the talk I gave in physics:</p> <ol> <li> <p>Do some accurate <a href="http://en.wikipedia.org/wiki/Quantum_chemistry">quantum chemical</a> calculations on real systems, find their energies $$E_m$$ and from them find the circulant matrix $$H_K$$. Can anything be done with this matrix? This approach seems a bit <em>ad hoc</em>.</p> </li> <li> <p>Take some examples of circulant matrices known to be useful for quantum computing. Find the energy eigenvalues $$E_m$$ corresponding to this system. Try to construct a real system, perhaps a real molecule, perhaps a quantum dot or other one dimensional system with the required energy levels.</p> <ul> <li> <p>An <a href="http://dylan-jayatilaka.net/articles/particles-in-boxes/">earlier post</a> shows how the eigenvalues of a one dimensional system can be systematically computed, in general. This approach could be used to rationally design such a “quantum line” system with the desired eigenvalues.</p> </li> <li> <p>Alternatively, use approach 1. to develop some familiarity with the type of systems giving rise to certain energy levels.</p> </li> <li> <p>Jingbo noted that, using localized basis functions, some Hamiltonians <em>naturally</em> have a circulant structure e.g. benzene. One is reminded of the <a href="http://en.wikipedia.org/wiki/H%C3%BCckel_method">Huckel type theories</a>. Initially I agreed. However, I now think that the Hamiltonians with these connectivities are <em>one electron effective Hamiltonians</em> – they are not actual real Hamiltonians which model the dynamics of real multi-electron wavefunctions – except possibly for the motion of one electron excited from the highest occupied molecular orbital (HOMO). It is not clear that the excited states of such effective systems will have the same circulant structure. However, the idea deserves further consideration because it could give insight into how the connectivity of atoms in a molecules affects its circulant structure. This could be probed by more accurate quantum chemical calculations.</p> </li> </ul> </li> </ol> <p><a href="http://dylan-jayatilaka.net/articles/designing-circulant-hamiltonians-for-quantum-computing/">Designing circulant Hamiltonians for quantum computing</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on October 17, 2014.</p> <![CDATA[Atomic orbitals, Chladni figures, vibrating drums, Faraday waves, Oscillons and the de Broglie-Bohm theory of Quantum Mechanics]]> http://dylan-jayatilaka.net/articles/atomic-orbitals-and-chladni-figures 2014-09-21T00:00:00-00:00 2014-10-07T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>Well this is no doubt my best effort for a blog title yet.</p> <p>You might think this is going to be the greatest <a href="http://en.wikipedia.org/wiki/Shaggy_dog_story">shaggy dog story yet</a> but hang with me, I reckon it will work.</p> <p>Anyway, the other day I was giving a lecture to my second year Phys Chem students on the hydrogen-like atomic orbitals (as you do). I can’t remember if it was because the projector failed or what, but I for some reason I felt like winging it. I guess I felt like explaining the shapes of the atomic orbitals by reference to something <em>real</em> – because the way they do it in textbooks is just so darned <em>abstract</em>.</p> <p>At this point I remembered the old <a href="http://en.wikipedia.org/wiki/Ernst_Chladni#Chladni_figures">Chladni figures</a>.</p> <p>I think I even made them once with my old electronics set.</p> <p>Anyway, the students had no idea what I was talking about – so off I went.</p> <h2 id="chladni-figures">Chladni figures</h2> <p>You see, the shapes of the atomic orbitals are not all that strange.</p> <p>You can see essentially the same kind of shapes when you sprinkle sand on a vibrating plate. A bloke called <a href="http://en.wikipedia.org/wiki/Ernst_Chladni">Ernst Chladni</a> (1756-1827) first made them by using a violin bow to make a metal plate vibrate, hence the name.</p> <p>Below you can see some of the complicated vibrating-sand patterns you can get on a circular plate. They sure are <a href="http://www.urbandictionary.com/define.php?term=Purrty">purrty</a>. If you want to see them actually appearing look <a href="http://www.youtube.com/watch?v=Qf0t4qIVWF4">here</a>.</p> <figure> <img src="/images/chladni-figure-circular-plate-complex.jpg" /> </figure> <h2 id="deja-vu">Deja vu</h2> <p>You might not believe it, but you have seen this stuff before.</p> <p>Let’s take a step back and look at some <em>simpler</em> Chlandi figures:</p> <figure> <img src="/images/chladni-figure-circular-plate-simple.jpg" /> </figure> <p>If you squint a bit, you will see that these vibrating patterns are actually quite similar to the atomic orbitals!</p> <ul> <li> <p>The first column corresponds to the s-type orbitals. They are all spherical (well, actually circular) in shape.</p> </li> <li> <p>The next column has a node through the middle – just like the p orbitals. As we we go down the column we get extra circular nodes.</p> </li> <li> <p>Likewise the third column has <em>two</em> nodes through the middle, as well as an increasing numbe of circular nodes – very much like the 3d, 4d, 5d atomic orbitals.</p> </li> </ul> <p>If you are a bit skeptical about all this, look at this web page at wikipedia which shows <a href="http://en.wikipedia.org/wiki/Vibrations_of_a_circular_membrane#Animations_of_several_vibration_modes">simulated animations of these figures</a>. These are images of a vibrating drum. Cool, huh? In these figures the s, p, d orbitals go across the page (1s, 2s, 3s; 2p, 3p, 4p; 3d, 4d, 4d). Immediately below the 1s “orbital” you can see the p orbitals. <strong>This is so important for understanding that the alleged 2p orbital is reproduced below for further analysis</strong>.</p> <figure> <img src="/images/chladni-figure-circular-plate-2p.gif" /> </figure> <p>See the two “lobes” which vibrate up and down like a see-saw?</p> <p>These are just like the lobes of the 2p atomic orbital!</p> <p>This explains why you sometimes see one lobe marked with the + (plus) sign and the other markedwith the - (minus) sign. The signs have <em>nothing</em> to do with electric charge. Rather, they explain that the two lobes are vibrating <em>out of phase</em> — like a see saw.</p> <p>This is really important!</p> <p>Because: to get a strong chemical bond the waves from two different orbitals on two different atoms — they can be p orbitals or not — need to add up <em>in phase</em> . If not, there will be a net cancellation and the sum of the two vibrating orbitals will disappear. No vibration means no chemical bond. Make sense? This is what it means for two orbitals to “overlap” properly to form a chemical bond.</p> <p>I want to make this absolutely clear: you should think of 2p electrons vibrating in an atom just like the above picture. Think of a 2p electron as actually <em>being</em> this pulsating atomic orbital. It’s a great model!</p> <h2 id="the-pulsating-1s-orbital-jellyfish">The pulsating 1s-orbital jellyfish</h2> <p>Of course, in reality the electron is <em>not</em> a drum membrane. It is made of … electron stuff.</p> <p>More important, the electron inhabits three dimensional space (actually four, if you count spin, but that is another story) not two dimensions like a drum head.</p> <p>So in reality our 2p electron — in fact <em>any</em> electron — is a pulsating 3D object.</p> <p>I guess the closest you can get to an object like this is … a jellyfish! I imagine the jellyfish is a good model for the s-type atomic orbitals.</p> <figure> <img src="/images/medusoid-jellyfish.jpg" /> </figure> <h2 id="faradays-waves">Faraday’s waves</h2> <p>Of course, looking at sand on vibrating plates or drums is not the only way to visualize sound. (You might be surprised that there is actually a word for visualizing sound: it is called <a href="http://en.wikipedia.org/wiki/Cymatics">cymatics</a>).</p> <p>The next candidate that comes to mind is the old corn starch liquid — you know, that gloopy white stuff that you made as a kid, a <a href="http://en.wikipedia.org/wiki/Non-Newtonian_fluid">non-Newtonian fluid</a>, that gets harder when you hit it.</p> <p>Now the things is: with Chladni figures what we are seeing is all about the vibrating plate or drum skin. On the other hand, vibrations of gloopy corn-starch materials is more about the properties of those materials themselves.</p> <p>The wave shapes that appear in such materials are much more bizzare.</p> <p>If the frequency of vibration is high enough, we can often see “standing waves”. Such standing waves were described by <a href="http://en.wikipedia.org/wiki/Michael_Faraday">Michael Faraday</a> (1791-1867) and so are sometimes called <a href="http://en.wikipedia.org/wiki/Faraday_wave">Faraday waves</a> or more generally, <a href="http://en.wikipedia.org/wiki/Oscillon">oscillons</a> or <a href="http://en.wikipedia.org/wiki/Soliton">solitons</a>.</p> <p>Even more exotic, it is possible to generate “holes” in vibrating cornstarch that don’t disappear! These holes have interesting properties: they repel each other and sometimes form “bonded pairs”. At still higher frequency unstable “forests of gloop” – for want of a better description – start to “grow”. All this is too strange for words. Seeing is believing; check out the video below.</p> <iframe width="560" height="315" src="//www.youtube.com/embed/nq3ZjY0Uf-g" frameborder="0"></iframe> <h2 id="gloop-and-the-de-broglie-bohm-theory">Gloop and the de Broglie-Bohm theory</h2> <p>Remarkably, there is <em>another</em> connection between quantum mechanics and the gloopy viscous fluid which behaves strangely when vibrated.</p> <p>Pay attention now.</p> <p>Aficionados of quantum theory will know that it is a doubly dual theory. Not only is it a theory of <a href="http://en.wikipedia.org/wiki/Wave%E2%80%93particle_duality">wave-particle duality</a>, but it is simultaneously one of the best and worst theories ever conceived!</p> <ul> <li> <p>It is one of the <em>best</em> theories because the precision and accuracy of its predictions are unsurpassed</p> </li> <li> <p>It is one of the <em>worst</em> theories because, being a statistical theory, it doesn’t actually explain <em>why</em> it works. Consequently, there are a plethora of different <a href="http://en.wikipedia.org/wiki/Interpretations_of_quantum_mechanics">interpretations</a>, of what it means. These interpretations range from the standard <a href="http://en.wikipedia.org/wiki/Copenhagen_interpretation">Copenhagen one</a> to the outlandish <a href="http://en.wikipedia.org/wiki/Many-worlds_interpretation">Parallel Universe</a> viewpoint.</p> </li> </ul> <p>The <a href="http://en.wikipedia.org/wiki/De_Broglie%E2%80%93Bohm_theory">de Broglie-Bohm (dBB) interpretation of quantum mechanics</a> was one of the first which proved that it was even <em>possible</em> to have an alternative interpretation which was logically consistent. Unlike the standard interpretation, the dBB viewpoint asserts that there is an <em>actual particle</em> in quantum mechanics; yet it still manages to make exactly the same predictions as the regular interpretation.</p> <p>The idea behind he dBB theory is almost trivial: it is that the actual particle moves according to a nonlocal potential which is related to the wavefunction. This is why the theory is also called the <a href="http://en.wikipedia.org/wiki/Pilot_wave">pilot wave theory</a>. The wavefunction itself still obeys the Schrodinger equation. The “random” results that are obtained in quantum experiments — for example the famous <a href="http://en.wikipedia.org/wiki/Double-slit_experiment#Interference_of_individual_particles">double slit experiment</a> where a diffraction pattern is “built up” one particle at a time on the detector screen — are controlled by variations in the initial conditions of the particle.</p> <p>(Lest you think the dBB theory is a somewhat useless, since anyway we have to solve the Schrodinger equation to use it, you should know that it is the basis of a very practical scheme for modelling chemical reactions, developed by <a href="http://en.wikipedia.org/wiki/Robert_E._Wyatt">Bob Wyatt</a>. See <a href="http://k2.chem.uh.edu/group/OldStuff/Papers/JCP-WB.pdf">here</a>.)</p> <p><strong>But what has all this to do with viscous vibrating gloop?</strong></p> <p>Prepare to be amazed.</p> <p>In the following video, <a href="http://www.msc.univ-paris-diderot.fr/spip.php?rubrique140">Yves Coudert</a> shows how a droplet suspended on a fast vibrating fluid, in this case silicone oil behaves almost identically to how one would expect in the dBB theory. In particular, Coudert demonstrates how one droplet — representing an electron for example — can move through a double slit and generate, one particle at a time, a diffraction pattern! By contrast, in the standard interpretation of quantum mechanics, the electron is supposed to go through <em>both</em> slits at once and diffract with itself. After looking at this video you might change your mind about the dBB interpretation.</p> <iframe width="560" height="315" src="//www.youtube.com/embed/W9yWv5dqSKk" frameborder="0"></iframe> <p>If you interested in reading more see the Euro Phys News article <a href="http://users.df.uba.ar/dasso/fis4_2do_cuat_2010/walker.pdf">here</a>.</p> <p><a href="http://dylan-jayatilaka.net/articles/atomic-orbitals-and-chladni-figures/">Atomic orbitals, Chladni figures, vibrating drums, Faraday waves, Oscillons and the de Broglie-Bohm theory of Quantum Mechanics</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on October 07, 2014.</p> <![CDATA[Particles in boxes]]> http://dylan-jayatilaka.net/articles/particles-in-boxes 2014-09-21T00:00:00-00:00 2014-09-21T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>This is a post for my second year Phys Chem students but it may have tidbits of interest to others.</p> <p>Particle-in-a-box models are great for seeing how quantum works.</p> <p>Particle-in-a-box models are not just toy models, either. For example:</p> <ul> <li> <p>The images above show the probability density waves of a surface electron trapped in a “ring” of iron atoms placed on a copper surface by <a href="http://en.wikipedia.org/wiki/Scanning_tunneling_microscope">scanning tunneling microscopy (STM)</a>. The shapes of these waves are well modelled by an electron trapped in a disk-shaped box.</p> </li> <li> <p>The particle-on-a-ring model has also been used by my colleague Pierre-Francois Loos to develop <a href="http://arxiv.org/abs/1302.6661">insight into electron correlation</a>.</p> </li> <li> <p>Later in this post I will show how such models can be used to calculate conduction of an electron “through” a series of barriers e.g. for designing nanoelectronic devices.</p> </li> </ul> <h2 id="for-students">For students</h2> <p>To understand these notes you need to</p> <ul> <li> <p>Know basic calculus (derivatives and integrals) and you need to understand the basics of complex numbers. If you do not, bail out here, and come back after you know.</p> </li> <li> <p>Second, you should read the previous <a href="http://dylan-jayatilaka.net/articles/super-quick-summary-of-qm/">super quick intro to quantum mechanics</a></p> </li> </ul> <p>Scattered through this and the previous post are some questions. Carefully study these questions and their answers. The exam questions will be very similar, if not identical.</p> <p>The later material on transmission through multiple barriers is not examinable. I present it because it could be useful if you are interested in, for example, modelling energy levels and conduction through molecules (Prof. George Koutsantonis is interested in making such “molecular wires”).</p> <h2 id="what-is-a-particle-in-a-box-problem">What is a particle-in-a-box problem?</h2> <p>Particle in a box problems are those for a single particle moving in one dimension subject to a piecewise constant potential energy i.e. a potential energy that looks like the following function:</p> <figure> <img src="/images/piecewise-constant-potential.jpg" /> </figure> <p>From looking at this picture you can see that the particle experiences different “constant” energies at different points along the axis. In fact, if we wanted to write this potential in “maths” it would be this:</p> <script type="math/tex; mode=display">% <![CDATA[ V(x) = \left\{ \begin{array}{cl} V_0 & \textrm{for } x<x_1 \\ V_1 & \textrm{for } x_1<x<x_2 \\ V_2 & \textrm{for } x>x_2 \end{array} \right. %]]></script> <p>In this case the article seems to encounter a kind of “step barrier”. Of course, other shapes for $$V(x)$$ are possible and each leads to a different problem.</p> <h2 id="strategy-for-solving-particle-in-a-box-problems">Strategy for solving particle-in-a-box problems</h2> <p>The strategy for solving these one dimensional problems is always the same:</p> <ol> <li> <p>Write down the <a href="http://en.wikipedia.org/wiki/Hamiltonian_(quantum_mechanics)#The_Schr.C3.B6dinger_Hamiltonian">Hamiltonian</a> for the problem,</p> <script type="math/tex; mode=display"> \boxed{ \hat{H} = -\displaystyle\frac{\hbar^2}{2m} \frac{d^2}{dx^2} + V(x) } </script> <p>and hence the Schrodinger equation $$\hat{H}\psi = E\psi$$ for the unknown energies $$E$$ and unknown wavefunctions $$\psi$$.</p> </li> <li> <p>Write down the general solution in each region where the potential is constant. The general solutions in each region is <em>always</em> of the form $$\psi(x) = A e^{B x}$$ where $$A$$ and $$B$$ are (possibly complex) unknown constants to be found. To save time you can learn these possible cases to be applied in different regions where the potential is constant:</p> <ul> <li> <p>$$\boxed{\psi(x) = A e^{i k x}}$$ or $$\boxed{\psi(x) = A e^{i k x} + B e^{-i k x}}$$ for free or unbound particles.</p> <ul> <li> <p>A free particle is one where $$V(x) = 0$$.</p> </li> <li> <p>An unbound particle has energy $$E$$ greater than the largest value of the potential $$V(x)$$ for any $$x$$ i.e. the particle has enough energy to overcome any barrier.</p> </li> <li> <p>A free particle is unbound, but an unbound particle is not necessarily free.</p> </li> <li> <p>The first solution is for free particle with a well defined momentum, the second solution does not have well defined momentum. See Q12 below.</p> </li> </ul> </li> <li> <p>$$\boxed{\psi(x) = A e^{-\alpha x} + B e^{+\beta x}}$$ for electrons in a region where the energy of the particle $$E$$ is <em>less</em> than the value of the potential. This is called an exponential decay region or barrier-penetration region of the wavefunction.</p> </li> <li> <p>$$\boxed{\psi(x) = A \sin kx + B \cos kx}$$ for electrons where the energy of the particle $$E$$ is <em>greater</em> than the value of the potential. This is called an oscillatory region of the wavefunction.</p> </li> </ul> </li> <li> <p>Find the unknown constants in the wavefunction(s) by making sure that the solutions are continuous and smooth - see Rule 1 of quantum mechanics in the <a href="http://dylan-jayatilaka.net/articles/super-quick-summary-of-qm/`">previous post</a>. At the end of the problem there will usually only one unknown constant left which can be found by the normalization condition if needed.</p> </li> </ol> <p>A pretty good graphic for illustrating this procedure is shown at the <a href="http://hyperphysics.phy-astr.gsu.edu/hbase/quantum/pfbox.html">hyperphysics site here</a>.</p> <p><strong>Q9</strong>. <em>What is the basic strategy for solving particle in a box problems? You do not need to list the possible general solutions for each case</em>.</p> <p><em>Answer</em></p> <p>Write down the Schrodinger equation. Write down the general solutions to the Schrodinger equation in each region where the potential is constant. Find the unknown constants in the different pieces of the wavefunction for each region by makeing sure that it is continuous and smooth.</p> <p><strong>Q10</strong>. <em>Show that the most general solution for a free particle $$\psi(x) = A e^{i k x} + B e^{-i k x}$$ is the same as the solution for a bound particle $$\psi(x) =C \sin kx + D \cos kx$$</em></p> <p><em>Strategy</em></p> <p>From the de Moivre formula $$e^{i k x} = \cos kx + i \sin kx$$ it looks as if the first solution can be written using terms which look like those in the second. Therefore use de Moivre in the first and try to obtain the second. We will probably have to use the trig identities $$\cos (-kx) = \cos (kx)$$ and $$\sin(-kx) = - \sin (kx)$$.</p> <p><em>Answer</em></p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} A e^{i k x} + B e^{-i k x} & = A \left[ \cos (kx) + i \sin (kx) \right] + B \left[ \cos (-kx) + i \sin (-kx) \right] \\ & = A \left[ \cos (kx) + i \sin (kx) \right] + B \left[ \cos (kx) - i \sin (kx) \right] \\ & = (A+B) \cos (kx) + i (A-B) \sin (kx) \end{align} %]]></script> <p>The last line is the same as $$C \cos kx + D \sin kx$$ provided $$C = (A+B)$$ and $$D = (A-B)$$. </p> <p>This shows that there is, actually, no mathematical difference between these general solutions. In fact, by choosing the constant $$k$$ to be pure complex $$k’ = i k$$ we can show that the general bound solutions are also equivalent. The main reason to use these different forms is that they are more convenient.</p> <h2 id="free-electron-in-one-dimension---otherwise-known-as-the-particle-not-in-a-box">Free electron in one dimension - otherwise known as the particle <em>not</em> in a box</h2> <p>Now we get to the meat. Note that the meat is not in a box.</p> <figure> <img src="/images/meat-on-the-bone.jpg" /> </figure> <p><strong>Q11</strong>. <em>Solve the Schrodinger equation for an electron moving freely in one dimension</em>.</p> <p><em>Strategy</em></p> <p>The strategy for solving these problems was given above. The Schrodinger equation for the free particle was written down in Q5 in the last post. Basically a free particle means that $$V(x) = 0$$. But before applying the strategy and solving the equation let’s think what answer we might expect. Actually, since the electron can move freely, we would expect that it can have … any energy it likes … as long as it is positive. Also, we expect that an electron moving freely should be located … well, anywhere it likes … meaning to say that the probability of finding it at any position is equally likely.</p> <p><em>Answer</em></p> <p>From Q5 the Schrodinger equation for the free electron is</p> <script type="math/tex; mode=display"> -\frac{\hbar^2}{2m_e}\frac{d^2\psi}{dx^2} = E \psi </script> <p>From the strategy we know a possible solution of this equation is $$\psi(x) = A e^{i k x}$$. Note that the constant $$i k$$ is explicitly complex, so that $$k$$ is a real number. To find the unknown numbers $$A$$ and $$k$$ we substitute this general form into the left hand side of the equation and simplify:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \textrm{LHS} & = -\frac{\hbar^2}{2 m_e} \frac{d^2}{dx^2} \psi(x) \\ & = -\frac{\hbar^2}{2 m_e} \frac{d^2}{dx^2} A e^{i k x} \\ & = -\frac{\hbar^2}{2 m_e} \frac{d}{dx} \frac{d}{dx} A e^{i k x} \\ & = -\frac{\hbar^2}{2 m_e} \frac{d}{dx} A (ik) e^{i k x} \\ & = -\frac{\hbar^2}{2 m_e} A (ik)^2 e^{i k x} \\ & = \frac{\hbar^2}{2 m_e} k^2 A e^{i k x} \\ & = \frac{\hbar^2 k^2}{2 m_e} \psi(x) = E\, \psi(x) \end{align} %]]></script> <p>This shows that $$\psi(x) = A e^{i k x}$$ is indeed a solution of our Schrodinger equation provided that</p> <script type="math/tex; mode=display"> E = \frac{\hbar^2 k^2}{2 m_e}. </script> <p>Q11 is now solved!</p> <p>Note that, as we expected:</p> <ul> <li> <p>$$E$$ is positive regardless of whether the arbitrary constant $$k$$ is positive or negative (since the square of an arbitrary number is always positive).</p> </li> <li> <p>The probability of fiding the electron an any position is $$\psi^{\ast}(x) \psi(x) = A^{\ast} e^{-i k x} A e^{i k x} = |A|^2$$ and does not depend on $$x$$ i.e. the probability of finding the particle at one place or another is the same i.e. the particle is located everywhere with equal probability.</p> </li> </ul> <p><strong>Q12</strong>. <em>Show that the free electron wavefunction $$\psi = A e^{i k x}$$ has momentum $$\hbar k$$. Show that the free electron wavefunction $$\psi = A e^{-i k x}$$ has momentum $$-\hbar k$$. What is the meaning of these two wavefunctions?</em></p> <p><em>Strategy</em></p> <p>According to the Rules of QM, a wavefunction has a certain momentum if it is an eigenfunction of the corresponding operator. Hence we need to show that $$\psi(x)$$ is an eigenfunction of the momentum $$\hat{p}$$.</p> <p><em>Answer</em></p> <p>We evaluate $$\hat{p}\psi(x)$$ for the wavefunction in Q11</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \hat{p} \psi(x) & = -i \hbar \frac{d}{dx} A e^{i k x} \\ & = -i \hbar (i k) A e^{i k x} \\ & = \hbar k \psi(x) \end{align} %]]></script> <p>This is an eigenvalue equation with eigenvalue $$\hbar k$$. Therefore the momentum of a free electron with wave function $$\psi(x) = e^{i k x}$$ is $$\hbar k$$.</p> <p>Likewise:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \hat{p} \psi(x) & = -i \hbar \frac{d}{dx} A e^{-i k x} \\ & = -i \hbar (-i k) A e^{-i k x} \\ & = -\hbar k \psi(x) \end{align} %]]></script> <p>This is an eigenvalue equation with eigenvalue $$-\hbar k$$. Therefore the momentum of a free electron with wave function $$\psi(x) = e^{-i k x}$$ is $$-\hbar k$$.</p> <p>Clearly the wavefunction $$\psi(x) = A e^{i k x}$$ corresponds to an electron moving with positive momentum (i.e. moving to the right) while $$\psi(x) = A e^{-i k x}$$ corresponds to an electron with negative momentum (i.e. moving to the left), assuming $$k&gt;0$$.</p> <p>Note that the unknown constant $$A$$ can not be determined by the normalization condition: recall that according to the Rules of QM, normalization only applies to bound states.</p> <p><strong>Q13</strong>. <em>Show that the wavefunction $$\psi = A e^{i k x} + B e^{-i k x}$$ is also a solution to the free electron Schrodinger equation. Is this a valid wavefunction?</em></p> <p><em>Strategy</em></p> <p>Substitute this wavefunction into the free particle Schrodinger equation and see if it is an eigenfunction i.e. see if it obeys $$\hat{H}\psi = E \psi$$.</p> <p><em>Answer</em></p> <p>You can check that $$\psi(x) = B e^{-i k x}$$ is a solution to the same free electron Schrodinger equation by substitution. In fact, the algebra is identical except that instead of $$k$$ the opposite value $$-k$$ is used. Since both $$A e^{-i k x}$$ and $$B e^{-i k x}$$ are separately solutions, their sum must also be i.e.</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \hat{H} \psi(x) & = \hat{H} \left( A e^{i k x} + B e^{-i k x} \right) \\ & = \hat{H} A e^{i k x} + \hat{H} B e^{-i k x} \\ & = E A e^{i k x} + E B e^{-i k x} \\ & = E \left( A e^{i k x} + B e^{-i k x} \right) \\ & = E \psi(x) \end{align} %]]></script> <p>is <em>also</em> a solution.</p> <p>Is this a valid solution?</p> <p>Well, yes.</p> <p>However, you can show the probability density for this wavefunction is</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \psi^\ast(x)\psi(x) & = |A|^2 + |B|^2 + A^\ast B e^{-i 2 k x} + B^\ast A e^{i 2 k x} \\ & = |A|^2 + |B|^2 + 2 \textrm{Re} (B^\ast A) \cos 2 k x. \end{align} %]]></script> <p>The last equality follows from noting that the cross terms are complex conjugates. Therefore this wavefunction <em>does not have a constant probability density</em>. There is no explicit rule to forbid such a wavefunction, but it does not quite agree with what we might have expected.</p> <p><strong>This question illustrates a very important point about quantum mechanics:</strong></p> <p>If we have more than one solution to the SChrodinger equation with the <em>same</em> energy, then we can take a linear combination of these solutions, like above with arbitrary constants $$A$$ and $$B$$, and get a different wavefunction with the energy! There are an inifinite number of such wavefunctions corresponding to the same energy - just choose different arbitrary constants. This is the idea behind <a href="http://en.wikipedia.org/wiki/Orbital_hybridisation">hybrid atomic orbitals</a> in the valence bond theory of chemical bonding. In the hybrid atomic orbital theory, linear combinations of wavefunctions of equal or nearly equal energy, like the s and p orbitals, are used to explain how atomic orbitals adjust themselves to maximize the bonding to <em>neighbouring</em> atoms around a central atom.</p> <h2 id="particle-in-a-box">Particle in a box</h2> <p><strong>Q14</strong>. <em>Solve the Schrodinger equation for an electron in a box of length $$L$$ which starts at the origin (the potential is infinite outside the box)</em>.</p> <p><em>Strategy</em></p> <p>Draw a picture and apply the given strategy above. Note that the the wavefunction $$\psi(x) = 0$$ outside the box; if not we would get infinity appearing in the equation $$\hat{H}\psi(x) = E\psi(x)$$ when $$x$$ is outside the box.</p> <p><em>Answer</em></p> <p>The potential $$V(x)$$ looks as shown below. Also shown are the solutions which we have yet to find.</p> <figure> <img src="/images/p-in-infinite-box.jpg" /> </figure> <p>According to the strategy we should try wavefunctions of the form</p> <script type="math/tex; mode=display"> \psi(x) = A \sin k x + B \cos k x. </script> <p>Substituting in the Schrodinger equation we get</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \textrm{LHS} & = -\frac{\hbar^2}{2 m_e} \frac{d^2}{dx^2} \psi(x) \\ & = -\frac{\hbar^2}{2 m_e} \frac{d^2}{dx^2} \left( A \sin kx + B \cos kx \right) \\ & = -\frac{\hbar^2}{2 m_e} \frac{d}{dx} \frac{d}{dx} \left( A \sin kx + B \cos kx \right) \\ & = -\frac{\hbar^2}{2 m_e} \frac{d}{dx} \left(A k \cos kx - B k \sin kx \right) \\ & = -\frac{\hbar^2}{2 m_e} \left(-A k^2 \sin kx - B k^2 \cos kx \right) \\ & = \frac{\hbar^2}{2 m_e} k^2 \left(A \sin kx + B \cos kx \right) \\ & = \frac{\hbar^2 k^2}{2 m_e} \psi(x) = E\, \psi(x) \end{align} %]]></script> <p>So as before we see that $$\psi(x) = A \sin k x + B \cos k x$$ is a solution of the Schrodinger equation with</p> <script type="math/tex; mode=display"> E = \frac{\hbar^2 k^2}{2 m_e}. </script> <p>In fact this solution would be acceptable as an answer to the “free particle” problem. The difference is now that we have to apply the boundary conditions on the wavefunction, which are from the picture:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \psi(0) & = 0 \ \ \subnote{at $x = 0$}\\ \psi(L) & = 0 \ \ \subnote{at $x = L$} \end{align} %]]></script> <ul> <li> <p>Substituting $$\psi(x)$$ in the first equation above determines the value of the unknown constant $$B$$ as follows:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \psi(0) & = A \sin k 0 + B \cos k 0 \\ & = A \sin 0 + B \cos 0 \\ & = A \times 0 + B \times 1 \\ & = B \\ & = 0 \end{align} %]]></script> <p>Here we used the standard values of $$\sin 0 = 0$$ and $$\cos 0 = 1$$. Therefore we have figured out that $$\psi(x) = A \sin k x$$.</p> </li> <li> <p>Now we apply the second boundary condition and see what we get:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \psi(L) & = A \sin k L \\ & = \sin k L \\ & = 0 \end{align} %]]></script> <p>This equation has solutions only when the angle $$k L = n \pi$$ radians where $$n = 1, 2, \ldots$$. Note that the value $$n = 0$$ leads to a a wavefunction $$\psi(x) = 0$$ which has no area underneath it i.e. it is unnormalizable and therefore doesn’t obey the rules for an allowed wavefunction. Likewise although $$n = -1, -2, -3, \ldots$$ are also solutions of the above equation, they do not lead to different wavefunction solutions since $$\psi(x) = \sin kx = \sin (-kx)$$ due to the properties of the sine function.</p> </li> </ul> <p>The last boundary condition equation gives a value for the unknown $$k$$ constant which means it determines the allowed energy eigenvalues:</p> <script type="math/tex; mode=display"> E = \frac{\hbar^2 k^2}{2 m_e} = \frac{\hbar^2}{2 m_e}\frac{(n\pi)^2}{L^2}, \ \ n = 1, 2, 3, \ldots </script> <p>Corresponding to wavefunction $$\psi(x) = A \sin \displaystyle\frac{n \pi}{L} x$$.</p> <p>To find the unknown constant $$A$$ we must normalize the wavefunction,</p> <script type="math/tex; mode=display"> \int_0^L \psi^\ast(x) \psi(x) dx = \int_0^L A^2 \sin^2 \frac{n\pi}{L} x = 1 </script> <p>From which we get:</p> <script type="math/tex; mode=display"> A = \left( \int_0^L \sin^2 \frac{n\pi}{L} x \right)^{1/2} </script> <p>We can evaluate this integral by looking up tables if we like. The important thing is not the answer but <em>how</em> to get it.</p> <h2 id="particle-in-a-half-infinite-box">Particle in a half infinite box</h2> <p><strong>Q15</strong>. <em>Solve the Schrodinger equation for an electron in a box of length $$L$$ which starts at the origin. The potential is infinite to the left of the box, and has a given value $$V_0$$ to the right. The energy of the electron is less than $$V_0$$</em>.</p> <p><em>Strategy</em>.</p> <ul> <li>First draw a picture of the potential. It looks similar like the previous question, except that to the right, the height of the box is $$V_0$$ and not infinite.</li> <li>The wavefunction to the left of the box is zero as explained in the previous question.</li> <li>There are two other wavefunctions $$\psi\sub\s{in}$$ and $$\psi\sub\s{out}$$ for the inside and outside (right) of the box respectively. These two wavefunctions need to be “joined” at the boundary to make a “smooth” wavefunction.</li> <li>Inside the box, the wavefunction is the same as before, $$\psi\sub\s{in}(x) = A \sin k x$$. This satisfies the boundary condition $$\psi\sub{in}(0) = 0$$.</li> <li>Outside the box, according to strategy above, the wavefunction outside the box is $$\psi\sub\s{out}(x) = B e^{-\beta x} + C e^{\beta x}$$. However the part $$C e^{\beta x }$$ gets bigger as $$x$$ gets larger and so if constant $$C$$ is not zero the wavefunction would have an infinite area underneath it i.e. it would be unnormalizable. Therefore the wavefunction outside the box is $$\psi\sub\s{out}(x) = B e^{-\beta x}$$.</li> <li>Finally, we substitute $$\psi\sub\s{in}$$ and $$\psi\sub\s{out}$$ into the Schrodinger equation and apply the boundary conditions to get the answer.</li> </ul> <p><em>Answer</em></p> <p>Here is the picture of the potential:</p> <figure> <img src="/images/p-in-half-infinite-box.jpg" /> </figure> <p>Now let’s substitute in our general solutions for each region.</p> <ul> <li> <p>Exactly as before, we substitute $$\psi\sub\s{in}(x) = A \sin k x$$ into the Schrodinger equation to get</p> <script type="math/tex; mode=display"> E = \frac{\hbar^2 k^2}{2 m_e} \ \ \subnote{inside the box}. </script> </li> <li> <p>Outside the box i.e. for $$0 &lt; x &lt; L$$ we have a slightly different Schrodinger equation:</p> <script type="math/tex; mode=display"> \hat{H}\psi\sub\s{out}(x) = \left[ -\frac{\hbar^2}{2 m_e}\frac{d^2}{dx^2} + V_0\right] \psi\sub\s{out}(x) = E\, \psi\sub\s{out}(x) </script> <p>From the above equation we can see that we need a second derivative of $$\psi\sub\s{out}(x) = B e^{-\beta x}$$, so lets do that:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} -\frac{\hbar^2}{2 m_e} \frac{d^2}{dx^2} \psi\sub\s{out}(x) & = -\frac{\hbar^2}{2 m_e} \frac{d^2}{dx^2} \left( B e^{-\beta x} \right) \\ & = -\frac{\hbar^2}{2 m_e} \frac{d}{dx} \frac{d}{dx} \left( B e^{-\beta x} \right) \\ & = -\frac{\hbar^2}{2 m_e} \frac{d}{dx} \left(B (-\beta) e^{-\beta x} \right) \\ & = -\frac{\hbar^2}{2 m_e} \left(B (-\beta)^2 e^{-\beta x}\right) \\ & = -\frac{\hbar^2}{2 m_e} \beta^2 \left( B e^{-\beta x} \right) \\ & = -\frac{\hbar^2 \beta^2}{2 m_e} \psi\sub\s{out}(x) \end{align} %]]></script> <p>Using this result, the Schrodinger equation outside the box becomes:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \hat{H}\psi\sub\s{out}(x) & = \left[ -\frac{\hbar^2}{2 m_e} \frac{d^2}{dx^2} + V_0 \right] \psi\sub\s{out}(x) \\ & = \left[ -\frac{\hbar^2 \beta^2}{2 m_e} + V_0 \right] \psi\sub\s{out}(x) \\ & = E\,\psi\sub\s{out}(x). \end{align} %]]></script> <p>So we get <em>another</em> equation for the energy,</p> <script type="math/tex; mode=display"> E = -\frac{\hbar^2 \beta^2}{2 m_e} + V_0 \ \ \subnote{outside the box} </script> </li> </ul> <p>Now we can equate our two energy formula (the one inside the box and the one outside the box) to get an expression for $$\beta$$ in terms of $$E$$, and hence $$k$$ like this:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} E & = -\frac{\hbar^2 \beta^2}{2 m_e} + V_0 \\ \frac{\hbar^2 \beta^2}{2 m_e} & = V_0 - E \\ \beta^2 & = \frac{2 m_e}{\hbar^2} (V_0-E) \\ \beta & = \left( \frac{2 m_e}{\hbar^2} (V_0-E) \right)^{1/2} \\ \beta & = \left( \frac{2 m_e V_0}{\hbar^2} - k^2 \right)^{1/2} \ \ \ \twonote{Using formula for $E$}{inside the box} \\ \end{align} %]]></script> <p>This shows that $$\beta$$ is determined in terms of the unknown constant $$k$$.</p> <p>Now we need to apply the boundary conditions, which are:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \psi\sub\s{in}(L) & = \psi\sub\s{out}(L) \\ \frac{\psi\sub\s{in}}{dx}(L) & = \frac{\psi\sub\s{out}}{dx}(L). \end{align} %]]></script> <p>The first condition ensures that the wavefunctions are “unbroken” or “continuous”. The second condition ensures that the derivatives of the two wavefunction match so the join is “smooth”.</p> <ul> <li> <p>The first condition gives</p> <script type="math/tex; mode=display"> A \sin k L = B e^{-\beta L} </script> </li> <li> <p>The second condition gives</p> <script type="math/tex; mode=display"> A k \cos k L = -B \beta e^{-\beta L} </script> </li> </ul> <p>We can eliminate the constants $$A$$ and $$B$$ by dividing the second equation by the first. The result is:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \frac{k \cos k L}{\sin kL} & = -\beta, \ \textrm{or} \\ k \cot k L & = -\left( \frac{2 m_e V_0}{\hbar^2} - k^2 \right)^{1/2} \end{align} %]]></script> <p>This is a difficult equation to solve. In general it has to be solved numerically once we are given a value for $$V_0$$. Before choosing a value let’s simplify the problem a bit by using atomic units i.e. units where we set $$\hbar = m_e = 1$$. Atomic units are widely used in quantum chemistry. Let’s further assume that $$L = 1$$ in these units. Then our equation becomes:</p> <script type="math/tex; mode=display"> k \cot k = -\left( 2 V_0 - k^2 \right)^{1/2} </script> <p>All we need now is a value of $$V_0$$. Let’s take $$V_0 = 18$$. We can now solve this equation numerically.</p> <p>The easiest way to do it, go to the <a href="http://www.wolframalpha.com/">Wolfram Alpha</a> web site and type in $$\texttt{k cot k = -(36 - k^2)^(1/2)}$$. You will get two solutions: $$k = 2.679, 5.226$$. Cool!</p> <p>What about if $$V_0$$ is very large? Don’t we expect to get something close to the particle-in-an-infinite-box problem?</p> <p>Let’s check. Choose $$V_0 = 500$$ and type into <a href="http://www.wolframalpha.com/">Wolfram Alpha</a> $$\texttt{k cot k = -(1000 - k^2)^(1/2)}$$. You should get the results $$k = 3.05, 6.09, 12.17 \ldots$$. These values are indeed close to the solutions $$k = \pi, 2\pi, 3\pi, \ldots$$. Everything seems to make sense!</p> <p>Below are the wavefunctions for a particular case of the half infinite box. You should be able to draw a sketch of these. See how the exponential part in the barrier ouside joins smoothly up with the sin wave part in the box?</p> <figure> <img src="/images/psi-for-half-infinite-box.jpg" /> </figure> <p>Note that the wavefunction is not zero inside the barrier. Therefore, <em>there is a non zero probability for it to be inside the barrier even though the particle does not have enough energy to go in</em>! If the particle were a person, this would be like saying that they could walk inside a wall!</p> <p>You can also see on these plots the solutions in the case where the energy of the particle is greater than the barrier height $$V_0$$. To get these solutions we have to assume a <em>different</em> general solution in that part and repeat the whole procedure above.</p> <h2 id="congratulations">Congratulations!</h2> <p>If you’ve got this far then congratulations! You understand the basics of quantum mechanics.</p> <h2 id="tunneling-through-a-barrier">Tunneling through a barrier</h2> <p>The following is not for examination, but for <strong>interest only</strong>.</p> <p>(Hello? Is anyone out there? Or am I the only wierdo around?)</p> <p>This example illustrates the fact that, not only can a quantum particle exist inside a barrier, it can tunnel right through!</p> <p>To see this we solve the Schrodinger equation for this potential</p> <script type="math/tex; mode=display">% <![CDATA[ V(x) = \left\{ \begin{array}{ll} 0, & \hphantom{0<}x<0 \\ V_0, & 0< x<a \\ 0, & \textrm{otherwise} \end{array} \right. %]]></script> <p>This is called a <em>barrier potential</em> as the picture below makes clear.</p> <figure> <img src="/images/barrier-potential.jpg" /> </figure> <p>As before, let’s consider the case $$E&lt;V_0$$ where the particle does not have enough classical energy to penetrate the barrier. </p> <p>The general solutions in each region have the form:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \psi\sub\s{L} &= A_1 e^{ikx} + B_1 e^{-ikx} && \hphantom{0<}x<0 \\ \psi\sub\s{M} &= C e^{\beta x} + D e^{-\beta x} && 0<x<a \\ \psi\sub\s{R} &= A_2 e^{ikx} + B_2 e^{-ikx} && \hphantom{0<}a<x \end{align} %]]></script> <p>These are general wavefunctions in the left (L), middle (M) and right (R) regions. Plugging these into the Schrodinger equation we get</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} E &= \frac{(\hbar k)^2}{2m}, \\ V_0-E &= \frac{(\hbar \beta)^2}{2m}. \end{align} %]]></script> <p>Now let’s deal with the boundary conditions. To ensure that the wavefunctions are continuous and smooth:</p> <ul> <li> <p>The boundary conditions at $$x=0$$ are:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \psi\sub\s{L}(0) =\psi_\s{M} &\implies && \hphantom{(ik)}A_1 e^{ik0} + \hphantom{(-ik)}B_1 e^{-ik0} &=&\ \hphantom{\beta} C e^{\beta 0} + \hphantom{(-\beta)} D e^{-\beta 0} \\ \psi'\sub\s{L}(0)=\psi'_\s{M} &\implies && A_1(ik) e^{ik0} + B_1(-ik) e^{-ik0} &=& C\beta e^{\beta 0} + D(-\beta) e^{-\beta 0} \end{align} %]]></script> <p>It is easier to write this as a matrix equation</p> <script type="math/tex; mode=display">% <![CDATA[ \underbrace{ \left[ \begin{array}{cc} 1 & 1 \\ ik & -ik \end{array} \right] }_{\B{M}_1} \left[ \begin{array}{c} A_1 \\ B_1 \end{array} \right] = \underbrace{ \left[ \begin{array}{cc} 1 & 1 \\ \beta & -\beta \end{array} \right] }\sub{\B{M}\sub{2}} \left[ \begin{array}{c} C \\ D \end{array} \right] %]]></script> </li> <li> <p>The boundary conditions at $$x=a$$ are:</p> <script type="math/tex; mode=display">% <![CDATA[ \underbrace{ \left[ \begin{array}{cc} e^{\beta a} & e^{-\beta a} \\ \beta e^{\beta a} & -\beta e^{-\beta a} \end{array} \right] }\sub{\B{M}\sub{3}} \left[ \begin{array}{c} C \\ D \end{array} \right] = \underbrace{ \left[ \begin{array}{cc} e^{ika} & e^{-ika} \\ ike^{ika} & -ike^{-ika} \end{array} \right] }\sub{\B{M}\sub{4}} \left[ \begin{array}{c} A_2\\ B_2 \end{array} \right] %]]></script> </li> </ul> <p>The general solution to these equations will always have at least two unknown constants e.g. $$A_1$$ describing momentum from the left or $$B_2$$ describing momentum from the right. The transmission and reflection characteristic relating the left wavefunction to the right wavefunction are given by the <a href="http://en.wikipedia.org/wiki/Transfer-matrix_method_(optics)">transfer matrix</a> $$\B{P}$$ which is defined by</p> <script type="math/tex; mode=display"> \left[ \begin{array}{c} A_1\\ B_1 \end{array} \right] = \B{P} \left[ \begin{array}{c} A_2\\ B_2 \end{array} \right] </script> <p>From the above definitions we see that</p> <script type="math/tex; mode=display"> \left[ \begin{array}{c} A_1\\ B_1 \end{array} \right] = \B{M}\sub{1}^{-1} \B{M}\sub{2} \left[ \begin{array}{c} C \\ D \end{array} \right] \ \ \text{ and } \left[ \begin{array}{c} C \\ D \end{array} \right] = \B{M}\sub{3}^{-1} \B{M}\sub{4} \left[ \begin{array}{c} A_2 \\ B_2 \end{array} \right] </script> <p>so that</p> <script type="math/tex; mode=display"> \left[ \begin{array}{c} A_1\\ B_1 \end{array} \right] = \underbrace{ \B{M}\sub{1}^{-1} \B{M}\sub{2} \B{M}\sub{3}^{-1} \B{M}\sub{4} }\sub{\B{P}} \left[ \begin{array}{c} A_2 \\ B_2 \end{array} \right] </script> <p>After a lot of tedious algebra making use of standard formulas for inverting matrices, we get</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} P\sub{11} &= e^{ika} \left\{ \cosh(\beta a) +\frac{i}{2}\sinh(\beta a) \left( \frac{\beta}{k} -\frac{k}{\beta} \right) \right\} \\ P\sub{22} &= e^{-ika} \left\{ \cosh(\beta a) -\frac{i}{2}\sinh(\beta a) \left( \frac{\beta}{k} -\frac{k}{\beta} \right) \right\} \\ P\sub{12} &= e^{-ika} \frac{i}{2}\sinh(\beta a) \left( \frac{\beta}{k} +\frac{k}{\beta} \right) \\ P\sub{21} &= -e^{ika} \frac{i}{2}\sinh(\beta a) \left( \frac{\beta}{k} +\frac{k}{\beta} \right) \end{align} %]]></script> <p>Note: this transfer matrix method can be generalized to calculate transmission through any series of barriers—in case you ever need to do that for, say, nanotechnology applications. </p> <p>Of course, you would not do the algebra by hand, but set these equations up in a computer algebra program like <a href="http://www.wolframalpha.com/">Wolfram Alpha</a></p> <p>Now for some results.</p> <p>Assume there is only momentum coming from the left ($$A_1\neq 0$$, $$B_1=0$$) but none on the right ($$B_2=0$$, $$B_1\neq 0$$). The transmitted probability flux to the right is then:</p> <script type="math/tex; mode=display"> \textrm{Re} \left( \psi\sub\s{R}^\ast \frac{\hat{p}}{m} \psi\sub\s{R} \right) = \textrm{Re} \left( A_2^\ast e^{-ikx} \frac{-i\hbar}{m} A_2 e^{ikx} \right) = |A_2|^2 \frac{hk}{m}. </script> <p>Note that the (probability) velocity opertor used above to calculate the probability flux is the real part of $$\hat{v} = \hat{p}/m$$. It is just the momentum divided by the mass.</p> <p>We define the <a href="http://en.wikipedia.org/wiki/Transmission_coefficient">transmission coefficient</a> by</p> <script type="math/tex; mode=display"> T = \frac{|A_2|^2}{|A_1|^2} = \frac{\s{Transmitted flux}}{\s{Incident flux}} = \left| \frac{1}{P\sub{11}} \right|^2 </script> <p>Likewise the <a href="http://en.wikipedia.org/wiki/Transmission_coefficient">reflection coefficient</a> by is defined as</p> <script type="math/tex; mode=display"> R = \frac{|B_1|^2}{|A_1|^2} = \frac{\s{Transmitted flux}}{\s{Incident flux}} = \left| \frac{P_{21}}{P_{11}} \right|^2 </script> <p>It may be verified (tediously hand, but easily with <a href="http://www.wolframalpha.com/">Wolfram Alpha</a> that:</p> <script type="math/tex; mode=display"> R + T = 1 </script> <p>Plots of the transmission and reflection coefficient are shown in the following graphs (from the highly recommended textbook by Ballentine) assuming $$L=\hbar=1=2m=1$$, for $$E=0.16$$ and $$E=1.0$$ respectively.</p> <figure> <img src="/images/tunneling-wavefunction-E=016.jpg" /> </figure> <figure> <img src="/images/tunneling-wavefunction-E=100.jpg" /> </figure> <p>The formula for the transmission coefficient is:</p> <script type="math/tex; mode=display"> T = \left[ 1 + \frac{V_0^2\sinh^2(\beta a)}{4 E(V_0-E)} \right]^{-1} </script> <p>The transmission coefficient is plotted below:</p> <figure> <img src="/images/tunneling-transmission-coefficient.jpg" /> </figure> <p>Some comments:</p> <ul> <li> <p>$$\psi$$ does not simply decrease in the barrier. However, $$|\psi|$$ always decreases</p> </li> <li> <p>$$\psi$$ always has zero slop at the exit on the right hand side because $$|\psi|$$ is constant on the right hand side</p> </li> <li> <p>The particle can tunnel right through the barrier, as advertised.</p> </li> <li> <p>The transmission coefficient decreases exponentially with thickness.</p> </li> </ul> <p><a href="http://dylan-jayatilaka.net/articles/particles-in-boxes/">Particles in boxes</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on September 21, 2014.</p> <![CDATA[Super quick summary of Quantum Mechanics]]> http://dylan-jayatilaka.net/articles/super-quick-summary-of-qm 2014-09-21T00:00:00-00:00 2014-09-20T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>This is a post for my second year Phys Chem students.</p> <p>The purpose of this post is to write down briefly the main ideas and Rules of Quantum mechanics.</p> <figure> <img src="/images/rembrandt-moses-with-the-ten-commandments.jpg" /> </figure> <p>Quantum mechanics is hard for two reasons. First, the ideas are strange. Second, it involves mathematics which is probably new to you. The double whammy is a killer.</p> <p>Still, some of you may find quantum mechanics intriguing. If so, you would not be alone. People still <a href="http://dylan-jayatilaka.net/articles/quantum-theory-is-wrong/">argue about it today</a> even after a hundred years.</p> <h2 id="why">Why?</h2> <p>A common question that is encountered is “Why do I need to know about QM?” or more briefly “So what?”.</p> <p>Here is the answer for chemists.</p> <p>You need to understand how quantum mechanics works because quantum mechanics allows you to calculate everything about chemistry (molecular properties, reaction rates) from equations <a href="http://www.brainyquote.com/quotes/quotes/p/pauldirac279318.html">without having to do experiments</a>.</p> <p>That’s big.</p> <p>I reckon these days every organic chemist should do a simple QM calculation to test out their reaction schemes before going into the lab for some pain. Of course, these QM calcs are done on a computer - not with pen and paper. So you could just learn to use the program. But in that case you would have no idea how the calculations work i.e. you will be just a monkey. No one wants to employ a monkey. (We <em>will</em> teach you how to use these programs in third year).</p> <figure> <img src="/images/small-thoughtful-bonobo.jpg" /> </figure> <h2 id="chill">Chill</h2> <p>Now I know you probably have not seen quantum mechanics before. Probably you are freaking out. I want to say: Don’t Worry. QM is hard - but not <em>that</em> hard. Just remember: contrary to what you might have thought, you don’t yet know everything. You have to learn more. It’s normal to feel that way with new stuff. So relax. Afterwards, see if you can follow the questions and answers below. If you’re still confused come and see me.</p> <p>Let’s get started.</p> <h2 id="the-hyperphysics-web-site">The hyperphysics web site</h2> <p>A really great web site which takes the standard historical story of QM and uses the concept-map idea - and incidentally covers nearly exactly the same material as our Phys Chem QM lectures - can be found <a href="http://hyperphysics.phy-astr.gsu.edu/hbase/quacon.html#quacon">here</a>. Do take a <a href="http://hyperphysics.phy-astr.gsu.edu/hbase/quacon.html#quacon">click</a>.</p> <p>On the other hand, if you keep reading, we skip all that historical guff and get straight into it.</p> <h2 id="the-rules-of-quantum-mechanics">The Rules of Quantum Mechanics</h2> <p>There are only few rules to quantum mechanics.</p> <p>But the rules do require some explanation, as you see!</p> <ol> <li> <p><strong>The state of a system is described by a wavefunction</strong></p> <ul> <li> <p>The wavefunction is a <a href="http://en.wikipedia.org/wiki/Function_(mathematics)">function</a> of the coordinates of the particles in the system. It is usually given the symbol $$\psi$$</p> </li> <li> <p>$$\psi$$ must be continuous i.e. have no “gaps” in it</p> </li> <li> <p>The derivative of $$\psi$$ must also be continuous i.e. the wavefunction must be smooth (except at points where the interaction energy becomes infinite - so called singularities)</p> </li> <li> <p>$$\psi$$ for bound ie. stable states must be <a href="http://hyperphysics.phy-astr.gsu.edu/hbase/quantum/qm.html#c5">normalizable</a> i.e. $$\int |\psi|^2$$ must exist and must equal one; this is called normalization of the wavefunction. The reason is that $$|\psi(\B{x})|^2$$ is the probability of finding the particles at given positions $$\B{x}$$.</p> </li> </ul> </li> <li> <p><strong>Any experimental measurement is represented by an operator</strong></p> <ul> <li> <p>An <a href="http://en.wikipedia.org/wiki/Operator_(physics)#Linear_operators_in_wave_mechanics">operator</a> is a function of the coordinates and momenta of the particles in the system.</p> </li> <li> <p>The momenta (which in classical mechanics is written as $$\B{p}$$ and is equal to mass times velocity $$\B{p} = m\B{v}$$) is in quantum mechanics equal to a derivatives with respect to the particle coordinates times $$i\hbar$$ (where $$\hbar$$ is Planck’s constant divided by $$2\pi$$ ) i.e. in quantum mechanics:</p> <script type="math/tex; mode=display"> \boxed{ \hat{p} = -i\hbar \displaystyle\frac{d}{dx} \ \ldots \ \textrm{in 1 dimension} } </script> <p>This is very different to classical mechanics!</p> </li> <li> <p>Operators are sometimes represented by a symbol with a hat on top e.g. like $$\hat{A}$$. Sometimes we forget the hat if it is clear it is an operator.</p> </li> </ul> </li> <li> <p><strong>The result of any measurement is an eigenvalue of the operator describing the experiment, and after the measurement the system is completely described by the wavefunction corresponding to that eigenvalue</strong></p> <ul> <li> <p>An eigenvalue of an operator $$\hat{A}$$ is any real number $$a$$ which obeys an <a href="http://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors">eigenvalue equation</a> for that operator i.e. $$\hat{A} \psi = a \psi$$.</p> </li> <li> <p>An eigenvalue equation is a <a href="http://en.wikipedia.org/wiki/Differential_equation">differential equation</a> i.e. an equation involving derivatives. The unknown quantities to be determined in this equation are the <a href="http://en.wikipedia.org/wiki/Wave_function#Position-space_wave_function">wavefunction</a> $$\psi$$ and the eigenvalue $$a$$.</p> </li> <li> <p>Example: The <a href="">Schrodinger equation</a> $$\hat{H}\psi = E\psi$$ is just the eigenvalue equation for the allowed energies $$E$$ of the system, where $$\hat{H}$$ is the total energy operator or <a href="http://en.wikipedia.org/wiki/Hamiltonian_(quantum_mechanics)#The_Schr.C3.B6dinger_Hamiltonian">Hamiltonian</a> of the system:</p> <script type="math/tex; mode=display"> \hat{H} = \underbrace{\sum_i \displaystyle\frac{\hat{p}_i^2}{2 m_i}}_{\twonote{Kinetic energy}{of all particles $i$}} + \underbrace{V(\B{x}_1,\B{x}_2,\ldots)}_{\twonote{Potential energy }{of all particles}} </script> <p>The potential energy $$V$$ depends on the positions and perhaps also the momenta of all the particles. It has to be specified to you for each problem.</p> </li> <li> <p>There may be many solutions to an eigenvalue equation but not all of them are unacceptable (see Rule 1)</p> </li> <li> <p>Since an experiment can yield a many different results, the corresponding eigenvalue equation for the operator for that experiment also has many different eigenvalues and solutions. Each eigenvalue $$a$$ and its wavefunction $$\psi$$ are paired together.</p> </li> <li> <p>QM does not predict exactly <em>which</em> eigenvalue is obtained from an experiment; but if $$\psi_i$$ is the initial wavefunction before the experiment $$\hat{A}$$ then QM <em>does</em> predict</p> <ul> <li> <p>That the <em>probability</em> of getting result $$a$$ with wavefunction $$\psi_a$$ is $$|\int \psi_a^* \psi_i|^2$$</p> </li> <li> <p>That the average of many experimental results is given by the <a href="http://hyperphysics.phy-astr.gsu.edu/hbase/quantum/expect.html">expectation value</a> $$\expectation{A} = \int \psi^*_i \hat{A} \psi_i$$.</p> </li> </ul> </li> </ul> </li> </ol> <h2 id="do-you-get-it-test-yourself">Do you get it? Test yourself</h2> <p>The following are examples of questions that may be asked in the exam.</p> <p><strong>Q0</strong>. <em>What are the main differences between classical mechanics and quantum mechanics?</em></p> <p><em>Answer</em></p> <p>In classical mechanics every particle e.g. like an electron, proton, neutron has a definite position and a velocity. The way a classical particle moves is calculated by using <a href="http://en.wikipedia.org/wiki/Newton’s_laws_of_motion">Newton’s Laws</a>. On the other hand, in quantum mechanics, particles usually <em>do not</em> have a definite position or velocity. That means in quantum mechanics “particles” are notparticles at all! They are <em>spread out</em> and <em>distributed</em> in space in some way.</p> <figure> <img src="/images/particles-vs-waves.jpg" /> </figure> <p>We can think of quantum particles as little wiggly waves. Such waves do <em>not</em> usually have a definite position. In order to describe the shape of these wiggly waves we need to use a <em>function</em> - specifically a <em>wavefunction</em>. An example might be $$\psi(x) = \sin x$$. Plotting out this function on a graph shows the wiggly wave of the quantum particle. The wavefunction describes everything you can know about the quantum particle. The Schrodinger equation tells us the shape of the wavefunction which has a definite energy. Compare this again to a classical particle which can be descibed by only <em>six numbers</em> : three coordinates $$x$$, $$y$$ and $$z$$ and three velocities $$v_x$$, $$v_y$$, and $$v_z$$. By contrast, a quantum mechanical particle requires an <em>infinite number of numbers to describe it</em> since it requires the whole shape of the wavefunction in the plotted graph to be tabulated for you. Either that, or you have to write a mathematical function such as $$\psi(x) = \sin x$$ to describe its shape. That’s why the Schrodinger equation is not a normal equation but a <a href="http://en.wikipedia.org/wiki/Differential_equation">differential equation</a>: this type of equation determines the <em>shape</em> of a function, unlike a normal <em>algebraic</em> equation which just uses <em>numbers</em> not <em>functions</em>.</p> <p><strong>Q1</strong>. <em>Write down the momentum operator of an electron in one dimension</em></p> <p><em>Strategy</em></p> <p>Use Rule 1 of quantum mechanics.</p> <p><em>Answer</em></p> <p>The momentum operator of an electron in one dimension is $$\hat{p} = -i\hbar \displaystyle\frac{d}{dx}$$.</p> <p><strong>Q2</strong>. <em>Write down the momentum operator of an electron in three dimensions</em></p> <p><em>Strategy</em></p> <p>To do this we have to realize that the momentum in three dimensions is a vector. So we have to write down a vector with three conponents. Each component is defined like in Q1.</p> <p><em>Answer</em></p> <p>The momentum operator is given by</p> <script type="math/tex; mode=display"> \hat{\B{p}} = -i \hbar \left( \begin{array}{c} \partial/\partial x \\ \partial/\partial y \\ \partial/\partial z \\ \end{array} \right) </script> <p>Note:</p> <ul> <li> <p>A boldface symbol for $$\B{p}$$ is used to represent a vector and therefore a boldface $$\hat{\B{p}}$$ is vector of derivative operators, as you can see.</p> </li> <li> <p>The partial derivative symbol $$\partial$$ is used whenever there is more than one variable involved - like in thermodynamics.</p> </li> <li> <p>Note that sometimes the $$x$$, $$y$$ and $$z$$ coordinates are written as $$r_1$$, $$r_2$$, $$r_3$$</p> <script type="math/tex; mode=display"> \hat{\B{p}} = -i \hbar \left( \begin{array}{c} \partial/\partial r_1 \\ \partial/\partial r_2 \\ \partial/\partial r_3 \\ \end{array} \right) </script> </li> <li> <p>Even more briefly we can write </p> <script type="math/tex; mode=display"> \hat{\B{p}} = -i \hbar \B{\nabla} </script> <p>The upside down triangle is called <a href="http://en.wikipedia.org/wiki/Del">nabla</a> and stands for the vector of derivatives in the three directions, as already written above.</p> </li> </ul> <p><strong>Q3</strong>. <em>Write down the definition of the angular momentum operator $$\hat{\B{l}}$$ given that the angular momentum is defined by</em></p> <script type="math/tex; mode=display"> \B{l} = \B{r} \times \B{p} = \left( \begin{array}{c} r_2 p_3 - r_3 p_2 \\ r_3 p_1 - r_1 p_3 \\ r_1 p_2 - r_2 p_1 \end{array} \right). </script> <p><em>Strategy</em>.</p> <p>Substitute the definition of the 3D momentum operator in (Q2) into the expression for $$\B{l}$$.</p> <p><em>Answer</em></p> <p>The expression for the angular momentum operator is:</p> <script type="math/tex; mode=display"> \hat{\B{l}} = -i\hbar \left( \begin{array}{c} r_2 \pd{}{r_3} - r_3 \pd{}{r_2} \\ r_3 \pd{}{r_1} - r_1 \pd{}{r_3} \\ r_1 \pd{}{r_2} - r_2 \pd{}{r_1} \end{array} \right) </script> <p><strong>Q4</strong>. <em>Write down the equation which determines the experimental values of an electron’s momentum in one dimension.</em></p> <p><em>Strategy</em></p> <p>Use Rule 2 of quantum mechanics. Write down the eigenvalue equation for the momentum operator of the electron.</p> <p><em>Answer</em></p> <p>The allowed experimental values $$a$$ of the electron momentum in one dimension are determined by solving the following eigenvalue equation:</p> <script type="math/tex; mode=display"> \underbrace{\left( -i \hbar \frac{d}{dx} \right)}_{\hat{p}_e} \psi(x) = a \psi(x). </script> <p><strong>Q5</strong>. <em>Write down the equation which determines the experimental energies of an electron moving freely in one dimension. Note that the <a href="http://en.wikipedia.org/wiki/Kinetic_energy#Newtonian_kinetic_energy">(kinetic) energy of a free particle</a> is given in terms its momentum by the equation $$p^2/2m$$ where $$m$$ is the mass of the particle.</em></p> <p><strong>A5</strong>.</p> <p><em>Strategy</em></p> <p>To do this question we need the formula for the energy in terms of the free electrons position and momentum. Luckily that is given to us. Next we do the usual substitution for the electron momentum. Then we use Rule 2 and write down the eigenvalue equation.</p> <p><em>Answer</em></p> <p>The allowed experimental energies $$E$$ are obtained by solving the following eigenvalue equation,</p> <script type="math/tex; mode=display"> \hat{H} \psi(x) = E \psi(x). </script> <p>$$\hat{H}$$ is the energy operator or <em>Hamiltonian</em> for the electron,</p> <script type="math/tex; mode=display"> \hat{H} = \frac{\hat{p}^2}{2m_e} = -\frac{\hbar^2}{2m_e}\frac{d^2}{dx^2} </script> <p>The right hand side is obtained by substituting $$p = -i\hbar \displaystyle\frac{d}{dx}$$ and $$x$$ and $$m_e$$ are the position coordinate and mass of the electron, respectively.</p> <p>Note:</p> <ul> <li> <p>To solve this equation to find the allowed energy values $$E$$ means we usually have to first find the unknown wave function $$\psi(x)$$.</p> </li> <li> <p>The Hamiltonian has a negative sign in it. However it’s value is generally positive (as energy should be) at any point in space because $$d^2\psi/dx^2$$ is usually negative; it is generally positive but not <em>always</em> positive everywhere.</p> </li> </ul> <p><strong>Q6</strong>. <em>Write down the equation for the allowed energy levels of the hydrogen atom in one dimension. Assume that $$V(x)$$ is given by the <a href="http://en.wikipedia.org/wiki/Electric_potential_energy#Electrostatic_potential_energy_of_one_point_charge">electrostatic potential energy</a>.</em></p> <p><em>Strategy</em></p> <p>We need to write down the total energy of an electron and a proton in one dimension. The total energy is comprised of the sum of the kinetic energy of each particle. Hence it depends on the momentum of the electron $$p_e$$ and the momentum of the proton $$p_p$$. The total energy also depends of the electrical attraction between the proton and the electron which depends on the (inverse) distance between the two particles according to <a href="http://en.wikipedia.org/wiki/Electric_potential_energy#Electrostatic_potential_energy_of_one_point_charge">Coulomb’s Law</a> as stated in the problem. The distance between the two particles is $$|x_p - x_e|$$ and involves the coordinates of the electron and the proton, respectively $$x_e$$ and $$x_p$$.</p> <p><em>Answer</em></p> <p>The allowed energies $$E$$ for an electron and proton moving in one dimension are determined by the following eigenvalue equation:</p> <script type="math/tex; mode=display"> \hat{H} \psi(x_p,x_e) = E \psi(x_p,x_e) </script> <p>where $$\hat{H}$$ is the total energy operator or Hamiltonian for the system, given by</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{alignat*}{5} \hat{H} & = \frac{p^2_p}{2m_p} & & + \frac{p^2_e}{2m_e} & + \frac{1}{4\pi\epsilon_0}\frac{1}{|x_p - x_e|} \\ & = \underbrace{-\frac{\hbar^2}{2m_p}\frac{d^2}{dx_p^2}}_{\twonote{Kinetic energy}{of proton}} \ \ & & \underbrace{-\frac{\hbar^2}{2m_e}\frac{d^2}{dx_e^2}}_{\twonote{Kinetic energy}{of electron}} \ \ & \underbrace{-\frac{1}{4\pi\epsilon_0}\frac{1}{|x_p - x_e|}}_{\twonote{Electron-nuclues}{attraction energy}} \\ \end{alignat*} %]]></script> <p><strong>Q7</strong>. <em>Is the equation $$\hat{P}^2 \psi = \hat{P}\psi$$ an eigenvalue equation?</em></p> <p><em>Strategy</em></p> <p>Recall the definition of an eigenvalue equation. Compare it to the above eigenvalue equation to see if they look similar.</p> <p><em>Answer</em></p> <p>Yes it is an eigenvalue equation! Since, if we set $$\phi = \hat{P}\psi$$ it can be written as $$\hat{P}\phi = \phi = 1\phi$$. This is an eigenvalue equation for $$\phi$$ with eigenvalue equal to 1. Note that any old operator will <em>not</em> obey such an equation i.e. such an operator $$\hat{P}$$ must be somewhat <em>special</em> … if it even exists.</p> <p><strong>Q8</strong>. <em>Suppose we do an experiment for the total energy $$E_0$$ of a particle and the wavefunction is $$\psi_0$$ after the experiment. (i) What is the probability of measuring energy $$E_0$$ again, afterwards? (ii) What is the probability of measuring a different energy $$E_1$$ afterwards? (iii) What is the average of many position measurements of the particle? Assume that the particle is one dimensional.</em></p> <p><em>Strategy</em></p> <p>For (i) refer to the last part of Rule 2 and note the normalization condition. For (ii), the result depends on (i), see below. For (iii) see the last part of Rule 2 and use the operator $$x$$ for the particle position.</p> <p><em>Answer</em></p> <p>(i) The probability of obtaining $$E_0$$ again is $$|\int \psi^\ast_0 \psi_0|^2$$. But this is equal to 1 for a bound state by the normalization condition. So we would measure $$E_0$$ again the second time with probability 1. This is interesting. It says that once the first measurement is done the second measurement keeps the wavefunction in the same state. This is known as the <a href="http://en.wikipedia.org/wiki/Quantum_Zeno_effect">quantum Zeno effect</a> and it has been shown experimentally to be true.</p> <p>(ii) The probability of getting any other energy is zero since after the first energy measurement, we always keep getting $$E_0$$. Note: this implies that $$|\int \psi\sub{0}^\ast(x) \psi_1(x) dx|^2 = 0$$, which can be proved to be true. The proof is beyond the scope of this course, but relies on the fact that the eigenvectors are orthogonal.</p> <p>(iii) The position of a one dimensional particle is given by( x \). We could put a “hat” on this to indicate it is an operator but it may be less confusing to leave it off. So the average of the position measurements is $$\expectation{x} = \int \psi_0(x)\, x\, \psi_0(x) dx$$</p> <p><a href="http://dylan-jayatilaka.net/articles/super-quick-summary-of-qm/">Super quick summary of Quantum Mechanics</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on September 20, 2014.</p> <![CDATA[God or not?]]> http://dylan-jayatilaka.net/articles/god-or-not 2014-06-07T00:00:00-00:00 2014-06-30T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>There is a general “waste of time” feeling I get when discussing this topic with others that I think stems from the notion that agreement will never be reached.</p> <p>That may be so.</p> <p>Yet, I think it is worth clarifying the points we <strong>can</strong> all agree on — and then arguing from there.</p> <p>As a heads-up, I am going to tackle this question by considering what we ourselves are. After thinking about this, you will hopefully see that the question is — well — ill defined.</p> <p>Let me illustrate what I mean.</p> <h2 id="our-shared-experiences">Our shared experiences</h2> <p>I think many of us can agree that God is not an old gentleman with a beard floating in the clouds.</p> <p>If you think about <em>why</em> you believe this, you will realize that it is because of your past experience. You’ve never seen an old man floating in the clouds, have you? So your conclusion is based on extrapolations from past observations.</p> <p>Likewise, some of us may have tried the old “pact with God experiment”. It goes something like this:</p> <blockquote> <p>God, if you are listening, then if you (do something for me) I will be forever indebted and (do something for you).</p> </blockquote> <p>This kind of thing generally doesn’t work. The problem is, we simply don’t hear a voice in our heads that we can converse with. So the conclusion is that God, if he exists, doesn’t talk back in a straightforward way.</p> <p>So, there are some things about God many of us can agree on.</p> <h2 id="gods-nature">God’s nature</h2> <p>What exactly are the characteristics that we would agree our God to have?</p> <p>In the Jewish-Christian-Muslim tradition there is only “one” God. Actually, even though I repeat it, that claim always annoys me because the idea goes back at least to the Zoroastrians, if not to Pharoah Akhenaten in 1300 BC, or thereabouts. Put that aside for a moment. Let’s agree to think in this framework. Clearly the notion of God at least presupposes the notion of “you” and “him”.</p> <p>Therefore, pretty early in the game of talking about God you are faced with the notion of “other” people or entities.</p> <p>And before considering “others” we should think about our “self”.</p> <h2 id="the-dismembered-self">The dismembered Self</h2> <p>“I think, therefore I am” doesn’t get us very far.</p> <p>For me, it was much more productive to consider the question:</p> <blockquote> <p>Where is my “self”?</p> </blockquote> <p>The self is obviously not in our hands. We’ve seen others without hands and we don’t consider their self diminished.</p> <p>And we can continue down this ghastly thought-track, chopping off limbs, and replacing organs by machines, and we realize that the self is somehow embedded in the head region, the brain. We know it’s true because people with head injuries often have deep personality changes. The self is localized in the brain.</p> <p>Or is it?</p> <h2 id="the-reconstructed-self">The reconstructed Self</h2> <p>The brain is a large nexus of nerves, chemicals, a memory store. But we can store memories elsewhere, these days. Photographs. Diaries. Increasingly in our smart devices. Perhaps in the future these “external” (to the brain) memories and data will be stored “in the cloud” and we will obtain them with direct brain links. This would be amazing. Yet, it is not any different to what we do now when we read our diaries or look at our photographs — we are just talking about replacing our hands and eyes with other things. It is not a difference of principle.</p> <p>What we are beginning to see here is that while most of the “self” is localized in the brain, it is very difficult to be sure that <em>all</em> of you is really there. At the moment memories are largely stored in the brain, but not exclusively.</p> <p>Carrying this thought forward, we see that when our hands are chopped off we do indeed lose a part of our “self”.</p> <h2 id="the-other">The Other</h2> <p>Perhaps I’m going too fast, but you must surely have got the idea that your “self” is not an isolated entity.</p> <p>Just to make sure you understand: these words you are reading are a communication from my “self” to “you”, as if I spoke them, but they are — where exactly? On Google’s servers? On the screen your reading? In the signals in your optic nerve? In “your” brain?</p> <p>Am I in your brain?</p> <p>Well, yes. In a sense. To a certain extent. According to a certain definition or outlook.</p> <p>When does an oyygen molecule become part of “you”? When it is in your mouth? In your lungs? Crossing the alveoli? Or entering the brain? </p> <p>And what if you kiss someone. Does the share oxygen in your joined respiratory systems mean that — you are joined? </p> <p>The point I am making is that you and I are not clearly separate.</p> <h2 id="twins">Twins</h2> <p>Let’s try another example, some other shared experience.</p> <p>The case of Siamese twins is interesting.</p> <p>Depending on which parts are connected (bodies, heads, brains) they increasingly become more conjoined in all senses of the word. We see here that “self” and “other” form a continuous spectrum. But the Siamese twins are an accident of biology. In the future there seems no reason why we can’t achieve such joining by non-biological means. Or perhaps by genetic engineering, if the ethics could ever be sorted out.</p> <p>The outcome of these considerations is that “self” and “other” are just convenient and useful terminologies — for the time being. There is nothing universal about either. There is no universal individualism. For some reason (which people like Dawkins claim to explained) it exists to a certain extent in our world.</p> <h2 id="god-or-not">God or not?</h2> <p>Our conclusion about “wholism” (for want of a better word) has many deep and fundamental consequences. About morality, justice, the notion of competition, discrimination.</p> <p>Do pause and think about it.</p> <p>Coming back to the original question: is there is a God or not?</p> <p>One of the consequences of the above argument is that God, if he exists, is not to be regarded as different from us — in principle. I think the question of whether God exists is therefore moot. I choose to subscribe to what I understand to be Spinoza’s view, that God is in fact the totality of what is observed. That also seems to be the essence of the Bhuddist view.</p> <h2 id="and-you">And you?</h2> <p>The arguments and conclusions drawn here are based on simple observations and shared experiences that we or others have had. </p> <p>Now there are some who do not share such experiences, who do not admit such experiences as valid. They have their own experiences, thoughts, which I do not share, or cannot accept. There are some who make <em>a priori</em> definitions about what is and what is not. I do not want to say that these people are “right” or “wrong”. I only acknowledge that they <em>are</em>. For them, these arguments will not apply.</p> <p>Did we achieve anything in this discussion? You decide.</p> <p><a href="http://dylan-jayatilaka.net/articles/god-or-not/">God or not?</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 30, 2014.</p> <![CDATA[Coupled cluster doubles]]> http://dylan-jayatilaka.net/articles/coupled-cluster-doubles 201-06-07T00:00:00-00:00 2014-06-18T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p><a href="http://dylan-jayatilaka.net/articles/coupled-cluster-doubles/">Coupled cluster doubles</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 18, 2014.</p> <![CDATA[Coupled cluster singles]]> http://dylan-jayatilaka.net/articles/coupled-cluster-singles 201-06-07T00:00:00-00:00 2014-06-17T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>According to the previous notes the coupled cluster single (CCS) wavefunction has the form</p> <script type="math/tex; mode=display"> \Psi = (\exp T_1) \Phi = \exp \left( \sum_I^{N\sub{o}} \sum_A^{N\sub{v}} T_I^A \right) \Phi </script> <p>where the single excitation operator replaces spinorbital $$I$$ in determinant $$\Phi$$ (an occupied) with an orbital $$A$$ which does not occur in $$\Phi$$ (an unoccupied or virtual spoinorbital) i.e.</p> <script type="math/tex; mode=display"> T_I^A \Phi = t_I^A \Phi_I^A. </script> <p>$$t_I^A$$ is the amplitude associated with the singly excited determinant $$\Phi_I^A$$.</p> <h2 id="the-ccs-wavefunction-is-just-a-determinent-wavefunction">The CCS wavefunction is just a determinent wavefunction</h2> <p>We can carry out further simplifications to the equations above:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \Psi & = \exp \left( \sum_I^{N\sub{o}} \sum_A^{N\sub{v}} T_I^A \right) \Phi \\ & = \prod_I \exp \left( \sum_I T_I^A \right) \Phi \\ & = \prod_I \left( 1 + T_I^A + \frac{1}{2} (T_I^A)^2 + \ldots \right) \Phi \\ & = \prod_I \left( 1 + t_I^A \Phi_I^A \right). \end{align} %]]></script> <p>The second and third lines follows from the definition of the exponential function. The final line follows from the fact that</p> <script type="math/tex; mode=display"> (T_I^A)^2\Phi = (T_I^A)^3\Phi = \ldots = 0 </script> <p>i.e. it is not possible to substitute spinorbital $$I$$ more than once in determinant $$\Phi$$.</p> <p>In fact, the final line can be written as an unnormalized single determinant $$\Phi’$$ made from new spinorbitals $$\phi’\sub{I}$$ like this,</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \Phi’ & = \mathscr{A} \phi’\sub{1} (\B{x}\sub{1}) \ldots \phi’\sub{N\sub{e}}(\B{x}\sub{N\sub{e}}) \\ \phi’\sub{I}(\B{x}) & = \phi_I(\B{x}) + \sum_A t_I^A \phi_A(\B{x}) \end{align} %]]></script> <p><a href="http://en.wikipedia.org/wiki/Determinant">This follows from the column expansion rule for determinants</a>. Therefore the $$T_1$$ operator in the coupled cluster wavefunction causes a mixture of unoccupied spinorbitals into the reference orbitals,</p> <script type="math/tex; mode=display"> \Psi = (\exp T_1) \Phi = \Phi’. </script> <h2 id="the-ccs-wavefunction-for-a-hf-reference-has-zero-amplitudes">The CCS wavefunction for a HF reference has zero amplitudes</h2> <p><a href="http://dylan-jayatilaka.net/articles/coupled-cluster-singles/">Coupled cluster singles</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 17, 2014.</p> <![CDATA[The coupled cluster wavefunction]]> http://dylan-jayatilaka.net/articles/the-coupled-cluster-wavefunction 201-06-07T00:00:00-00:00 2014-06-16T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>The coupled cluster wavefunction provides one of the best general-purpose approximation schemes for the exact wavefunction.</p> <p>The coupled cluster wavefunction in an orthonormal basis has the form</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \Psi & = e^{T} \Phi \\ & = (1 + T + \textstyle{\frac{1}{2}}T^2 + \textstyle{\frac{1}{6}}T^3 + \ldots) \Phi. \end{align} %]]></script> <p>In the above equation:</p> <ul> <li> <p>$$\Phi$$ is called the reference determinant, usually taken to be the Hartree-Fock determinant.</p> </li> <li> <p>The exponential function is expanded in a power series.</p> </li> <li> <p>The operator $$T = \sum_{n=1}^{N} T_n$$ is a sum of excitation operators $$T_n$$ which for $$n = 1,2,3,\ldots$$ successively produce single, double, triple $$\ldots$$ replacements of the “occupied” spinorbitals in determinant $$\Phi$$ with new “unoccupied” or “virtual” spinorbitals, like this:</p> </li> </ul> <script type="math/tex; mode=display"> T_n \Phi = \frac{1}{(n!)^2} \sum\sub{I\sub{1}\,\ldots\, I\sub{n}}^{N\sub{o}} \sum\sub{A\sub{1}\,\ldots\, A\sub{n}}^{N\sub{v}} t\sub{\, I\sub{1}\,\ldots\, I\sub{n}}^{A\sub{1}\,\ldots\, A\sub{n}} \Phi\sub{\, I\sub{1}\,\ldots\, I\sub{n}}^{A\sub{1}\,\ldots\, A\sub{n}} </script> <ul> <li> <p>The quantities $$t\sub{\, I\sub{1}\,\ldots\, I\sub{n}}^{A\sub{1},\ldots,A\sub{n}}$$ are called the cluster amplitudes and are the unknowns to be determined.</p> </li> <li> <p>The operators $$T_1$$, $$T_2$$, $$T_3$$, $$\ldots$$ commute with each other.</p> </li> <li> <p>The coupled cluster wavefunction above is exact if an infinite and complete set of orbitals is used i.e. if $$N_v$$ is infinite.</p> </li> </ul> <h2 id="coupled-cluster-approximation-schemes">Coupled cluster approximation schemes</h2> <p>An obvious approximation scheme is (apart from using a finite basis set) to limit the number of excitation operators $$T_n$$ used in the expansion of $$T$$.</p> <p>In this way we get the following approximations:</p> <ul> <li> <p>Coupled cluster singles (CCS) if $$T = T_1$$. </p> <ul> <li> <p>If the reference $$\Phi$$ is taken to be a Hartree-Fock determinant (either for the ground or excited state) then this yields $$t_I^A = 0$$. In other words there is only a trivial solution for the CCS equations if the Hartree-Fock determinant is the reference. </p> </li> <li> <p>If the reference determinant is not the Hartree-Fock solution, the energy obtained will be higher. (Below I describe how the coefficients are determined).</p> </li> </ul> </li> <li> <p>Coupled cluster doubles (CCD) if $$T = T_2$$</p> </li> <li> <p>Coupled cluster singles and doubles (CCSD) if $$T = T_1 + T_2$$</p> </li> <li> <p>Coupled cluster singles, doubles and triples (CCSDT) if $$T = T_1 + T_2 + T_3$$</p> </li> <li> <p>Coupled cluster singles, doubles, triples and quadruples (CCSDTQ) if $$T = T_1 + T_2 + T_3 + T_4$$</p> </li> </ul> <h2 id="finding-the-coupled-cluster-energy-and-amplitudes">Finding the coupled cluster energy and amplitudes</h2> <p>To obtain the coupled cluster energy we substitute the corresponding wavefunction <em>ansatz</em> into the Schrodinger equation,</p> <script type="math/tex; mode=display"> H e^T \Phi = E \Phi. </script> <p>Then we project or integrate this equation on the left with successively different subsituted determinants,</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \braket{\Phi}{ H e^T \Phi} & = E \\ \braket{\Phi_I^A}{ H e^T \Phi} & = 0 \\ \braket{\Phi\sub{IJ}^{AB}}{H e^T \Phi} & = 0 \\ \ldots & \end{align} %]]></script> <p>The substituted determinants on the left are called “excited determinants” if the state $$\Phi$$ is the grouds state Hartree-Fock determinant. The first and higher exictated determinants yield zero on the right hand side because the determinants with different spin orbitals in them are orthogonal.</p> <p>The most important thing to note is that if $$T_n$$ is limited to a certain level of excitations, then we only need to project on the left hand side with determinants to the same level of excitation. This provides a set of non-linear equations which determine the amplitude coefficients and the first equation above provides an equation for the energy $$E$$. Thus if we had $$T_n = T_2$$ S only the double excited determinant equation above would be required.</p> <p>Of course we have to evaluate the rather complex matrix elements in these equations before obtaining a set of equations which are actually “programmable” in terms on integrals, but this is just an (important) technicality. </p> <h2 id="coupled-cluster-transformed-hamiltonian">Coupled cluster transformed Hamiltonian</h2> <p>There is an equivalent way to find the energy and the amplitudes, and it involves premultiplying the Schrodinger equation by $$e^{-T}$$ beforehand, yeilding the equations</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \braket{\Phi}{ e^{-T}H e^T \Phi} & = E \\ \braket{\Phi_I^A}{e^{-T}H e^T \Phi} & = 0 \\ \braket{\Phi\sub{IJ}^{AB}}{e^{-T}H e^T \Phi} & = 0 \\ \ldots & \end{align} %]]></script> <p>It is a rather remarkable fact that the coupled cluster transformed Hamiltonian $$\tilde{H} = e^{-T}H e^T \Phi$$ can be evaluated in closed form. We will have another post on this rather amazing fact.</p> <h2 id="the-elephant-in-the-room-why-is-an-exponential-function-used">The elephant in the room: Why is an exponential function used?</h2> <figure> <img src="/images/elephant-in-the-room.jpg" /> </figure> <p>The reason is that the energy of the coupled cluster wavefunction separates into a sum of subsystem energies when those systems are noninteracting i.e.</p> <script type="math/tex; mode=display"> E[\Psi] = E_A[\Psi_A] + E_B[\Psi_A]. </script> <p>This is called <em>size extensivity</em>. It implies that, for instance, the energy of $$n$$ hydrogen molecules separated by a very large distance from each other will be equal to $$n$$ times the energy of a single hydrogen molecule. This is clearly a very useful property to have!</p> <p>As stated, size extensivity follows from the exponential form of the wavefunction,</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \Psi & = e^{T} \Phi \\ & = e^{T_A+T_B} \Phi \\ & = e^{T_A}e^{T_B}\Phi \end{align} %]]></script> <p>The final line follows from the fact that the excitation operators $$T_A$$ and $$T_B$$ operate on different sets of orbitals – those from the two separate systems – and so the operators commute. Now if the Hamiltonian splits into two parts for the subsystems, $$H = H_A + H_B$$ antisymmetrization between the Hartree orbitals products can be ignored so that $$\Phi \approx \Phi_A\Phi_B$$. This last point is a litlle bit tricky and I should write another post about it since it brings up interesting points about the Einstein-Poldolsky-Rosen (EPR) paradox. But if we assume that it holds, then it implies that</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \Psi & = e^{T_A}e^{T_B}\Phi \\ & \approx e^{T_A}e^{T_B}\Phi_A\Phi_B \\ & = e^{T_A}\Phi_A e^{T_B}\Phi_B \\ & = \Psi_A \Psi_B \end{align} %]]></script> <p>The <em>additivity</em> of the total energy follows from the <em>multiplicative</em> factorization of $$\Psi$$ above.</p> <h2 id="why-isnt-separability-built-into-qm">Why isn’t separability built into QM?</h2> <p>Since the product form of the wavefunction is so essential to the separability of the wavefunction, I wonder why this behaviour isn’t in some way “built into” quantum mechanics from the start? After all, the fermion symmetry is built into the determinant form of the wavefunction; or equivalently, in second quantization, this same symmetry is built into the anticommutation relations of the fermion creation and annihilation operators.</p> <p>Perhaps, dear reader, you might like to think about this. Those who are brave may attempt to the paper by Arponen (1997) PRA 55 pl 2686 where he attempts to do just that. If you understand it please explain!</p> <p><a href="http://dylan-jayatilaka.net/articles/the-coupled-cluster-wavefunction/">The coupled cluster wavefunction</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 16, 2014.</p> <![CDATA[Convert a one-electron into a two-electron term]]> http://dylan-jayatilaka.net/articles/convert-a-one-electron-into-two-electron-term 201-06-07T00:00:00-00:00 2014-06-15T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>In quantum chemistry the Hamiltonian is usually split into a one-electron term and a two-electron term,</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} H & = h^{(1)} + h^{(2)} \\ & = \sum\sub{i=1}^N h(\B{x}\sub{i}) + \frac{1}{2} \sum\sub{i=1}^N \sum\sub{\stackrel{j=1}{j\neq i}}^N v(\B{x}\sub{i},\B{x}\sub{j}) \end{align} %]]></script> <p>It has always seemed to me a bit silly to do this, because the one-electron term can be converted into a two-electron term by the following trick:</p> <script type="math/tex; mode=display"> h^{(1)} = \frac{1}{N} \sum\sub{i=1}^N \sum\sub{j=1}^N \left( h(\B{x}\sub{i}) + h(\B{x}\sub{j}) \right). </script> <p>The sum is over all electrons $$N$$. Now the one electron term has been written as a two electron term, and it can be incorporated into the “normal” two-electron term. The matrix elements of this “converted” one-electron term in the atomic orbital basis are</p> <script type="math/tex; mode=display"> (\mu\nu|h^{(1)}|\kappa\lambda) = h\sub{\mu\nu} S\sub{\kappa\lambda} + S\sub{\mu\nu} h\sub{\kappa\lambda}. </script> <p>Here $$\B{h}$$ and $$\B{S}$$ are the usual core and overlap matrices, respectively. It is easy to include them into the normal two electron integrals, since these matrices are usually be stored in the memory of the computer.</p> <h2 id="when-is-the-trick-useful">When is the trick useful?</h2> <p>This trick becomes very useful when dealing with correlated methods. In that case, we need to worry about one-electron matrix elements at all, which considerably simplifies the equations. Also, the terms pertaining to “single excitations” in the correlated methods may effectively be combined with, or derived from, the “double excitations”. Effectively, the correlated methods only need to worry about double excitations. </p> <p>Pretty cool, huh?</p> <h2 id="caveat">Caveat</h2> <p>Note: this does not help when you want to consider specific subterms involving single excitations, as in the CCSD(T) theory. In that case, using this trick, we would obtain these triples corrections as part of the CCSD(Q) method. In view of the way that the one electron terms actually “belong” to the two electron terms, perhaps this is actually a theoretically more satisfactory theory—if not actually more practical.</p> <p><a href="http://dylan-jayatilaka.net/articles/convert-a-one-electron-into-two-electron-term/">Convert a one-electron into a two-electron term</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 15, 2014.</p> <![CDATA[Determinant matrix elements]]> http://dylan-jayatilaka.net/articles/determinant-matrix-elements 201-06-07T00:00:00-00:00 2014-06-14T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>In quantum chemistry we often want to do integrals like this:</p> <script type="math/tex; mode=display"> \braopket{\mathscr{A} \Phi_I}{M}{\mathscr{A} \Phi_J} = \int (\mathscr{A} \Phi_I)^\star M (\mathscr{A} \Phi_J) \, d\B{x} </script> <p>This integral is generically called a “matrix element”, and specifically it is a “determinant matrix element”.</p> <p>The integration in this matrix element is over electronic coordinates The functions $$\Phi_K = \phi\sub{k_1}(\B{x_1})\ldots\phi(\B{x}\sub{N})$$ are Hartree orbital products. $$M$$ is some kind of operator — perhaps a function of one or more of those coordinates, or derivatives of those coordinates — which importantly is symmetric in the electron coordinates, since all electrons are indistinguishable. (Read <a href="http://dylan-jayatilaka.net/articles/the-determinant-wavefunction">here</a> and <a href="http://dylan-jayatilaka.net/articles/the-antisymmetrizer">here</a> to know more).</p> <p>Now you can see that the determinant matrix element above involves products of two antisymmetrizers $$\mathscr{A}$$. The parentheses make clear that these antisymmetrizers only “operate” on the electron coordinates in the functions $$\Phi_K$$ immediately to their right.</p> <h2 id="why-are-determinant-matrix-elements-important">Why are (determinant) matrix elements important?</h2> <p>The reason for that matrix elements are important is they allows to convert a partial differential equation, such as the Schrodinger equation, into a matrix equation involving numbers. Matrix equations involving numbers are much easier to solve on computers.</p> <p>The reason for that determinant matrix elements are important is that a determinant is the simplest reasonable model wavefunction for a group of electrons.</p> <p>Clearly, we need to be able to work out or simplify this matrix element in order to do numerical calculations.</p> <h2 id="matrix-elements-between-determinant-wavefunctions">Matrix elements between determinant wavefunctions</h2> <p>Luckily we can use <a href="http://dylan-jayatilaka.net/articles/the-antisymmetrizer">previous results</a> showing that the antisymmetrizeris hermitian, and that a product of two antisymmetrizers is idempotent i.e.</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \braopket{\mathscr{A} \Phi_I}{M}{\mathscr{A} \Phi_J} = & \braket{\Phi_I}{\mathscr{A} M \mathscr{A} \Phi_J} && \s{$\mathscr{A}$ is hermitian} \\ = & \braket{\Phi_I}{M \mathscr{A}^2 \Phi_J} && \s{$M$ is symmetric} \\ = & \sqrt{N!} \braket{\Phi_I}{M \mathscr{A} \Phi_J} && \s{$\mathscr{A}$ is nearly idempotent} \\ = & \int \Phi_I(\B{x})^\star\,{M}\,\left(\sum_u \epsilon_u P_u \Phi_J(\B{x})\right)\,d\B{x} \end{align} %]]></script> <p>To make further progress we need to make certain assumptions about the operator $$M$$.</p> <p><a href="http://dylan-jayatilaka.net/articles/determinant-matrix-elements/">Determinant matrix elements</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 14, 2014.</p> <![CDATA[The antisymmetrizer]]> http://dylan-jayatilaka.net/articles/the-antisymmetrizer 201-06-07T00:00:00-00:00 2014-06-13T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>In this post the <em>antisymmetrizer operator</em> is officially defined.</p> <p>Those who read the <a href="http://dylan-jayatilaka/articles/the-determinant-wavefunction">determinant wavefunctions post</a> will already be familiar with this operator.</p> <p>I discuss it again here in order to describe more of it’s properties, which are important for evaluating many-electron integrals. Such integrals form the bread-and-butter of quantum chemistry — so knowing about the antisymmetrizer is important.</p> <p>More important for me is that the “antisymmetric” nature of electrons is one of the puzzling and amazing things about quantum mechanics itself. It’s just so cool and weird!</p> <h2 id="the-antisymmetrizer">The antisymmetrizer</h2> <p>The antisymmetrizer is so-called because when it is applied to an arbitrary function of labelled arguments, that function is changed into a new function which changes sign whenever those arguments are swapped.</p> <p>The antisymmetrizer operator is defined by</p> <script type="math/tex; mode=display"> \mathscr{A} = \frac{1}{\sqrt{N!}} \sum_u^{N!} \epsilon_u P_u </script> <p>Notes:</p> <ul> <li> <p>The sum is over all permutations $$u$$ of a set of integers $${ 1, \ldots, N }$$.</p> </li> <li> <p>$$P_u$$ is an operator which permutes those integer labels in any expression which follows. For example, $$P_u$$ might be the elementary permutation $$(1 2)$$ which swaps labels 1 and 2, although there may be more complicated permutations such as the cycle $$(1 2 3)$$. See wikpedia <a href="http://en.wikipedia.org/wiki/Permutation">here</a> for more information.</p> </li> <li> <p>The number of terms in the summation is $$N!$$.</p> </li> <li> <p>$$\epsilon_u$$ is a number which is either +1 or -1 called the <em>signature</em>, <em>sign</em> or <em>paity</em> of the permutation $$P_u$$. It is +1 (or -1) if $$P_u$$ can be decomposed into a sequence of even (rrespectively, odd) elementary permutations or <em>swaps</em> . It is <em>not</em> at all obvious that any permutation may be decomposed as either even or odd. If you are interested, several proofs of this fact are given in <a href="http://en.wikipedia.org/wiki/Parity_of_a_permutation">wikipedia</a>. The quantity $$\epsilon_u$$ is also called the <a href="http://en.wikipedia.org/wiki/Levi-Civita_symbol">Levi-Civita symbol</a> which may be familiar to some of you.</p> </li> </ul> <h2 id="making-functions-antisymmetric">Making functions antisymmetric</h2> <p>We have the following theorem:</p> <p>The function $$F(\B{x}_1 \ldots \B{x}_n) = \mathscr{A}\, f(\B{x}_1 \ldots \B{x}_n)$$ is antisymmetric, i.e.</p> <script type="math/tex; mode=display">% <![CDATA[ F(\ldots \B{x}_j \ldots \B{x}_i \dots) = -F(\ldots \B{x}_i \ldots \B{x}_j \dots) \ \ \mbox{for } i<j<N. %]]></script> <p>Proof:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} F(\ldots, \B{x}_j \ldots \B{x}_i \dots) = & P_{(i j)} F \\ = & P_{(i j)} \frac{1}{\sqrt{N!}} \sum_u^{N!} \epsilon_u P_u f \\ = & \frac{1}{\sqrt{N!}} \sum_u^{N!} \epsilon_u P_{(i j)} P_u f \\ = & \frac{1}{\sqrt{N!}} \sum_v^{N!} (-\epsilon_u) P_v f \ \ \mbox{where } P_v = P_{(i j)} P_u \\ = & - F \end{align} %]]></script> <p>Remarks: The only tricky part is the penultimate line. There, we used two facts. First, that the product of two permutations is another permutation $$P_v$$. This should be obvious, but actually follows from the fact that permutations form a <a href="http://en.wikipedia.org/wiki/Group_(mathematics)">mathematical group</a>. Second, since $$P_v$$ has one extra swap compared to $$P_u$$ its signature $$\epsilon_v = -\epsilon_u$$.</p> <p>We have shown that the antisymmetrizer $$\mathscr{A}$$ makes any function which it is applied to antisymmetric.</p> <h2 id="the-antisymmetrizer-makes-determinant-wavefunctions">The antisymmetrizer makes determinant wavefunctions</h2> <p>If you read the <a href="http://dylan-jayatilaka/articles/the-detereminant-wavefunction">previous post</a> you will see that the antisymmetrizer makes determinant wavefunctions:</p> <script type="math/tex; mode=display">% <![CDATA[ \mathscr{A}\phi_1(\B{x}_1)\ldots\phi_N(\B{x}_N) = \frac{1}{\sqrt{N!}} \textrm{det}\, \left| \begin{array}{lll} \phi_1(\textrm{x}_1) & \ldots & \phi_1(\textbf{x}_N) \\ \vdots & \ddots & \vdots \\ \phi_N(\textrm{x}_1) & \ldots & \phi_N(\textrm{x}_N) \end{array} \right|. %]]></script> <h2 id="the-antisymmetrizer-is-hermitian">The antisymmetrizer is Hermitian</h2> <p>The antisymmetrizer is Hermitian if $$\mathscr{A}^\dagger = \mathscr{A}$$, which means that for any functions $$\Phi_I$$ and $$\Phi_J$$ that these operators are allowed to “act” on we must have</p> <script type="math/tex; mode=display"> \braket{\Phi_I}{\mathscr{A}^\dagger\, \Phi_J} \equiv \braket{\mathscr{A}\, \Phi_I}{\Phi_J} = \braket{\Phi_I}{\mathscr{A}\, \Phi_J}. </script> <p>Proof:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \braket{\mathscr{A}\Phi_I}{\Phi_J} = & \int (\mathscr{A} \Phi_I)^* \Phi_J d\B{x} && \s{by definition} \\ = & \int (\mathscr{A} \Phi_I^*) \Phi_J d\B{x} && \s{$\mathscr{A}$ unaffected by conjugation} \\ = & \frac{1}{\sqrt{N!}} \sum_u^{N!} \epsilon_u \int (P_u \Phi_I^*(\B{x})) \Phi_J(\B{x}) d\B{x} && \s{ substitute $\mathscr{A}$ definition} \\ = & \frac{1}{\sqrt{N!}} \sum_u^{N!} \epsilon_u \int \Phi_I^*(\B{y}) (P_u^{-1} \Phi_J(\B{y}) d\B{y}) && \s{substitute $\B{y} = P_u \B{x}$} \\ = & \frac{1}{\sqrt{N!}} \sum_u^{N!} \epsilon_u \int \Phi_I^* (P_u^{-1} \Phi_J) d\B{y} && \s{$d\B{y}= d\B{y}_1 \ldots d\B{y}_N$ is symmetric} \\ = & \frac{1}{\sqrt{N!}} \sum_w^{N!} \epsilon_w \int \Phi_I^* (P_w \Phi_J) d\B{y} && \s{substiute $P_w=P_u^{-1}$; and $\epsilon_w=\epsilon_u$} \\ = & \braket{\Phi_I}{\mathscr{A}\, \Phi_J} && \ \end{align} %]]></script> <p>Remark: In an $$M$$-dimensional <em>finite</em> dimensional space $$V = \mbox{span}\, (\Phi_I ; I=1,\ldots,M)$$ the adjoint $$\mathscr{A}^\dagger$$ is also called the “hermitian conjugate”. In quantum chemistry we usually deal with finite dimensional spaces, so the terms “self-adjoint” and “hermitian” are equivalent. To be honest I am no sure of the relevance of infinite dimensional spaces in any practical calculation.</p> <h2 id="antisymmetrizers-are-nearly-idempotent">Antisymmetrizers are (nearly) idempotent</h2> <p>The following theorem holds:</p> <script type="math/tex; mode=display"> \mathscr{A}^2 = \sqrt{N!} \mathscr{A} </script> <p>In other words, antisymmetrizing a function which is already antisymmetric doesn’t change it from being antisymmetric (except for a factor).</p> <p>Note: An operators which obeys $$P^2 = P$$ is called an <em>idempotent</em> or <em>projection</em> operator. In our case $$(1/\sqrt{N!}) \mathscr{A}$$ would be idempotent.</p> <p>Proof:</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} \mathscr{A}^2 = & \frac{1}{N!} (\sum_u^{N!} \epsilon_u P_u) (\sum_v^{N!} \epsilon_v P_v) && \s{ substitute $\mathscr{A}$ definitions} \\ = & \frac{1}{N!} \sum_u^{N!} \sum_v^{N!} (\epsilon_u \epsilon_v) (P_u P_v) && \ \\ = & \frac{1}{N!} \sum_u^{N!} \sum_w^{N!} \epsilon_w P_w && \s{ substitute $P_w = P_u P_v$ for fixed $u$} \\ = & \frac{\sqrt{N!}}{N!} \sum_u^{N!} \mathscr{A} && \ \\ = & \sqrt{N!} \mathscr{A} && \s{constant sum $u$ gives factor $N!$} \end{align} %]]></script> <p><a href="http://dylan-jayatilaka.net/articles/the-antisymmetrizer/">The antisymmetrizer</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 13, 2014.</p> <![CDATA[The determinant wavefunction and identical particles]]> http://dylan-jayatilaka.net/articles/the-determinant-wavefunction 2014-11-04T00:00:00-00:00 2014-06-12T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>This article explains how the Pauli principle evolves naturally to the idea of a single determinant wavefunction and how that it turn comes from the idea of identical particles.</p> <h2 id="pauli-principle">Pauli principle</h2> <p>The Pauli principle states that when the coordinates of <em>any</em> pair of electrons is swapped the sign of the wavefunction is reversed,</p> <script type="math/tex; mode=display"> \Psi(\textbf{x}_1 \ldots \textbf{x}_i \ldots \textbf{x}_j \ldots \textbf{x}_N) = -\Psi(\textbf{x}_1 \ldots \textbf{x}_j \ldots \textbf{x}_i \ldots \textbf{x}_N) </script> <p>Pauli proved from relativistic quantum mechanics that this property holds for <em>any</em> set of identical <em>fermions</em> i.e. any particle with half-integer spin. He also showed that for identical <em>bosons</em> – particles with integer spin – swapping the coordinates does <em>not</em> change the sign pf the wavefunction.</p> <h2 id="why-is-paulis-principle-true">Why is Pauli’s principle true?</h2> <p>The real reason is not well understood: the famous physicist Richard Feynman certainly thought so.</p> <p>However, it <strong>is</strong> easy to <strong>rationalize</strong> the Pauli principle. Keep reading.</p> <p>As you know, the probability of finding two particles at positions $$\B{x}\sub{1}$$ and $$\B{x}\sub{2}$$ is given by</p> <script type="math/tex; mode=display"> P(\B{x}\sub{1},\B{x}\sub{2}) = |\Psi(\B{x}\sub{1},\B{x}\sub{2})|^2 </script> <p>Now suppose the particles are identical. Then, if we swap their positions, we will not be able to tell that anything has happened. Therefore we expect that reversing the positions for identical particles leads to the <em>same</em> probability,</p> <script type="math/tex; mode=display">% <![CDATA[ \begin{align} P(\B{x}\sub{1},\B{x}\sub{2}) &= P(\B{x}\sub{2},\B{x}\sub{1}) \\ \textrm{i.e.} \ |\Psi(\B{x}\sub{2},\B{x}\sub{1})|^2 &= |\Psi(\B{x}\sub{1},\B{x}\sub{2})|^2. \end{align} %]]></script> <p>Naively, the above equation has two solutions:</p> <script type="math/tex; mode=display"> \Psi(\B{x}\sub{2},\B{x}\sub{1}) = \pm\Psi(\B{x}\sub{1},\B{x}\sub{2}). </script> <p>The solution with the negative sign corresponds to fermions, while the positive sign corresponds to bosons. It is not too difficult to polish up this argument properly by introducing a Hermitian “coordinate swap” operator. Proving that the signs are related to spin is much harder.</p> <h2 id="hartrees-orbital-product-wavefunction">Hartree’s orbital-product wavefunction</h2> <p>The simplest wavefunction we can think of is Hartree’s orbital-product wavefunction</p> <script type="math/tex; mode=display"> \Phi(\textbf{x}_1 \ldots \textbf{x}_N) = \phi_1(\textbf{x}_1) \ldots \phi_N(\textbf{x}_N) </script> <p>Think of this as wavefunction representing electron 1 in orbital $$\phi_1$$, electron 2 in orbital $$\phi_2$$, and so on for all $$N$$ particles. Note: if we swap coordinates $$\textbf{x}_i$$ and $$\textbf{x}_j$$ in the above product, it is the same as leaving the coordinates unchanged but swapping the functions $$\phi_i$$ and $$\phi_j$$. So we see that after the swap we we will not have the same wavefunction — the electrons will be in different orbitals. So the wavefunction is not the same — let alone obey the Pauli principle where the wavefunction is supposed to be the same except for sign reversal.</p> <p>How can we make a wavefunction which satisfies the Pauli principle?</p> <p>Let’s make the problem a bit easier. Suppose we wanted a wavefunction where swapping electrons led to <em>no</em> change. How to achieve that?</p> <h2 id="symmetric-orbital-product-wavefunction">Symmetric orbital-product wavefunction</h2> <p>One way is to take any wavefunction, permute the particle coordinates in all ways, then add all these permuted-coordinate wavefunctions together. We call this a <strong>symmetrized wavefunction</strong> because if we swap any pair of coordinates in this sum it will remain unchanged. It remains the same because in the list of all permuted wavefunctions a particular term always occurs with a unique partner where the two coordinates are swapped. We write the symmetrized wavefunction like this:</p> <script type="math/tex; mode=display"> \Phi(\textbf{x}_1 \ldots \textbf{x}_{N}) = \frac{1}{\sqrt{N!}} \sum_u^{N!} P_u \phi_1(\textbf{x}_1) \ldots \phi_N(\textbf{x}_N). </script> <p>The factor $$N!$$ is required to ensure the wavefunction is normalized (assuming the orbitals $$\phi_i$$ are normalized also). Incidentally, such a wavefunction is appropriate to describe a <em>boson</em> wavefunction which obeys the Pauli principle for bosons. But we are interested in electrons, which are fermions, so the wavefunction should change sign. Since the permuted list contains all terms in pairs, it should be clear to you that for the wavefunction to change sign every term must be <em>subtracted</em> from its permuted partner if we want the wavefunction to change sign. The result is</p> <h2 id="antisymmetric-orbital-product-wavefunction">Antisymmetric orbital-product wavefunction</h2> <script type="math/tex; mode=display"> \Phi(\textbf{x}_1\ldots\textbf{x}_{N}) = \frac{1}{\sqrt{N!}} \sum_u^{N!} \sigma_u P_u \phi_1(\textbf{x}_1) \ldots \phi_N(\textbf{x}_N). </script> <p>The $$\sigma_u$$ is either +1 or -1 depending on whether the permutation $$P_u$$ if even or odd. The whole wavefunction is <strong>antisymmetrized</strong>.</p> <p>Note that <em>any</em> wavefunction can be symmetrized or antisymmetrized, not just the Hartree orbital-product wavefunction, as we have done.</p> <h2 id="determinant-wavefunction">Determinant wavefunction</h2> <p>Finally, the antisymmetrized orbital-product wavefunction can be written in terms of a determinant like this</p> <script type="math/tex; mode=display">% <![CDATA[ \Psi(\textbf{x}_1\ldots\textbf{x}_{N}) = \frac{1}{\sqrt{N!}} \textrm{det}\, \left| \begin{array}{lll} \phi_1(\textrm{x}_1) & \ldots & \phi_1(\textbf{x}_N) \\ \vdots & \ddots & \vdots \\ \phi_N(\textrm{x}_1) & \ldots & \phi_N(\textrm{x}_N) \end{array} \right|. %]]></script> <p>This is called a <strong>single determinant wavefunction</strong>. It forms the basis of many methods for approximately solving the Schrodinger equation.</p> <p><a href="http://dylan-jayatilaka.net/articles/the-determinant-wavefunction/">The determinant wavefunction and identical particles</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 12, 2014.</p> <![CDATA[Write an MP2 program]]> http://dylan-jayatilaka.net/articles/write-an-mp2-program 201-06-07T00:00:00-00:00 2014-06-11T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>First some theory.</p> <p>Well, not theory but the relevant formulas.</p> <p>According to Head-Gordon, Pople and Frisch (1988) CPL 153 p. 503 the formula for the MP2 correlation energy is</p> <script type="math/tex; mode=display"> E_\textrm{MP2} = \frac{1}{2} \sum_{i,j,a,b} \frac{2(ia|jb)^2 + [(ia|jb)-(ib|ja)]^2}{\epsilon_i + \epsilon_j - \epsilon_a - \epsilon_b}. </script> <p>Here the $$\epsilon_p$$ are molecular orbital energies, and the indices $$i$$ and $$j$$ stand for occupied molecular orbitals $$\phi_i$$ and $$\phi_j$$, while indices $$a$$ and $$b$$ stand for unoccupied orbitals $$\phi_a$$ and $$\phi_b$$. The two electron integrals are</p> <script type="math/tex; mode=display"> (pq|rs) = \int \phi_p(1)\phi_q(1) r_{12}^{-1} \phi_r(2) \phi_s(2) </script> <p>These are obtained from the atomic orbital integrals $$(\mu\nu|\kappa\lambda)$$ through a “four index transform”</p> <script type="math/tex; mode=display"> (pq|rs) = \sum_{\mu,\nu,\kappa,\lambda} (\mu\nu|\kappa\lambda) c_{\mu p} c_{\nu q} c_{\kappa r} c_{\lambda s}. </script> <p>The coefficients $$\textbf{c}$$ are the matrix of the molecular orbital coefficients in the atomic orbital basis while. It seems we don’t actually need these if we have the corresponding molecular orbital energies.</p> <h2 id="get-ready">Get ready</h2> <p>To write the program we need to locate where the integrals are. In a typical program made by scientists there is no “integrated development environment”. Therefore in unix you would use the <code>grep</code> command with the word <code>integral</code> in the <code>foofiles/</code> source directory. If you try that you will get a lot of output. On reflection this is unreasonable: much of quantum chemistry has to do with integrals. The output can be “pioed” through the <code>less</code> pager</p> <p><code> cd foofiles grep integral | less </code></p> <p>After searching you come across the routines <code>.FOCK:make_ERI_integrals(v)</code>. Investigating further in the <code>molecule.fock.foo</code> file we see from the documentation that this <code>v</code> is declared as a a four dimensional array <code>v :: MAT4{REAL}</code> </p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">make_MO_ERI_integrals</span><span class="p">(</span><span class="n">v</span><span class="p">)</span> <span class="o">!</span> <span class="no">Calculate</span> <span class="s2">&quot;v&quot;</span> <span class="n">the</span> <span class="n">electron</span> <span class="n">repulsion</span> <span class="n">integrals</span> <span class="p">(</span><span class="no">ERI</span><span class="err">&#39;</span><span class="n">s</span><span class="p">)</span> <span class="k">in</span> <span class="n">the</span> <span class="no">MO</span> <span class="n">basis</span> <span class="n">v</span> <span class="o">::</span> <span class="no">MAT4</span><span class="p">{</span><span class="no">REAL</span><span class="p">},</span> <span class="no">OUT</span> <span class="o">.</span><span class="n">.</span><span class="o">.</span></code></pre></div> <p>Clearly <code>v</code> holds the two electron electron repulsion integrals (ERIs). ()In a practical program there would be too many of these integrals to hold in an array, but we do it here just for teaching purposes).</p> <h2 id="housekeeping">Housekeeping</h2> <p>In a perfect world we would expect to call the routine above, just as we did in the in the “Hello World” program. The routine would simply work and returned the integrals. If we <em>actually</em> do that, our program will crash. </p> <p>Why?</p> <p>Because there is some “set-up” to do. For example, </p> <ul> <li> <p>What molecule do we want to treat? </p> </li> <li> <p>What basis set do to use? </p> </li> <li> <p>We should do an SCF calculation beforehand for the orbitals and energies! ()If you are reading previous posts, you may recall that the orbital energies are stored in a variable <code>orbital_energies</code>).</p> </li> </ul> <p>So we want to add our MP2 calculation program to the end of a standard SCF calculation. We can find an appropriate input file from the tests/<code> folder. The test job in folder </code>h2o_rhf_cc-pVDZ<code> is fine. The </code>stdin<code> file from this folder can be copied to the </code>tonto<code> folder or wherever you want to</code> run the program.</p> <h2 id="starting-to-write">Starting to write</h2> <p>To write the program it is always good to have a starting template. Since we actually need to run an SCF calculation beforehand we shouldwe should start by modifying the <code>run_molecule.exe</code> program. That, of course is in the <code>run_molecule.foo</code> file.</p> <p>So we start by adding our code to the end of that program. We should probably rename in to something like <code>run_molecule_mp2.foo</code> before starting.</p> <h2 id="the-answer">The Answer</h2> <p>At this point I should give you answer. </p> <p>But perhaps you can do this as an exercise?</p> <p><a href="http://dylan-jayatilaka.net/articles/write-an-mp2-program/">Write an MP2 program</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 11, 2014.</p> <![CDATA[Hello World]]> http://dylan-jayatilaka.net/articles/hello-world-program-in-tonto 201-06-07T00:00:00-00:00 2014-06-10T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>This is what the “Hello World” program looks like in Tonto</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">program</span> <span class="n">run_HELLO_WORLD</span> <span class="n">implicit</span> <span class="n">none</span> <span class="o">!</span> <span class="no">Macro</span> <span class="n">to</span> <span class="n">create</span> <span class="no">Tonto</span> <span class="nb">system</span> <span class="n">object</span> <span class="o">!</span> <span class="no">Start</span> <span class="no">MPI</span><span class="o">-</span><span class="n">parallel</span> <span class="n">stuff</span> <span class="n">too</span> <span class="p">(</span><span class="k">if</span> <span class="n">needed</span><span class="p">)</span> <span class="no">TONTO_CREATE</span> <span class="o">!</span> <span class="no">Start</span> <span class="n">timer</span> <span class="n">std_time</span><span class="o">.</span><span class="n">start_timing</span> <span class="o">!</span> <span class="no">Initialise</span> <span class="n">standard</span> <span class="n">I</span><span class="o">/</span><span class="n">O</span><span class="o">.</span> <span class="n">stdout</span><span class="o">.</span><span class="n">create_stdout</span> <span class="n">stdout</span><span class="o">.</span><span class="n">open</span> <span class="o">!</span> <span class="no">Do</span> <span class="n">it</span> <span class="n">stdout</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="err">“</span><span class="no">Hello</span> <span class="no">World</span><span class="err">”</span><span class="p">)</span> <span class="o">!</span> <span class="no">Memory</span> <span class="n">report</span> <span class="no">TONTO_REPORT</span> <span class="o">!</span> <span class="no">Clean</span><span class="o">-</span><span class="n">up</span> <span class="n">files</span> <span class="n">stdout</span><span class="o">.</span><span class="n">destroy</span> <span class="o">!</span> <span class="no">Clean</span><span class="o">-</span><span class="n">up</span> <span class="n">tonto</span> <span class="nb">system</span> <span class="no">TONTO_DESTROY</span> <span class="k">end</span></code></pre></div> <p>To compile the program type <code>make run_hello_world.exe</code>.</p> <p>Now, if this seems like a lot of work to print out “Hello World” remember that the Tonto library is fully self contained: there are no external libraries or dependencies, there are no hidden operations or code.</p> <p>Other points to note:</p> <ul> <li> <p>The program name includes a <code>run_</code> prefix before the name <code>HELLO_WORLD</code> all in capitals. This is requied.</p> </li> <li> <p>Comments appear after an exclamation mark. (Note: The highlighting of code within comments, and in the code is not always correct because I use the ruby language highlighter for the moment).</p> </li> <li> <p>There is a lot of “set up” and “clean up” which occurs, controlled via macro commands such as <code>TONTO_START</code> and <code>TONTO_DESTROY</code> respectively. These are required.</p> </li> <li> <p>The code uses standard dot notation to pass messages to objects e.g. the <code>“Hello World”</code> is passed to the the <code>stdout</code> textfile object.</p> </li> <li> <p><code>TONTO_REPORT</code> produces optional timing, memory use, or call stack backtrace — if compiled with special switches.</p> </li> <li> <p>If this seems annoying, remember that Tonto is self-contained and nothing is hidden or farmed off to libraries.</p> </li> <li> <p>You can explicitly clean-up objects via <code>stdout.destroy</code> but you don’t have to. It may help in places where you want high efficiency.</p> </li> </ul> <p><a href="http://dylan-jayatilaka.net/articles/hello-world-program-in-tonto/">Hello World</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 10, 2014.</p> <![CDATA[Science with objects]]> http://dylan-jayatilaka.net/articles/science-with-objects 201-06-07T00:00:00-00:00 2014-06-09T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>We’d better start with this definition of my own:</p> <blockquote> <p>An object in computer science is a <strong>collection of labeled data</strong> together with actions or <strong>methods</strong> you can perform on that data. The methods are collected together and defined in one place called a <strong>class</strong> or <strong>module</strong>.</p> </blockquote> <p>Sometimes methods are also called messages i.e. you pass messages to the object to ask it to perform an action. These methods or messages may involving other objects of different type which may also change. An object may also be called an abstract data type.</p> <h2 id="dot-notation">Dot notation</h2> <p>Any number may be regarded as an object.</p> <p>That’s because a particular number is a datum, and we can perform actions on it e.g adding or multiplying it by another number. If collect together these routines we have defined a class.</p> <p>The example code snippets below demonstrate a near universal notation, called “dot notation”, which I illustrate on numbers:</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">a</span><span class="p">,</span><span class="n">b</span> <span class="o">::</span> <span class="no">INT</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">1</span> <span class="n">a</span><span class="o">.</span><span class="n">plus</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">2</span> <span class="n">b</span><span class="o">.</span><span class="n">times</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span></code></pre></div> <p>Here the variable <code>a</code> is set to <code>1</code>. <code>a</code> and <code>b</code> are integer variables as seen by the declaration <code>a,b :: INT</code>. Then a message is sent to it via a dot followed by <code>plus(1)</code>. The intention of the message is that the value of <code>a</code> is incremented by the number <code>1</code>. Presumably the value of <code>a</code> is <code>2</code> after this method is applied. Likewise, the number <code>b</code> is set to <code>2</code> and then the operations <code>times(3)</code> is performed on it, resulting in a value of <code>6</code>. For those of you who like quantum mechanics, this is nothing other than the application an operator, except the operator comes <em>after</em> the entity on which the action is performed.</p> <p>All of this might seem rather trivial. But consider this example:</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">m</span> <span class="o">::</span> <span class="no">MAT</span><span class="p">{</span><span class="no">REAL</span><span class="p">}(</span><span class="mi">3</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="n">eigenvalues</span> <span class="o">::</span> <span class="no">VEC</span><span class="p">{</span><span class="no">REAL</span><span class="p">}(</span><span class="mi">3</span><span class="p">)</span> <span class="n">eigenvectors</span> <span class="o">::</span> <span class="no">MAT</span><span class="p">{</span><span class="no">REAL</span><span class="p">}(</span><span class="mi">3</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> <span class="n">i</span><span class="p">,</span><span class="n">j</span> <span class="o">::</span> <span class="no">INT</span> <span class="k">do</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span><span class="mi">3</span> <span class="k">do</span> <span class="n">j</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span><span class="mi">3</span> <span class="n">m</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">)</span> <span class="o">=</span> <span class="n">i</span> <span class="o">+</span> <span class="n">j</span> <span class="k">end</span> <span class="k">end</span> <span class="n">m</span><span class="o">.</span><span class="n">solve_eigenproblem</span><span class="p">(</span><span class="n">eigenvalues</span><span class="p">,</span><span class="n">eigenvectors</span><span class="p">)</span></code></pre></div> <p>Look closely.</p> <p>It does not require much imagination to guess that <code>m</code> is a $$3\times3$$ matrix of <code>REAL</code> numbers, as is <code>eigenvectors</code>. <code>eigenvectors</code> is a 3-dimensional real vector.</p> <p>Next come a couple of <code>do</code> statements. These are a loops. Meaning that the integer variables <code>i</code> and <code>j</code> independently cycle from <code>1</code> to <code>3</code> and the matrix <code>m</code> is set so its $$i,j$$-th element is <code>i+j</code>.</p> <p>The next part is more interesting: a message is sent to to the matrix <code>m</code> to please <code>solve_eigenproblem(eigenectors,eigenvalues)</code>. Again it does not take much to guess that <code>eigenvalues</code> are the list of eigenvalues, while <code>eigenvectors</code> holds the matrix of eigenvector coefficients.</p> <p>All this is cute, but has anything really been achieved? Isn’t this just a familiar subroutine call? Well yes. But notice how the object-message makes it clear what the entity actually being “acted on” is, and what the inputs or output are.</p> <h2 id="a-leap">A leap</h2> <p>Let me now give a final example which quantum chemists will recognize. It is slightly changed from the Tonto code base. It is written in the <code>Foo</code> language, as are all the above examples. This is a big leap from the previous examples, but you know enough to unravel it.</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">usual_scf</span> <span class="o">::</span><span class="p">:</span> <span class="n">recursive</span> <span class="o">!</span> <span class="no">Do</span> <span class="n">an</span> <span class="no">SCF</span> <span class="n">calculation</span><span class="o">.</span> <span class="no">The</span> <span class="o">.</span><span class="n">molecular_orbitals</span><span class="p">,</span> <span class="o">!</span> <span class="o">.</span><span class="n">orbital_energies</span><span class="p">,</span> <span class="ow">and</span> <span class="o">.</span><span class="n">density_matrix</span> <span class="n">are</span> <span class="n">produced</span> <span class="n">as</span> <span class="n">results</span><span class="o">.</span> <span class="nb">self</span> <span class="o">::</span> <span class="no">MOLECULE</span> <span class="no">ENSURE</span><span class="p">(</span><span class="nb">self</span><span class="o">.</span><span class="n">basis_info_made</span><span class="p">,</span><span class="s2">&quot;no basis info&quot;</span><span class="p">)</span> <span class="no">ENSURE</span><span class="p">(</span><span class="nb">self</span><span class="o">.</span><span class="n">atom</span><span class="o">.</span><span class="n">created</span><span class="p">,</span> <span class="s2">&quot;no atom list&quot;</span><span class="p">)</span> <span class="no">ENSURE</span><span class="p">(</span><span class="nb">self</span><span class="o">.</span><span class="n">scfdata</span><span class="o">.</span><span class="n">created</span><span class="p">,</span><span class="s2">&quot;no scfdata&quot;</span><span class="p">)</span> <span class="nb">self</span><span class="o">.</span><span class="n">initialize_scf</span> <span class="nb">self</span><span class="o">.</span><span class="n">put_scf_banner_and_options</span> <span class="nb">self</span><span class="o">.</span><span class="n">put_scf_table_header</span> <span class="k">do</span> <span class="nb">self</span><span class="o">.</span><span class="n">update_molecular_orbitals</span> <span class="nb">self</span><span class="o">.</span><span class="n">make_scf_density_matrix</span> <span class="nb">self</span><span class="o">.</span><span class="n">make_fock_matrix</span> <span class="nb">self</span><span class="o">.</span><span class="n">update_scfdata</span> <span class="nb">self</span><span class="o">.</span><span class="n">update_scfdata_error</span> <span class="nb">self</span><span class="o">.</span><span class="n">put_scf_table_body</span> <span class="k">if</span> <span class="p">(</span><span class="nb">self</span><span class="o">.</span><span class="n">scfdata</span><span class="o">.</span><span class="n">scf_done</span><span class="p">)</span> <span class="nb">exit</span> <span class="k">end</span> <span class="nb">self</span><span class="o">.</span><span class="n">put_scf_results</span> <span class="nb">self</span><span class="o">.</span><span class="n">cleanup_scf</span> <span class="k">end</span></code></pre></div> <p>Look carefully.</p> <p>It is clearly an SCF subroutine called <code>usual_scf</code> (for those who are not familiar with quantum chemistry, the SCF procedure is the one which yeilds the molecular orbitals for a molecule, from which the Hartree-Fock or density functional theory energy may be calculated). The declaration indicates that <code>usual_scf</code> is recursive i.e. it calles itself.</p> <p>There are descriptive comments following the routine name, following the exclamation marks, describing the results. They seem reasonable except for the do in front of soke of the terms.</p> <p>Next, a variable called <code>self</code> is declared. It is not an integer, or a real, or matrix as we have seen before, but a <code>MOLECULE</code>. We don’t know exactly what this <code>MOLECULE</code> is, but working by analogy it wpuld seem reasnable that is is comprised of data — probably quite a lot of data since a molecule is a compicated object. One might speculate that, stored in this variable of type <code>MOLECULE</code> are the types of atoms in it, and perhaps their positions. Notice that you can work all this out by intuition and by the naming of the entity. I don’t want to rub it in, but I did stress the importance of naming things properly in a previous post.</p> <p>What is the actual data that comprises the <code>self</code> variable of type <code>MOLECULE</code>? Where is it defined? We don’t get that information here, obviously.</p> <p>Let me inform you that the type <code>MOLECULE</code> is defined in the <code>types.foo</code> file along with all the other types in the Tonto system.</p> <p>Let me also tell you that <code>self</code> is in fact a <em>hidden argument</em> to this routine. In other words, to the routine called <code>usual_scf</code> requires <code>self</code> as an argument. In Fortran it might be called like this in another part of the library:</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">usual_scf</span><span class="p">(</span><span class="nb">self</span><span class="p">)</span></code></pre></div> <p>In actual fact is called like this</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="nb">self</span><span class="o">.</span><span class="n">usual_scf</span></code></pre></div> <p>or even more succinctly like this</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="o">.</span><span class="n">usual_scf</span></code></pre></div> <p>Pause on this a moment. I am saying that <code>self</code> is the object to which the message <code>usual_scf</code> is passed to. That is, the SCF calculation is performed on <code>self</code> itself. Perhaps this helps to explain the initially rather cryptic name. In any case, the appearance of a single dot after an empty space signifies the presence of a hidden <code>self</code> variable. Apart from anything this leads to less typing.</p> <h2 id="removing-your-self">Removing your <code>self</code></h2> <p>Let’s rewrite the above SCF routine without the unnecessary <code>self.</code> prefix.</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">usual_scf</span> <span class="o">::</span><span class="p">:</span> <span class="n">recursive</span> <span class="o">!</span> <span class="no">Do</span> <span class="n">an</span> <span class="no">SCF</span> <span class="n">calculation</span><span class="o">.</span> <span class="no">The</span> <span class="o">.</span><span class="n">molecular_orbitals</span><span class="p">,</span> <span class="o">!</span> <span class="o">.</span><span class="n">orbital_energies</span><span class="p">,</span> <span class="ow">and</span> <span class="o">.</span><span class="n">density_matrix</span> <span class="n">are</span> <span class="n">produced</span> <span class="n">as</span> <span class="n">results</span><span class="o">.</span> <span class="nb">self</span> <span class="o">::</span> <span class="no">MOLECULE</span> <span class="no">ENSURE</span><span class="p">(</span><span class="o">.</span><span class="n">basis_info_made</span><span class="p">,</span><span class="s2">&quot;no basis info&quot;</span><span class="p">)</span> <span class="no">ENSURE</span><span class="p">(</span><span class="o">.</span><span class="n">atom</span><span class="o">.</span><span class="n">created</span><span class="p">,</span> <span class="s2">&quot;no atom list&quot;</span><span class="p">)</span> <span class="no">ENSURE</span><span class="p">(</span><span class="o">.</span><span class="n">scfdata</span><span class="o">.</span><span class="n">created</span><span class="p">,</span><span class="s2">&quot;no scfdata&quot;</span><span class="p">)</span> <span class="o">.</span><span class="n">initialize_scf</span> <span class="o">.</span><span class="n">put_scf_banner_and_options</span> <span class="o">.</span><span class="n">put_scf_table_header</span> <span class="k">do</span> <span class="o">.</span><span class="n">update_molecular_orbitals</span> <span class="o">.</span><span class="n">make_scf_density_matrix</span> <span class="o">.</span><span class="n">make_fock_matrix</span> <span class="o">.</span><span class="n">update_scfdata</span> <span class="o">.</span><span class="n">update_scfdata_error</span> <span class="o">.</span><span class="n">put_scf_table_body</span> <span class="k">if</span> <span class="p">(</span><span class="o">.</span><span class="n">scfdata</span><span class="o">.</span><span class="n">scf_done</span><span class="p">)</span> <span class="nb">exit</span> <span class="k">end</span> <span class="o">.</span><span class="n">put_scf_results</span> <span class="o">.</span><span class="n">cleanup_scf</span> <span class="k">end</span></code></pre></div> <p>Now the routine reads like a dot-point list of things to do. It is really extremely readable. Indeed, It may seem hard to believe that this is a working program — perhaps even more unbelievable that this is essentially just syntactically modified Fortran. (Much of the bad reputation has come from the style of coding that scientists use: it is not the language itself these days).</p> <p>Furthermore, if we revisit the comments at the start of the routine it finally becomes clear why the dots appear before <code>.molecular_orbitals</code>, <code>.orbital_energies</code> and <code>.density_matrix</code>. These are messages passed to te <code>self</code> variable to return certain entities. You can guess what they are. These are in fact part of the data components which comprise the definition of a <code>MOLECULE</code></p> <h2 id="complex-numbers-as-objects">Complex numbers as objects</h2> <p>If you have understood all of this, test yourself with the following example.</p> <p>We are going to define a complex number type, as follows, in the <code>types.foo</code> file. (We don’t actually need to do thisbecause complex numbers are built-in, but this is an exercise)</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">begin</span> <span class="n">type</span> <span class="no">COMPLEX_NUMBER</span> <span class="n">a</span> <span class="o">::</span> <span class="no">REAL</span> <span class="o">!</span> <span class="no">The</span> <span class="n">real</span> <span class="n">part</span> <span class="n">b</span> <span class="o">::</span> <span class="no">REAL</span> <span class="o">!</span> <span class="no">The</span> <span class="n">complex</span> <span class="n">part</span> <span class="k">end</span> <span class="n">type</span></code></pre></div> <p>Now you know how to define a <strong>derived type</strong> comprised of built-in types, in this case two <code>REAL</code> number types. A derived type may be comparised of any previously defined derived type or built-in type.</p> <p>What is the purpose of the following method? I will tell you that the rouine is not correct. Can you find the bug?</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">module</span> <span class="nn">COMPLEX_NUMBER</span> <span class="n">contains</span> <span class="n">to_product_with</span><span class="p">(</span><span class="n">z2</span><span class="p">)</span> <span class="n">result</span> <span class="p">(</span><span class="n">res</span><span class="p">)</span> <span class="o">!</span> <span class="no">What</span> <span class="k">do</span> <span class="n">I</span> <span class="k">do</span><span class="p">?</span> <span class="nb">self</span> <span class="o">::</span> <span class="no">IN</span> <span class="n">z2</span> <span class="o">::</span> <span class="no">COMPLEX_NUMBER</span><span class="p">,</span> <span class="no">IN</span> <span class="n">res</span> <span class="o">::</span> <span class="no">COMPLEX_NUMBER</span> <span class="n">z_1</span> <span class="o">::</span> <span class="no">COMPLEX_NUMBER</span> <span class="n">z_1</span> <span class="o">=</span> <span class="nb">self</span> <span class="n">res</span><span class="o">.</span><span class="n">a</span> <span class="o">=</span> <span class="n">z1</span><span class="o">.</span><span class="n">a</span> <span class="n">z2</span><span class="o">.</span><span class="n">a</span> <span class="o">+</span> <span class="n">z1</span><span class="o">.</span><span class="n">b</span> <span class="n">z2</span><span class="o">.</span><span class="n">b</span> <span class="n">res</span><span class="o">.</span><span class="n">b</span> <span class="o">=</span> <span class="n">z1</span><span class="o">.</span><span class="n">a</span> <span class="n">z2</span><span class="o">.</span><span class="n">b</span> <span class="o">+</span> <span class="n">z1</span><span class="o">.</span><span class="n">b</span> <span class="n">z2</span><span class="o">.</span><span class="n">a</span> <span class="k">end</span> <span class="k">end</span></code></pre></div> <h2 id="what-all-the-fuss-is-about">What all the fuss is about</h2> <p>This has been a long post but the key idea is just this:</p> <blockquote> <p>The power of objects is in their organizing ability</p> </blockquote> <p>In particular</p> <ol> <li> <p><strong>All methods pertaining to an object are found in the corresponding module</strong>. This is helpful because duplication of code is eliminated. Consider the case of a program written by many contributors <em>not</em> written in object oriented way. The chances are that the different authors write many duplicated routines. In particular domains, much hard work has been expended to make libraries of, for example, linear algebra and array routines. However, in other fields this effort is almost non-existent. Consider the case of quantum chemistry, for example, with it’s plethora of programs. Consider the wasted and duplicated efforts of so many smart people!</p> </li> <li> <p><strong>Organizing programs in an object oriented way facilitates program evolution</strong>. Let’s illustrate this again with examples from quantum chemistry.</p> <ul> <li> <p>How easy would it be to make use of the <em>integrals</em> in this program in another one? Perhaps it isn’t hard if they have been written to a file … perhaps.</p> </li> <li> <p>What if now you wanted to use <em>some</em> of the integrals and not others? Perhaps you want to calculate the energy contributions from a particular region to gain some physical insight?</p> </li> <li> <p>What if now you have a new and <em>better way</em> of calculating the integrals. Perhaps you have discovered that gaussian basis functions with complex exponents work much better. How easy would it be to slot those integras into the code? After all, it would not be desirable to rewrite *everything in the original program.</p> </li> </ul> <p>In general all of these tasks would be difficult to do unless the data used was well separated from the other parts of the program, and all actions on those data are <strong>encapulated</strong> in one place. But this is precisely the idea behind the object oriented approach. Indeed, as we saw, not only are all the methods which act on the same data collected in the same module — the data object on which the methods are applied are always the first argument in any routine.</p> </li> <li> <p><strong>It is easier to maintain an object oriented program</strong>. If you have understood the above argument you should be able to provide reasons for this. As a matter of fact, it is well documented that during the life cycle of a program <strong>much more effort goes into maintenance and bug fixing that into the original writing!</strong> If this is accepted then it follows that much is gained by using objects.</p> </li> </ol> <h2 id="proof-of-the-pudding">Proof of the pudding</h2> <p>The arguments given above may well seem like preaching. Some others may think that the idea behind object oriented methods is just the concept of a library — organizing routines acting on the same data in one place. This is correct: object orientation is just the library concept on steroids. In a later post I hope to illustrate how easy it is to write code in a well-designed quantum chemistry package.</p> <p><a href="http://dylan-jayatilaka.net/articles/science-with-objects/">Science with objects</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 09, 2014.</p> <![CDATA[To program or not]]> http://dylan-jayatilaka.net/articles/to-program-or-not 201-06-07T00:00:00-00:00 2014-06-08T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>Doing quantum chemistry or quantum crystallography means doing calculations.</p> <p>That leaves you with two choices: 1. Use some else’s program, or 2. Write your own.</p> <p>Here I argue that you should write your own.</p> <h2 id="why-write-programs">Why write programs?</h2> <p>If you don’t write your own programs, you are obliged to trust that the program you use is correct. That by itself is not a problem: you may after all only be interested in the answer, and what that answer can reveal about some other bigger question.</p> <p>But what if something goes wrong? After all, scientific calculations are usually complex. </p> <p>Then it helps to know something about how the methods works — how the program works — so you can know program limitations and can work around them.</p> <p>More importantly, everyone needs to know about how <em>accurate</em> their calculated answer is. In this case, knowing <em>something</em> about the algorithm implementation is essential — even if you don’t know all the details.</p> <h2 id="understanding">Understanding</h2> <p>So: you are a scientist and you want to write a moderately complex program to do a quantum chemical calculation. How do you start?</p> <p>Let’s assume you have done the obvious and learned to program in a suitable language for scientific programming. Fortran, C, Java or python. And let’s assume you’ve read the books and know the theory. Now what?</p> <p>The key step is to <em>understand</em> what you want to do.</p> <p>But what is <strong>understanding</strong>?</p> <p>For me it means:</p> <ol> <li> <p><em>Giving meaningful names to things</em> so that you can refer to those things by name when explaining things or — in our case — writing down the algorithms or equations, deriving such equations if necessary. I won’t pursue this aspect further: that is the province of textbooks. What I want to talk about here is what is <strong>not</strong> in the textbooks. So let’s assume that you have a meaningful set of names, you have these names associated with some equations which determine your calculation.</p> </li> <li> <p>If the equations are complicated, in order to program them, you need a plan. You need to structure intermediate results in a way that is both <em>easy to understand</em> and <em>efficient to compute</em>.</p> </li> </ol> <p>Let’s discuss these points in more detail.</p> <h2 id="call-a-spade-a-spadehttpenwikipediaorgwikitocallaspadeaspade"><a href="http://en.wikipedia.org/wiki/To_call_a_spade_a_spade">Call a spade a spade</a></h2> <p>Naming entities meaningfully is by far the most important and difficult part of the programming process.</p> <p>Your disbelief is audible.</p> <p>You say: surely understanding the quantum theory is more difficult?</p> <p>I say: that is the <em>same thing</em>.</p> <p>Think about it. </p> <p>Naming something properly is the start of how you <em>think</em> about that thing. Naming and understanding go together like hand and glove: you simply can’t think about something clearly unless it is at least named properly. This goes for quantum theory, programming, and conversation.</p> <p>Imagine calling a cup a bowl. Now imagine doing the equivalent when writing a programs. Clearly, names are, or should be, even more important in this context. To wit, imagine calling a heavily used variable <code>v</code> when it holds the position coordinate and the velocity by variable <code>x</code>. Imagine naming a variable holding the momentum of partice 1 <code>l2</code>. What a disaster! Yet this is <em>exactly</em> what happens in much scientific software.</p> <p>If you think I am joking about this just read wikipedia about the <a href="http://en.wikipedia.org/wiki/Software_development_process">software development process</a>. You will learn that the first step is the “specification”. In fact, it is dogma in software engineering to “write the documentation first” before doing any kind of programming. Clearly that dogma is nothing but a formalization of the naming-thinking process, whereby the unknown objects needed in an algorithm are formally described in text, and described in sufficient detail to permit code to be written down. Unfortunately, the writing of documentation <em>before</em> coding is rarely undertaken by any scientific programmer.</p> <h2 id="efficiency-versus-clarity">Efficiency versus clarity</h2> <p>Now to the second point.</p> <p>Begin with the realization that the objectives of efficiency and clarity are largely but not completely independent. Generally speaking it <em>is</em> harder to write a efficient program in a clear way because it may have to take advantage of special machine characteristics.</p> <p>Of the two characeristics <strong>clarity is much more important</strong>. That is because a clear code is easier to understand. Furthermore, a clearly written code has benefits later down the track, such as:</p> <ul> <li> <p><strong>Better bug detection and reduced maintenance</strong>. Perhaps later you will actually recall and understand what you did.</p> </li> <li> <p><strong>Better opportunities for optimization and code evolution</strong> by changing algorithms. Generally speaking the greatest gains in efficiency occur due to the use of <em>new algorithms</em> rather than optimization of the instructions of computer codes to take advantage of hardware.</p> </li> <li> <p><strong>Greater chance of collaboration and sharing workload</strong>, since an unclear code is unlikely to be adopted as the basis of a future work by you or anyone else. It is worth keeping in mind the fact that the vast amount of effort spent on a program occurs in maintenance and code evolution.</p> </li> </ul> <h2 id="what-next">What next?</h2> <p>If you are convinced by the above arguments, we should pay attention to best practice in software engineering. In computer science there are two broad approaches to creating creating well-structured code:</p> <ul> <li> <p>Object-oriented methods</p> </li> <li> <p>Functional programming methods</p> </li> </ul> <p>We would do well to understand the essence of these approaches, but that is for another time.</p> <p><a href="http://dylan-jayatilaka.net/articles/to-program-or-not/">To program or not</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 08, 2014.</p> <![CDATA[Quantum theory is wrong]]> http://dylan-jayatilaka.net/articles/quantum-theory-is-wrong 2014-06-07T00:00:00-00:00 2014-06-07T00:00:00+00:00 Dylan Jayatilaka http://dylan-jayatilaka.net dylan.jayatilaka@gmail.com <p>I should some words about quantum mechanics to begin with as that topic will permeate everything from now on.</p> <p>Quantum mechanics is held as being inscrutable, and one of the best theories we have. It is claimed to produce extremely precise and accurate predictions. And it is true! </p> <p>From this, it is tempting to conclude that the story has ended. So what if it is inscrutable? Surely this is just because it is mathematically complex? Whoever said the universe had to be simple? Isn’t it enough that it is <em>predictable</em>?</p> <p>I think that this claim is false: the story of quantum mechanics has not ended.</p> <p>In fact, quantum mechanics in its standard form is fundamentally flawed. In certain circumstances, as you will see, it <em>refuses</em> to make any predictions at all!</p> <h2 id="two-theories">Two theories</h2> <p>Quantum mechanics in its standard form is actually two theories. </p> <ol> <li> <p>The first part is the Schrodinger mechanics which describes the system as an evolving correlated many particle wave. Apart from the fact that a particle either has a momentum or a position, not both, the correspondence to classical mechanics is clear. </p> </li> <li> <p>The second part is the infamous postulate which states that after a measurement the system discontinususly changes from one wave to another. The latter wave is by definition one of the normalized eigenstates of the measurement operator; and the probability that one obtains this state depends on the “overlap” of the initial and final wave functions.</p> </li> </ol> <p>The second part is nonsense! </p> <p>How does the collapse occur? How long does it take? What is the <em>phase</em> of the final wave? Is that random as well? Standard quantum mechanics forbids us to even ask the question!</p> <p>In a later post I will explain why quantum mechanics in it’s current form must be a statistical theory. And in any statistical theory there is an inherent unexplained component. For example, when one takes statistics on the heights of people in a population, the reason why those people actually have a height to be measured is not of interest. We just collect statistics. Quantum mechanics makes such statistical predictions as you can see.</p> <p>There is a school of thought, the <em>Copenhagen interpretation</em>, which argues that this is <em>all</em> we can ever know. In other words, it is meaningless to ask what happens during the measurement-collapse event. This interpretation goes too far.</p> <p>Here is why:</p> <p>The problem is, the Copenhagen interpretation, when applied to doing statistics on the heights of people, would encourage us <em>not</em> enquire into what height actually is. How did these people <em>become</em> tall or short? The Copenhagen interpretation says: “Sorry, I’m only allowed to tell you the statistical result!”. Now, perhaps in the case of the quantum world, that may be the case, but is is nevertheless unsatisfactory. </p> <p>Besides, if it is meaningless to question what happens during a quantum measurement event, it must also be equally meaningless to make assertions about the nature of that event. But the Copenhagen school makes just such an assertion! Namely: that we are not allowed to question how the collapse-event occurs. The event is supposed to be <em>incognito</em>. Clearly then, making such an assertion is <em>logically</em> inconsistent by it’s own standards!</p> <p>Luckily much progress has been made in investigating these issues. The theory of <em>quantum decoherence</em> is currently very fashionable and compelling. One of it’s champions, Zurek, writes elegantly on the topic but for my taste, not quite convincingly. On the other hand others such as Deutch make an equally compelling case for the “many worlds” interpretation.</p> <h2 id="quantum-chemistry">Quantum chemistry</h2> <p>What has all this to do with quantum chemistry?</p> <p>Quite a lot, actually.</p> <p>I will give two examples.</p> <ol> <li> <p>There is a tendency in this field to depend very much on the statements made by Dirac to the effect that “all of chemistry is now explained” by quantum mechanics. The arguments above show that this is clearly false. It may be the case for model systems which are highly decoupled from their environments. However, it is in chemistry where systems become large and complex, and it is in precisely these cases that the notions of system-separability become critical. Not everything can be regarded usefully as an isolated system. To give one example, consider the case of electrical conductivity through a single molecule.</p> </li> <li> <p>Second, quantum chemists often emphasis on <em>Hermitian operators</em>. The claim is that “all observables must be Hermitian”. Certainly, Hermitian operators have real eigenvalues, and the results of measurements should be real. And a Hermitian operator ensures that the time development of the wavefunction is unitary, leading to a normalized wave function for all time. However, many measurements are conveniently described by complex operators. For example, in the theory of scattering there are situations where particle probability is not conserved with time — corresponding to particle absorption, decay, or destruction. There are other experiments in diffraction where it is convenient if one assumes the <em>phase</em> as well as the amplitude of a wave is measured; these experiments too are conveniently regarded in terms of complex operators.</p> </li> </ol> <p>All this is to indicate to you: always be on guard about grand statements like “everything is known’’, or “this is exact”. Implicit in these is <em>always</em> the model. Always.</p> <h2 id="einsteins-quote">Einstein’s quote</h2> <p>At this point I should present a quite remarkable exchange between Einstein and Heisenberg, which the latter included in his memoirs. It clearly illustrates what I have been trying to say. But it will have to wait for another post.</p> <h2 id="the-bright-side">The bright side</h2> <p>I don’t want to give you the wrong impression.</p> <p>Quantum mechanics <em>does</em> produce great results. Hence, it is well worth developing a feeling for it. If you don’t think that is true, you should keep reading papers, keep doing your own calculations. The best way is if you do the work yourself, it becomes much more convincing that way. Hence this blog.</p> <p>From my experience, it is really is quite astounding how the mathematics of quantum mechanics can be used to produce the same numbers that an experimentalist does: each of us works laboriously on seemingly quite divergent directions and at the end of the day we invariably get the same result.</p> <p>Now my old supervisor, Handy, used to say</p> <blockquote> <p>Quantum chemistry is the last field where, as the system becomes bigger, you get reproducible results. </p> </blockquote> <p>By this he meant that calculations on systems which are any bigger invariably require statistical mechanical techniques, and these have an intrinsic irreproducibility due to random random sampling.</p> <p>If you accept this, then it follows that quantum chemistry is the last field where concerns about separability of system and environment can be <em>numerically probed</em> and experimentally tested. We invariably get the same result as the experimentalist, but do we always hae to?</p> <p>Are quantum chemists actually looking for cases where the results might differ? I don’t know. Why don’t you try?</p> <p><a href="http://dylan-jayatilaka.net/articles/quantum-theory-is-wrong/">Quantum theory is wrong</a> was originally published by Dylan Jayatilaka at <a href="http://dylan-jayatilaka.net">That Blog by Dylan</a> on June 07, 2014.</p>