2017-02-20T22:57:37+00:00http://jhwilson.comPulsing a two-band model to discover topology2017-02-20T00:00:00+00:00http://jhwilson.com/2017/02/20/Chern-Number-From-Real-Time
<p>In systems with an anomalous quantum Hall effect, the quantized Hall conductivity comes from the integral of a Chern number over some manifold. Usually, this integral is derived via Kubo formula.
However, there is geometry involved in how the state evolves, and in fact, we can use the dynamics of the current following a weak pulse in order to find the DC conductivity. The route is easy enough: Say we have a conductivity which when written with respect to time is <script type="math/tex">\sigma_{xy}(t-t')</script>, and without loss of generality we apply a pulse <script type="math/tex">E_x(t) = A_x\delta(t)</script>, then we can find the current response in the perpendicular direction</p>
<script type="math/tex; mode=display">\begin{align} j_y(t) = \int dt \, \sigma_{yx}(t-t') E_x(t') = \sigma_{yx}(t) A_x. \end{align}</script>
<p>This allows us to derive an expression for the DC-conductivity</p>
<script type="math/tex; mode=display">\begin{align} \sigma_{yx} = \int dt \, \sigma_{yx}(t) = \frac1{A_x} \int dt \, j_y(t). \end{align}</script>
<p>Geometrically, there is a lot going on with <script type="math/tex">j_y(t)</script> when we have a system with spin-orbit coupling. In particular, take the two band model</p>
<script type="math/tex; mode=display">\begin{align}
h(\mathbf p) = \mathbf d(\mathbf p) \cdot \sigma,
\end{align}</script>
<p>where <script type="math/tex">\mathbf d</script> is 3D, <script type="math/tex">\mathbf p</script> is 2D, and <script type="math/tex">\sigma = (\sigma_x, \sigma_y, \sigma_z)</script>, the vector of Pauli matrices. The initial states of the system can be represented by where they are on the Bloch sphere <script type="math/tex">-\hat{\mathbf d}(\mathbf p)</script>. But once a pulse is supplied, this state will begin to rotate about a different vector <script type="math/tex">\mathbf d(\mathbf p - e \mathbf A)</script>. Thus, if we add time dependence to <script type="math/tex">\hat{\mathbf d}(\mathbf p, t)\equiv -\langle \sigma(t) \rangle</script> to represent the state’s location, we can use Heisenberg’s equations of motion to obtain</p>
<script type="math/tex; mode=display">\begin{align}
\hbar \frac{\partial \hat{\mathbf d}(\mathbf p, t)}{\partial t} = 2\mathbf{d}(\mathbf p - e\mathbf A) \times \hat{\mathbf{d}}(p, t).
\end{align}</script>
<p>We can rewrite this equation as</p>
<script type="math/tex; mode=display">\begin{align}
\hat{\mathbf d}(\mathbf p,t) = \hat{\mathbf d}(\mathbf p - e \mathbf A) [\hat{\mathbf d}(\mathbf p - e \mathbf A) \cdot \hat{\mathbf d}(\mathbf p)] - \hbar \frac{\hat{\mathbf d}(\mathbf p-e \mathbf A) \times \frac{\partial \hat{\mathbf d}(\mathbf p, t)}{\partial t}}{2d(\mathbf p - e A)}
\end{align}</script>
<p>However, this state has an associated current with it, and that can be represented by the operator <script type="math/tex">j_\mu = -e \partial_\mu \mathbf d(\mathbf p- e \mathbf A) \cdot \sigma</script>. And the vector <script type="math/tex">\langle\sigma\rangle = -\hat{\mathbf{d}}(p,t)</script>. Therefore,</p>
<script type="math/tex; mode=display">\begin{align}
\langle j_\mu \rangle = e^2 \partial_\mu \mathbf d(\mathbf p - e\mathbf A ) \cdot \hat{\mathbf d}(\mathbf p, t)
\end{align}</script>
<p>Combining these expressions, we have
<script type="math/tex">\begin{multline}
\langle j_\mu \rangle = e^2 \partial_\mu \mathbf d(\mathbf p - e\mathbf A ) \cdot \Bigg[ \hat{\mathbf d}(\mathbf p - e \mathbf A) [\hat{\mathbf d}(\mathbf p - e \mathbf A) \cdot \hat{\mathbf d}(\mathbf p)] \\ - \hbar \frac{\hat{\mathbf d}(\mathbf p-e \mathbf A) \times \frac{\partial \hat{\mathbf d}(\mathbf p, t)}{\partial t}}{2d(\mathbf p - e A)} \Bigg].
\end{multline}</script></p>
<p>Or simplified
<script type="math/tex">\begin{multline}
\langle j_\mu \rangle = e^2 \partial_\mu d(\mathbf p - e\mathbf A )[\hat{\mathbf d}(\mathbf p - e \mathbf A) \cdot \hat{\mathbf d}(\mathbf p)] \\ - \frac{e^2}{2} \partial_\mu \hat{\mathbf{d}}(\mathbf p - e \mathbf A) \cdot \left[\hat{\mathbf d}(\mathbf p-e \mathbf A) \times \frac{\partial \hat{\mathbf d}(\mathbf p, t)}{\partial t} \right].
\end{multline}</script></p>
<p>This is exact. At this point, we make a couple of approximations. First of all, the first term is independent of <script type="math/tex">t</script> so it cannot contribute to the total current <em>if</em> we have a finite DC conductivity. This leaves the second term. We can do the integral over time — there is an order of limits problem but we can get around this by noting that we do not expect the infinite time state to contribute to the energy (or: it averages to something proportional to <script type="math/tex">\mathbf d(\mathbf p - e \mathbf A)</script> anway and so the cross product vanishes), so we discard it and therefore, <script type="math/tex">\int_0^\infty dt' \, \mathbf d(\mathbf p, t') = - \mathbf d(\mathbf p)</script>.</p>
<p>Hence, we get the Hall conductivity</p>
<script type="math/tex; mode=display">\begin{align}
\sigma_{yx} = \frac{e^2\hbar}{2 A_x} \int \frac{d^2 p}{h^2} \partial_y \hat{\mathbf{d}}(\mathbf p - e \mathbf A) \cdot \left[\hat{\mathbf d}(\mathbf p-e \mathbf A) \times \hat{\mathbf d}(\mathbf p) \right].
\end{align}</script>
<p>At this point, we actually have not expanded in terms of <script type="math/tex">A_x</script> yet. The first term will produce a term that is symmetric in <script type="math/tex">x</script> and <script type="math/tex">y</script>—however it drops out due to the cross product <script type="math/tex">\hat{\mathbf d}(\mathbf p) \times \hat{\mathbf d}(\mathbf p) = 0</script> vanishes. Thus, only the second term persists and we see directly that <script type="math/tex">x</script> and <script type="math/tex">y</script> must be different and in fact, we get the well-known formula</p>
<script type="math/tex; mode=display">\begin{align}
\sigma_{yx}^{\mathrm{Hall}} =\frac{e^2}{h} \int \frac{d^2 p}{4\pi} \hat{\mathbf{d}}(\mathbf p) \cdot \left[\partial_y \hat{\mathbf d}(\mathbf p) \times \partial_x \hat{\mathbf d}(\mathbf p) \right].
\end{align}</script>
<p>This describes the Chern number of some manifold parametrized by <script type="math/tex">\mathbf p</script> (usually the Brillioun zone). It is the number of times the vector <script type="math/tex">\mathbf d</script> wraps the sphere.</p>
<p>To understand why it’s a topological invariant, note that the quantity in the integral looks very much like a Jacobian. In fact, it is; it describes a coordinate transformation from the <script type="math/tex">\hat {\mathbf d}</script> to <script type="math/tex">(p_x,p_y)</script>.
In this way, the integrand represents an area element on the sphere, and in general <script type="math/tex">\mathbf p</script> is a closed manifold. So <script type="math/tex">\mathbf d(\mathbf p)</script> maps that closed manifold to the sphere, and without any edges or boundaries the area it maps out must be <script type="math/tex">4 \pi</script> times an integer.</p>
<p>This formula is well-known, but this dynamical way of obtaining it is slightly less well-known. We have extended this idea in a paper published <a href="http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.117.235302">last year</a> to handle the out-of-equilibrium case of quenches. In that situation, new phenonmena appear that are quite different from the equilibrium case—terms that we discarded in this calculation become quite relevant.</p>
<p><em>Note: mathematical formulas may not appear correctly in your feed reader. Click through to the original post to see them.</em></p>
Integrating org-mode and PushBullet for automated reminders2015-01-03T00:00:00+00:00http://jhwilson.com/2015/01/03/Org-mode-and-push-bullet
<p>For a while now, I have been using Emacs’ <a href="http://orgmode.org/">org-mode</a> as my fully customizable, open-source, plain-text to-do list manager.
In order to help me not escape my agenda items though, I wanted some way to receive push notifications, and for that I am using <a href="http://www.pushbullet.com">PushBullet</a>.
With a little bit of python code, this can easily be accomplished.</p>
<p>Note: This guide uses these services on OS X with <a href="http://brew.sh/">Homebrew</a> installed. It should be easily generalizable to other systems.</p>
<h2 id="set-up-your-machine">Set up your machine</h2>
<p>Make sure you have the most recent version of emacs. Using Homebrew:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>brew install emacs
</code></pre>
</div>
<p>We are going to interface everything with python, and for that we need to install <a href="https://github.com/randomchars/pushbullet.py"><code class="highlighter-rouge">pushbullet.py</code></a> with</p>
<div class="highlighter-rouge"><pre class="highlight"><code>pip install pushbullet.py
</code></pre>
</div>
<p>This requires python-magic (which should be automatically installed), but which requires <a href="https://github.com/ahupp/python-magic#dependencies">dependencies</a> which we quote here</p>
<blockquote>
<p>On Windows, install Cygwin (http://cygwin.com/install.html). To find
the libraries, either add <your-cygwin-install>/bin to the $PATH or
copy cygwin1.dll, cygz.dll, and cygmagic-1.dll to C:\Windows\System32</your-cygwin-install></p>
<p>On OSX:</p>
<ul>
<li>When using Homebrew: <code class="highlighter-rouge">brew install libmagic</code></li>
<li>When using macports: <code class="highlighter-rouge">port install file</code></li>
</ul>
</blockquote>
<p>Now, I assume you have org-mode set up with a list of agenda files hanging around somewhere on your machine (usually identified in your <code class="highlighter-rouge">.emacs</code> file or your <code class="highlighter-rouge">customizations.el</code> file for Aquamacs).</p>
<h2 id="the-python-code">The Python code</h2>
<p>I cobbled together some python code with help from the org-mode site explaining how to <a href="http://orgmode.org/manual/Extracting-agenda-information.html">extract agenda information</a> as well as the python implementation I found on <a href="http://demonastery.org/2009/05/automatic-agenda-notification/">this blog</a> in his <code class="highlighter-rouge">agenda.py</code>.</p>
<script src="https://gist.github.com/jhwilson/09b3f43451d5f855fb5a.js"></script>
<p>It’s important to note that the <code class="highlighter-rouge">loadfile</code> must define <code class="highlighter-rouge">org-agenda-files</code>. Additionally, I had problems if the <code class="highlighter-rouge">loadfile</code> tried to do too much upon initialization. If your <code class="highlighter-rouge">init</code> file does too much, you may need to make this <code class="highlighter-rouge">loadfile</code> something else, something simpler.</p>
<p>The push notifications you receive from running this code are specifically tailored to how I wanted them output. One can easily mess around with the section I labeled “PROCESSING Agenda information into notes to send”. Additionally, there are more ways than just <code class="highlighter-rouge">pb.push_note</code> to send information (see the documentation <a href="https://github.com/randomchars/pushbullet.py">here</a>).</p>
<h2 id="set-up-automator">Set up Automator</h2>
<p>There are numerous tools to automate tasks on different systems.
On OS X, we’ll use Automator.</p>
<ol>
<li>Create a new application.</li>
<li>Find the “Run Shell Script” action and drag it to the box on the right.</li>
<li>Select shell <code class="highlighter-rouge">/bin/bash</code> and insert the following code</li>
</ol>
<blockquote>
<div class="highlighter-rouge"><pre class="highlight"><code>export PATH=/usr/local/bin:$PATH
python /path/to/org-mode-agenda-push-bullet.py
</code></pre>
</div>
</blockquote>
<p>This is the simplest since the shell <code class="highlighter-rouge">/usr/bin/python</code> doesn’t necessarily use the python that we want (located in <code class="highlighter-rouge">/usr/local/bin</code> in this case).</p>
<p>From here, we open the Calendar application, create a new event, and insert when we want it to run (frequency, etc.), then under the “alert:” option, we click “Custom…”, then in the first drop down menu “Open file”, in the new drop down menu that appears we click “Other…”, and navigate to where we saved the automator application created above. The rest should be self-explanatory.</p>
<p>If all is well and good, at the specified times, you should get a push bullet reminder at that time (if your computer is on and connected to the internet).</p>
<p><em>Note: mathematical formulas may not appear correctly in your feed reader. Click through to the original post to see them.</em></p>
Subtleties in linear response theory2014-12-22T00:00:00+00:00http://jhwilson.com/2014/12/22/Subtleties-in-linear-response-theory
<p>In linear response theory, we consider some small perturbation to a Hamiltonian and look at the response of some observable to that perturbation. In the case considered here, the perturbation is an electric field, and the response is current. The linear response that characterizes these quantities is called the conductance.</p>
<p>There’s a problem though, an electric field <em>accelerates</em> a charge. Consider a classical electron for the time being, then</p>
<script type="math/tex; mode=display">\begin{align}
m \ddot x(t) = - e \mathbf{E}. \label{eq:Newton}
\end{align}</script>
<p>Or in terms of current <script type="math/tex">j(t) = -e \dot x(t)</script>, <script type="math/tex">\frac{d j}{dt} = \frac{e^2}{m} \mathbf{E}</script>. From here we can quickly and naively go to frequency space to find <script type="math/tex">j(\omega) = i \frac{e^2/m}{\omega} \mathbf{E}(\omega)</script>. Then one might remember that another way to define <script type="math/tex">\mathbf{E}</script> is in terms of a vector potential that is purely time-dependent, so <script type="math/tex">\mathbf{E}(\omega) = i \omega \mathbf A(\omega)</script>. Now, if we just plug this into our linear response for the current, we get</p>
<script type="math/tex; mode=display">j(\omega) = - \frac{ e^2}{m} \mathbf A(\omega). \label{eq:jA}</script>
<p>All is well and good, right? Well, not quite. In electromagnetism, the constant part of <script type="math/tex">\mathbf A(t)</script> corresponds to the <script type="math/tex">\omega = 0</script> term of <script type="math/tex">A(\omega)</script>. This represents what is known as a “pure gauge”. These gauges are <em>physically equivalent</em> to the null field <script type="math/tex">\mathbf A(\omega=0) = 0</script>. Thus, whatever linear response is represented above at <script type="math/tex">\omega = 0</script> must be unphysical, right?</p>
<p>Wrong.</p>
<p>Before explainging why this is wrong, let’s give some further context to this linear response theory. The term <script type="math/tex">- e^2/m</script> is actually the single particle term of what is known as the “diamagnetic” response to the conductivity when you add in more electrons (usually distributed in a Fermi distribution). This term persists in quantum mechanics, and no other terms appear to cancel it in the simplest case of <script type="math/tex">H = \frac{p^2}{2m}</script>. In fact, while the math becomes more cumbersome, the solution we shall illustate below holds perfectly well for even the non-interacting multi-electron system.</p>
<p>Now, at this point you may have guessed that there’s something strange going on at <script type="math/tex">\omega = 0</script> due to the fact that the electric field <em>accelerates</em> the particle and doesn’t just have a velocity response. At the <script type="math/tex">\omega = 0</script> point, the <em>physical</em> field <script type="math/tex">E(\omega)</script> seems to necessarily be equal to zero in the gauge we have prescribed unless <script type="math/tex">A(\omega) \sim 1/\omega</script> for small <script type="math/tex">\omega</script>. This would lead to a divergent <script type="math/tex">j(\omega)</script>, restoring our faith that the system is accelerating out of control.</p>
<p>But what about when <script type="math/tex">\mathbf{A}(\omega=0) = \mathbf{A}_0</script>? It seems like then we have a true velocity response to an unphysical object. The solution is subtle: At some point in the quick derivation we made an assumption that implied <script type="math/tex">\mathbf A(t) \rightarrow 0</script> at <script type="math/tex">t \rightarrow -\infty</script>. This implies that if <script type="math/tex">\mathbf A(t) = \mathbf A_0</script> at any finite time, there had to be some time in between where <script type="math/tex">d\mathbf A/ dt \neq 0</script>. Thus, during that “ramp up” time, an electric field was on and it accelerated the charge to a specific velocity resulting in the current <script type="math/tex">j(\omega) = - \frac{ e^2}{m} \mathbf A(\omega)</script>.</p>
<p>The assumption is subtle, but the result is rather simple. For now, just assume that <script type="math/tex">\mathbf A(-\infty) = 0</script> and at some <script type="math/tex">t_0</script>, <script type="math/tex">\mathbf A(t_0) = \mathbf A_0</script>, then we can integrate Eq. \eqref{eq:Newton} to obtain the velocity:</p>
<script type="math/tex; mode=display">m \dot x (t_0) = e \int_{-\infty}^{t_0} \frac{d \mathbf A}{d t} d t = e \mathbf A_0.</script>
<p>Or, in other words, <script type="math/tex">\mathbf j(t_0) = -\frac{e^2}{m} \mathbf A_0</script>, the same as before! This is how a constant <script type="math/tex">\mathbf A_0</script> can be physical: When it represents the change from a different constant vector potential.</p>
<p>Now, to isolate the assumption, let us run through what they were</p>
<ol>
<li><script type="math/tex">\frac{d j}{d t} = \frac{e^2}{m} E(t)</script>.</li>
<li>Take the Fourier transform: <script type="math/tex">j(\omega) = i \frac{e^2/m}{\omega} E(\omega)</script>.</li>
<li>Insert vector potential with <script type="math/tex">E = -\frac{d}{dt} A</script> and <em>assume the Fourier transform exists</em> for <script type="math/tex">A</script>: <script type="math/tex">j(\omega) = - \frac{e^2}m A(\omega)</script>.</li>
<li>Undo the Fourier transform: <script type="math/tex">j(t) = - \frac{e^2}{m} A(t)</script>.</li>
</ol>
<p>Now, let us get the last equation (in #4 above) by a simpler route.</p>
<ol>
<li><script type="math/tex">\frac{d j}{dt} = \frac{e^2}{m} E(t)</script>.</li>
<li>Use <script type="math/tex">E = - \frac{d}{dt} A</script> and integrate the above expression from <script type="math/tex">-\infty</script> to <script type="math/tex">t</script>: <script type="math/tex">j(t) - j(-\infty) = -\frac{e^2}{m} ( A(t) - A(-\infty))</script>.</li>
</ol>
<p>Two perfectly legitimate calculations resulting in different results. Firstly, this highlights that the first procedure does actually assume <script type="math/tex">A(-\infty) = 0</script>. Secondly, the only assumptions that could have given <script type="math/tex">j(-\infty) = 0</script> (an assumption we probably wanted anyway) and <script type="math/tex">A(-\infty) = 0</script> are that they could be given in terms of Fourier transforms. In order for a function to have a Fourier transform it needs to be <em>absolutely integrable</em>—i.e. <script type="math/tex">% <![CDATA[
\int_{-\infty}^\infty \lvert A(t) \rvert dt < \infty %]]></script>. Given <script type="math/tex">A(t)</script> as a continuous, piece-wise differentiable function, we need <script type="math/tex">A(t) \rightarrow 0</script> for <script type="math/tex">t \rightarrow \pm \infty</script>. This imposes our gauge, and since we are not interested in future times let alone <script type="math/tex">t \rightarrow +\infty</script>, we can artificially modify the function as we see fit to accomodate that. But how the function began at <script type="math/tex">-\infty</script> is important, and we must impose that. Hence, we have chosen, at least partially, a gauge.</p>
<p>We are left with a dilemma then about pure plain waves <script type="math/tex">A(t) = A(\omega) e^{-i \omega t}</script>. How do those function?</p>
<p>Technically, they are outside of the bounds of the Fourier analysis and we can see that simply by the fact that if we tried to do the above procedure, we couldn’t have a well defined answer as <script type="math/tex">t \rightarrow -\infty</script> (too oscillatory). However, we can approximate the plain wave in terms of an absolutely integrable function <script type="math/tex">A_\delta(t) = A(\omega) e^{-i (\omega + i \delta) t}</script> for any <script type="math/tex">\delta >0</script>, and everything works. This shows us explicitly that <script type="math/tex">t = - \infty</script> does have <script type="math/tex">A_\delta \rightarrow 0</script> for all <script type="math/tex">\delta>0</script>. And this is the origin of the well known substitution <script type="math/tex">\omega \rightarrow \omega + i\delta</script>.</p>
<p>The natural question to ask now is how this works for a real system (with dissipation). Why does such a term not exist at zero frequency?</p>
<p>Unless your system is a superconductor, there is some dissipation in the system.
The simplest way to include this is classically: When an electron is going at velocity <script type="math/tex">\dot x(t)</script> it experiences a “drag” that tends to slow it down.
Thus, our Newton’s equations become</p>
<script type="math/tex; mode=display">m \ddot x(t) = - m \gamma \dot x(t) - e \mathbf E</script>
<p>where <script type="math/tex">\gamma</script> describes how much drag the electron experiences.
For more disorder, this would be a larger number.
Playing the same Fourier transform game, we can obtain rather quickly that</p>
<script type="math/tex; mode=display">j(\omega) = - \frac{e^2}{m} \frac{\omega}{\omega +i \gamma} A(\omega).</script>
<p>This is just one step away from the well-known <a href="http://en.wikipedia.org/wiki/Drude_model">Drude model</a>.
We see that if <script type="math/tex">A(t) = A_0</script>, then <script type="math/tex">j(\omega) = 0</script>.
But our gauge choice that we described before is still in place, the only difference is that our “kick” at <script type="math/tex">t=-\infty</script> has an infinite time to dissipate back to rest (the inclusion of <script type="math/tex">\gamma</script> above is critical for <script type="math/tex">j(\omega=0) =0</script>).
This also suggests a steady state current when <script type="math/tex">\mathbf E</script> is constant: <script type="math/tex">m\ddot x=0</script> implies <script type="math/tex">j = \frac{e^2}{m \gamma} \mathbf E</script>.
Our current relaxes to zero when there’s nothing around (<script type="math/tex">\mathbf E = 0</script>), as we would expect.</p>
<p>When a quantum mechanical description is done—by taking a random disorder potential and averaging over disorder configurations—one obtains similar results.
The diamagnetic term for a <em>clean system</em> is real and has a physically well defined explanation.</p>
<p>One may not be surprised that this curious “diamagnetic term” occurs for superconductors, however it is sometimes explained that “gauge symmetry is broken” and that is why such a term exists.
This is a misleading statement, but one I will explore in a future post.</p>
<p><em>Note: mathematical formulas may not appear correctly in your feed reader. Click through to the original post to see them.</em></p>
Current in Single Particle Quantum Mechanics2014-01-14T00:00:00+00:00http://jhwilson.com/2014/01/14/Current-in-single-particle-QM
<p>For simplicity, I will only use one-dimension in this post, but this can be generalized to higher dimensions rather easily.</p>
<p>Many textbooks on Quantum Mechanics mention current density can be derived from the continuity equation and probability.
The usual method for figuring this out is to assume you have some Hamiltonian <script type="math/tex">H = p^2/2m + V(x)</script> where <script type="math/tex">p</script> is the momentum and <script type="math/tex">x</script> is the position.
In this way the current density is written in terms of the wave function <script type="math/tex">\psi(x,t)</script> as</p>
<script type="math/tex; mode=display">j(x,t) = \frac1{2m i}\left[ \psi^* \overrightarrow{\partial_x} \psi - \psi^* \overleftarrow{\partial_x} \psi \right].</script>
<p>This then satisfies the continuity equation</p>
<script type="math/tex; mode=display">\partial_t \rho(x,t) + \partial_x j(x,t) = 0,</script>
<p>with density <script type="math/tex">\rho(x,t)=\psi^*(x,t)\psi(x,t)</script>. It should be noted that if you write the wave function as <script type="math/tex">\psi(x,t) = \sqrt{\rho(x,t)} e^{i \theta(x,t)}</script>, then the current is just proportional to the gradient of the phase <script type="math/tex">j(x,t)= \rho(x,t) \partial_x \theta(x,t)/m</script>, giving the spatial change in phase a physical significance.</p>
<p>However, there are two lingering questions:</p>
<ol>
<li>Is this current density related to the Heisenberg operator <script type="math/tex">\dot x(t)</script> which tracks the velocity of the system?</li>
<li>If so, does it generalize to more arbitrary Hamiltonians?</li>
</ol>
<p>To answer these questions, we consider the more arbitrary Hamiltonian</p>
<script type="math/tex; mode=display">H = T(p) + V(x),</script>
<p>where <script type="math/tex">V(x)</script> is some potential and the kinetic energy is some polynomial</p>
<script type="math/tex; mode=display">T(p) = \sum_{n=1} a_n \frac{p^n}{n!}.</script>
<p>We are unworried about bounding the energy, so odd-order Kinetic energy terms are allowed (in the higher dimensional case, the Dirac-like Hamiltonians have linear terms in <script type="math/tex">p</script>).
At this point, we can take our Heisenberg operator <script type="math/tex">\dot x(t)</script> and find</p>
<script type="math/tex; mode=display">% <![CDATA[
\begin{align*}
\dot x(t) & = i [H, x(t)] \\
& = T'(p(t)).
\end{align*} %]]></script>
<p>where <script type="math/tex">T'</script> is the derivative of <script type="math/tex">T</script> with respect to its argument.
Now, we would like to obtain a current density from this quantity.
We can certainly define the total current at a specific time as</p>
<script type="math/tex; mode=display">% <![CDATA[
\begin{align*}
I & = \langle\psi_0\lvert \dot x(t) \rvert \psi_0\rangle = \langle\psi_0\lvert T'(p(t)) \rvert \psi_0\rangle\\
& = \langle\psi(t)\lvert T'(p) \rvert \psi(t)\rangle,
\end{align*} %]]></script>
<p>where in the last line we go from the Heisenberg to Schroedinger picture. Now to get density, we need to use a complete set position states, so that</p>
<script type="math/tex; mode=display">% <![CDATA[
\begin{align} \label{eq:total-current}
I & = \int dx \, dy \, \langle\psi(t)\lvert x\rangle \langle x \lvert T'(p) \rvert y \rangle \langle y \lvert \psi(t)\rangle.
\end{align} %]]></script>
<p>Now, <script type="math/tex">p</script> acts as a derivative on position kets, so that one can verify that</p>
<script type="math/tex; mode=display">\langle x \lvert T'(p) \rvert y \rangle = T'(-i \partial_x ) \delta(x-y).</script>
<p>However, there is an ambiguity here since we can write</p>
<script type="math/tex; mode=display">% <![CDATA[
\begin{align}
T'(-i \partial_x)\delta(x-y) & = \sum_{n=0} a_{n+1} \frac{(-i\partial_x)^n}{n!} \delta(x-y) \nonumber \\ & = \sum_{n=0} a_{n+1} \frac{(-i\partial_x)^{n-m} (i \partial_y)^m}{n!} \delta(x-y). \label{eq:T-delta}
\end{align} %]]></script>
<p>This ambiguiuty in how to choose the derivatives leaves us with many way to define the current density.
Fortunately, only one of these combinations satisfies the continuity equation.
To figure out which one that is, let us reverse engineer the continuity equation to obtain a solution.
The density is <script type="math/tex">\rho(x,t) = \psi^*(x,t) \psi(x,t)</script>, and so using the Schroedinger’s equation, we have</p>
<script type="math/tex; mode=display">% <![CDATA[
\begin{align*}
i \partial_t \rho(x,t) & = i(\psi^*(x,t) \overleftarrow {\partial_t} \psi(x,t) + \psi^*(x,t) \overrightarrow {\partial_t} \psi(x,t) ) \\
& = - [\psi^*(x,t)( T(i \overleftarrow{\partial_x} ) - T(-i \overrightarrow{\partial_x} ) )\psi(x,t) ].
\end{align*} %]]></script>
<p>Thus, the continuity equation must become</p>
<script type="math/tex; mode=display">\begin{align*}
\partial_t \rho(x,t) - i [\psi^*(x,t)( T(i \overleftarrow{\partial_x} ) - T(-i \overrightarrow{\partial_x} ) )\psi(x,t) ] = 0.
\end{align*}</script>
<p>If we now assume that we have a current density that takes the form</p>
<script type="math/tex; mode=display">j(x,t) = \psi^*(x,t) \vartheta(\overleftarrow{\partial_x},\overrightarrow{\partial_x}) \psi(x,t),</script>
<p>and satisfies the continuity equation, <script type="math/tex">\partial_t \rho + \partial_x j = 0</script>, then we can equate operators to obtain</p>
<script type="math/tex; mode=display">\begin{align} \label{eq:diff-ops-cty}
\overleftarrow{\partial_x} \vartheta + \vartheta \overrightarrow{\partial_x} = -i [T(i \overleftarrow{\partial_x} ) - T(-i \overrightarrow{\partial_x} ) ].
\end{align}</script>
<p>Anticipating the answer, we write the general form of <script type="math/tex">\vartheta</script> as</p>
<script type="math/tex; mode=display">\vartheta = \sum_{n=0} \sum_{m=0}^n (-1)^{m} i^n b_{n,m} \overleftarrow{\partial}{}_x^{n-m} \overrightarrow{\partial}{}_x^m.</script>
<p>Then we can take the left hand side Eq. \eqref{eq:diff-ops-cty} and write</p>
<script type="math/tex; mode=display">\begin{multline*}
\overleftarrow{\partial_x} \vartheta + \vartheta \overrightarrow{\partial_x} = -i \sum_{n=1} i^n b_{n-1,0} \overleftarrow{\partial}{}_x^{n} - \sum_{n=0} \sum_{m=0}^{n-1} (-1)^m i^n \left[ b_{n,m+1} - b_{n,m} \right] \\ \times \overleftarrow{\partial}{}_x^{n-m} \overrightarrow{\partial}{}_x^{m+1}
+ i \sum_{n=1} (-i)^{n} b_{n-1,n-1} \overrightarrow{\partial}{}_x^{n} .
\end{multline*}</script>
<p>On the other hand, we can calculate the right hand side of Eq. \eqref{eq:diff-ops-cty} to be</p>
<script type="math/tex; mode=display">-i [T(i \overleftarrow{\partial_x} ) - T(-i \overrightarrow{\partial_x} ) ] = -i \sum_{n=1} a_n i^n \frac{\overleftarrow{\partial}{}_x^n}{n!} + i \sum_{n=1} a_n (-i)^n \frac{\overrightarrow{\partial}{}_x^n}{n!}.</script>
<p>Equating the left and right sides, we can just read off that <script type="math/tex">b_{n-1,0} = a_n/n!</script>, <script type="math/tex">b_{n-1,n-1}= a_n/n!</script> and <script type="math/tex">b_{n,m+1} = b_{n,m}</script>, so that <script type="math/tex">b_{n,m} = a_{n+1}/(n+1)!</script>.</p>
<p>Thus, we have</p>
<script type="math/tex; mode=display">\vartheta = - \sum_{n=0} \sum_{m=0}^n (-1)^{m} i^n \frac{a_{n+1}}{(n+1)!} \overleftarrow{\partial}{}_x^{n-m} \overrightarrow{\partial}{}_x^m.</script>
<p>Returning all the way to when we were considering <script type="math/tex">\dot x(t)</script> as an integral over position,
this suggests that in Eq. \eqref{eq:T-delta}, we want to consider</p>
<script type="math/tex; mode=display">\begin{multline*}
T'(-i \partial_x)\delta(x-y) \\ = \sum_{n=0} \frac{a_{n+1}}{n!} \frac1{n+1}\sum_{m=0}^n (-i\partial_x)^{n-m} (i \partial_y)^m \delta(x-y).
\end{multline*}</script>
<p>Given the expression for total current Eq. \eqref{eq:total-current} and integrating the delta function by parts numerous times, we can replace <script type="math/tex">\partial_x</script> with <script type="math/tex">-\overleftarrow \partial_x</script> and <script type="math/tex">\partial_y</script> with <script type="math/tex">- \overrightarrow\partial_x</script>, and then the total current is just</p>
<script type="math/tex; mode=display">I = \int dx \, \psi^*(x,t) \sum_{n=0} \frac{a_{n+1}}{(n+1)!} \sum_{m=0}^n (i \overleftarrow \partial_x)^{n-m} (-i \overrightarrow \partial_x)^m \psi(x,t).</script>
<p>which actually integrates the current density! Thus, we have shown that</p>
<script type="math/tex; mode=display">j(x,t) = \psi^*(x,t) \sum_{n=0} \frac{a_{n+1}}{(n+1)!} \sum_{m=0}^n (i \overleftarrow \partial_x)^{n-m} (-i \overrightarrow \partial_x)^m \psi(x,t),</script>
<p>and that</p>
<script type="math/tex; mode=display">\langle \dot x(t) \rangle = \int dx \, j(x,t).</script>
<p>Indeed, <script type="math/tex">\dot x(t)</script> does track the current of the problem and can even be written as the integral of a current density. Even for the more arbitrary Hamiltonian <script type="math/tex">H = T(p) + V(x)</script>.</p>
<p><em>Note: mathematical formulas may not appear correctly in your feed reader. Click through to the original post to see them.</em></p>
The δ-function Potential Lattice2013-06-14T00:00:00+00:00http://jhwilson.com/2013/06/14/delta-function-lattice
<p>I was messing around with some simple problems, and found this simple but illustrative problem. It starts you off in basic quantum mechanics and introduces concepts in a very straightforward way to both get to a more condensed matter perspective while even showing some interesting effects that have experimental consequences (energy bands and band gaps opening).</p>
<p>We look at the relatively simple problem<sup id="fnref:1"><a href="#fn:1" class="footnote">1</a></sup> of finding the energy spectrum for a particle in the lattice potential</p>
<script type="math/tex; mode=display">U(x) = \alpha\sum_{n=-\infty}^\infty \delta(x - n a).</script>
<p>Visualized, it looks like the picture:</p>
<p><img class="displayed" src="/img/Delta-fcn-lattice.png" alt="Delta function lattice." /></p>
<p>The time-independent Schrödinger equation takes the form</p>
<script type="math/tex; mode=display">\left[ - \frac{\partial_x^2}{ 2 m} + U(x) \right] \psi(x) = E \psi(x),</script>
<p>where <script type="math/tex">E</script> is the energy.</p>
<p>Since we can solve the problem between the delta-functions quite simply (<script type="math/tex">U(x) =0</script> there), let us restrict our focus to <script type="math/tex">% <![CDATA[
na < x < (n+1)a %]]></script>. Here, the wave function takes on the form</p>
<script type="math/tex; mode=display">\psi(x) = A_n e^{ik(x-na)} + B_n e^{-ik(x-na)},</script>
<p>where we have <script type="math/tex">k = \sqrt{2m E}</script>. Now, we can find an operator that commutes with the Hamiltonian so that we can diagonlize it to help solve the problem — this will be the operator that translates us by <script type="math/tex">a</script>.</p>
<p>To make this clear, let us abstract things to operators so that we have a momentum operator <script type="math/tex">p</script> and a position operator <script type="math/tex">x</script>, then we have the commutator <script type="math/tex">[ x, p] = i</script>. The operator <script type="math/tex">p</script> commutes with functions of <script type="math/tex">x</script> as though it were a derivative <script type="math/tex">[ p, f( x)] = -i f'( x)</script>, so considering the translation operator <script type="math/tex">e^{i a p }</script>, we can write</p>
<script type="math/tex; mode=display">e^{i a p} U( x) e^{ - i a p} = \sum_{n=0}^\infty \frac1{n!} U^{(n)}( x) a^n = U( x + a),</script>
<p>and since <script type="math/tex">U(x)</script> is periodic in <script type="math/tex">a</script>, we have that <script type="math/tex">e^{i a p} U( x) e^{ - i a p} = U( x)</script>. Thus, the operator <script type="math/tex">T_a = e^{i a p}</script> commutes with the Hamiltonian and we can simulataneously diagonalize both it and the Hamiltonian. We say <script type="math/tex">T_a \lvert \psi\rangle = e^{i a q} \lvert \psi \rangle</script> has <em>quasi-momentum</em> <script type="math/tex">q</script>. It is important to note that this not the same as real momentum which is not a well-defined quantum number in this problem (that needs translation symmetry).</p>
<p>In other words, we can write our eigenfunctions such that <script type="math/tex">\psi(x+a) = e^{i q a} \psi(x)</script>, and this naturally leads us to relate the coefficients for our eigenfunctions above as</p>
<script type="math/tex; mode=display">A_{n-1} = e^{-i q a} A_n, \quad B_{n-1} = e^{-i q a} B_n.</script>
<p>Now, we can apply matching conditions at <script type="math/tex">x = na</script> remembering that our wavefunction should be continuous, but that the delta-function will cause the first derivatives to be discontinuous. The equations for the coefficients are</p>
<script type="math/tex; mode=display">% <![CDATA[
\begin{align*}
A_n + B_n & = e^{i k a} A_{n-1} + e^{-i k a} B_{n-1}, \\
\left( 1 + \frac{2 i m \alpha}{k} \right) A_n - \left( 1 - \frac{2 i m \alpha}k \right) B_n & = e^{i k a} A_{n-1} - e^{-ik a} B_{n-1},
\end{align*} %]]></script>
<p>and if we insert the relation between the coefficients at <script type="math/tex">n-1</script> and <script type="math/tex">n</script>, we get a matrix equation</p>
<script type="math/tex; mode=display">% <![CDATA[
\begin{align*}
\begin{pmatrix}
e^{i q a} - e^{i k a} & e^{i q a} - e^{- i k a} \\
e^{i q a} \left(1 + \tfrac{2 i m \alpha}k \right) - e^{i k a} & - e^{i q a } \left( 1 - \tfrac{2 i m \alpha}k \right) + e^{-ik a}
\end{pmatrix}
\begin{pmatrix}
A_n \\ B_n
\end{pmatrix} = 0
\end{align*}. %]]></script>
<p>This equation has a non-zero solution only if the determinant of the matrix is zero which can be written as</p>
<script type="math/tex; mode=display">\cos q a - f(E) = 0 , \quad f(E) = \cos ka + \frac{m \alpha}{k} \sin ka.</script>
<p>This is an equation which relates the energy to the quasi-momentum. Since <script type="math/tex">\cos q a</script> can only be between -1 and 1, this equation only has a solution when <script type="math/tex">f(E)</script> is between -1 and 1. The oscillatory nature of <script type="math/tex">f(E)</script> means that it should pass in this range multiple (in fact, a countable infinite) number of times.</p>
<p>Armed with this equation, we can use <script type="math/tex">q</script> and an integer to label our energies and we obtain the following energy bands by just solving for <script type="math/tex">E</script> (setting <script type="math/tex">m = 10</script>, <script type="math/tex">a = 1</script>, and <script type="math/tex">\alpha = 0.3</script>)</p>
<p><img class="displayed" src="/img/Bands-delta-fcn-lattice.png" alt="Energy bands in the delta-function lattice." /></p>
<p>The dotted lines in this plot represent the spectrum if there were no delta-function potentials (displaced in energy by <script type="math/tex">\alpha / a</script> for clarity). Notice how the introduction of the delta-functions opens up gaps in this energy spectrum, so that there are some energies that are inaccessible. The gaps actually open up when <script type="math/tex">\lvert f(E)\rvert \geq 1</script> since there is no solution to our equation there. This energy gap for small <script type="math/tex">\alpha</script> just goes like <script type="math/tex">\alpha/a</script>, vanishing as we’d expect when <script type="math/tex">\alpha = 0</script>.</p>
<p>Notice that in this energy spectrum, we see that if <script type="math/tex">q \rightarrow -q</script> we get the same energy.</p>
<p>Additionally, if the energy ever goes negative the solutions turn from plane waves <script type="math/tex">e^{\pm i k (x-na)}</script> into functions localized around the delta functions <script type="math/tex">e^{\pm\kappa(x-na)}</script>. In fact, the wave functions look like this for a <script type="math/tex">q=0</script> state:</p>
<p><img class="displayed" src="/img/Localized-states-delta-fcn-lattice.png" alt="Negative energy localized states in delta-function lattice with alpha less than 0." /></p>
<p>These only appear when <script type="math/tex">% <![CDATA[
\alpha <0 %]]></script>, and are related to the fact that the delta-function potential has a bound state. Additionally, only one band can ever have this state. This is due to the fact that the oscillatory sine and cosine change to their non-oscillatory hyperbolic counterparts. However, these states in the delta-function lattice are spread out throughout the crystal, and can not be said to be “localized” to a specific site — they still all have a definite quasi-momentum.</p>
<p>As with other single particle problems, upon considering the many particle picture, these energy bands get filled up to a set energy level (if we are considering fermions).</p>
<div class="footnotes">
<ol>
<li id="fn:1">
<p>This is problem 2.53 in <a href="http://www.amazon.com/Exploring-Quantum-Mechanics-Collection-Researchers/dp/0199232725"><em>Exploring Quantum Mechanics</em></a> by Galitski, Karnakov, Kogan, and Galitski. <a href="#fnref:1" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>
<p><em>Note: mathematical formulas may not appear correctly in your feed reader. Click through to the original post to see them.</em></p>
Use GmailTeX to compose and view emails with LaTeX2013-05-16T00:00:00+00:00http://jhwilson.com/2013/05/16/gmailtex
<p>I’ve received numerous emails with pseudo-LaTeX in them, and I’ve composed many emails as well. My normal solution is to convert LaTeX to unicode with the helpful Mac application <a href="http://www.svenkreiss.com/UnicodeIt">Unicodeit</a>. However, this method is incomplete and misses some of the more complicated LaTeX.</p>
<p>To address this, there is an extension to gmail called <a href="http://alexeev.org/gmailtex.html">GmailTeX</a> available on Chrome, Firefox, Safari, and Opera (also it has a bookmarklet for any other browser).</p>
<p>If someone sends you an email in pseudo-LaTeX it can try to parse what the math with <strong>simple math</strong>. The resulting output is kind of what you’d get by using Unicodeit. Or, if someone sends you LaTeX inside dollar signs (i.e., $ […] $), then it can just compile that to LaTeX for you with its <strong>rich math</strong> function.</p>
<p>But best of all, when you compose emails and use the <strong>rich math</strong> function, it creates an image of your math hosted on a remote server. They don’t need to have GmailTeX installed unless you decide to send them the code itself.</p>
<p>The best collaborative apps require little to no commitment for collaborators to use, and this is one of those cases. Collaborators will just receive email with LaTeX images without needing to install anything.</p>
<p>The only issue that I’ve found from playing around with this extension is that the receiver may have to flag your email as “trustworthy” and/or allow images from remote servers to be viewed in their email client. Otherwise, they may not see any mathematics. Additionally, as you might have guessed, the emails won’t be viewable in an offline mode. Unless you’re going through these emails on an airplane though, I don’t think that should be too big of an issue.</p>
<p>(h/t Brian Danielak)</p>
<p><em>Note: mathematical formulas may not appear correctly in your feed reader. Click through to the original post to see them.</em></p>
Spin-orbit coupled Hamiltonian2013-04-28T00:00:00+00:00http://jhwilson.com/2013/04/28/rashba-spin-orbit-coupling
<p>For applications in many parts of condensed matter physics and cold atoms physics, we use what is known as the Rashba spin-orbit coupled Hamiltonian. This Hamiltoninan is so-named because it couples momentum <script type="math/tex">\mathbf{p}</script>
to the spin <script type="math/tex">\mathbf{S}=\frac12\sigma</script> where <script type="math/tex">\sigma = (\sigma_x,\sigma_y,\sigma_z)</script> are the Pauli matrices and <script type="math/tex">\mathbf{p}=(p_x,p_y,p_z)</script> is a vector of momentum operators:</p>
<script type="math/tex; mode=display">H = \frac{p^2}{2m} + \alpha (\boldsymbol{\sigma} \times \mathbf{p})\cdot \hat{\mathbf{z}} + \Delta \sigma_z.</script>
<p><script type="math/tex">m</script> is the mass, <script type="math/tex">\alpha</script> is the spin-orbit coupling strength, and <script type="math/tex">\Delta</script> is some Zeeman field (it acts as magnetic field on the spin).</p>
<p>In this post, we go through the calculation of the energy spectrum and eigenvectors – a straight forward exercise in undergraduate linear algebra.</p>
<p>First of all, instead of the normal method of finding eigenvectors, we note that we can rewrite this Hamiltonian in the form</p>
<script type="math/tex; mode=display">H = \frac{p^2}{2m} + \mathbf{b}(p) \cdot \boldsymbol{\sigma}</script>
<p>where <script type="math/tex">\mathbf{b}(p) = (\alpha p_y, -\alpha p_x, \Delta)</script>. Now, <script type="math/tex">\mathbf{b}(p)</script> represents a point on the Bloch sphere, and so we expect the eigenvectors to be parallel and anti-parallel to this vector. The energies in this case are very straight forward and amount to the positive and negative of <script type="math/tex">\lvert\mathbf{b}(p)\rvert</script>:</p>
<script type="math/tex; mode=display">\epsilon_\pm(p) = \frac{p^2}{2m} \pm \sqrt{ \alpha^2 p^2 + \Delta^2}.</script>
<p>With these eigenvalues, it is a straight forward exercise in linear algebra to find the eigenvectors. After a bit of algebra, the eigenvectors of <script type="math/tex">H</script> in terms of the eigenvectors of <script type="math/tex">\sigma_z</script> ( <script type="math/tex">\sigma_z\left\lvert\uparrow\right\rangle = \left\lvert\uparrow\right\rangle</script> and <script type="math/tex">\sigma_z\left\lvert\uparrow\right\rangle = -\left\lvert\uparrow\right\rangle</script> ) are</p>
<script type="math/tex; mode=display">\left\lvert\pm\right\rangle = \frac1{\sqrt2}\left[\sqrt{1 \pm \frac{\Delta}{\sqrt{\Delta^2+\alpha^2 p^2}}}\left\lvert\uparrow\right\rangle + e^{-i\phi} \sqrt{1 \mp \frac{\Delta}{\sqrt{\Delta^2+\alpha^2 p^2}}}\left\lvert\downarrow\right\rangle \right]</script>
<p>where we have defined <script type="math/tex">\phi</script> by <script type="math/tex">p_y+ip_x = p e^{i\phi}</script>. Note that when <script type="math/tex">p_{x,y} \rightarrow -p_{x,y}</script>, the occupations stay the same. However, if we just look at one energy, <script type="math/tex">\epsilon_-(p)</script> the ground state energy, we see that the state we get when <script type="math/tex">p_{x,y} \rightarrow -p_{x,y}</script> is almost orthogonal to the original state.</p>
<p>The energy bands themselves look like this</p>
<p><img class="displayed" src="/img/Energy-splitting-rashba-so.png" alt="Energy bands for a Rashba spin-orbit coupled material" /></p>
<p>where the vertical axis is energy (and for this particular example, <script type="math/tex">m=1</script>, <script type="math/tex">\alpha = 3</script>, and <script type="math/tex">\Delta=2</script>). Interestingly, the introduction of <script type="math/tex">\Delta</script> actually causes the gap to open up – the dotted lines are for when <script type="math/tex">\Delta=0</script>.</p>
<p>Now, if we have a bunch of fermions filling up these energies, if we set the chemical potential to be in the gap, we would find that the only excitations would states that are spin-locked to the momentum.</p>
<p>Many things can be done with this Hamiltonian to interesting effect. It finds its way into <a href="http://arxiv.org/abs/1102.3945">cold atom physics</a> as well as <a href="http://books.google.com/books?hl=en&lr=&id=LQhcSCuzC3IC">condensed matter</a>.</p>
<p><em>Note: mathematical formulas may not appear correctly in your feed reader. Click through to the original post to see them.</em></p>