From b4e7c43408521e6f888af119b432ae79d6c477a0 Mon Sep 17 00:00:00 2001
From: Anton Akhmerov
Date: Wed, 16 Jan 2019 19:02:53 +0000
Subject: [PATCH 01/64] [ci skip] a file for band structures intro

src/w0_background/band_structures.md  10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 src/w0_background/band_structures.md
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
new file mode 100644
index 0000000..db118e4
 /dev/null
+++ b/src/w0_background/band_structures.md
@@ 0,0 +1,10 @@
+```python
+import sys
+sys.path.append('../code')
+from init_mooc_nb import *
+init_notebook()
+```
+
+# A quick review of band structures
+
+
\ No newline at end of file

GitLab
From 7cfc85eb41be7874b8bec8209abb2f26df59584b Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Wed, 16 Jan 2019 20:09:50 +0000
Subject: [PATCH 02/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  8 ++++++++
1 file changed, 8 insertions(+)
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index db118e4..a8a28b2 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 7,4 +7,12 @@ init_notebook()
# A quick review of band structures
+# Quicker intro to quantum mechanics from waves to electrons
+For most of this course, all you would need to know
+quantum mechanics is that particles should really be treated
+as waves. We can always write a wave equation for waves in the form of the famous Schrodinger equation
+$$i\partial_t \Psi = H\Psi,$$
+where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
+
+Just to give you a sense of how a familiar waveequation for a string $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string.
\ No newline at end of file

GitLab
From febd5022ba833436c2b0aeb23b8ce6934a0279b9 Mon Sep 17 00:00:00 2001
From: Anton Akhmerov
Date: Wed, 16 Jan 2019 20:13:12 +0000
Subject: [PATCH 03/64] link the new part at the preface

toc.yml  2 ++
1 file changed, 2 insertions(+)
diff git a/toc.yml b/toc.yml
index e45e241..904eeb4 100644
 a/toc.yml
+++ b/toc.yml
@@ 2,6 +2,8 @@
sections:
 title: "About this course"
location: w0_background/intro
+  title: "Brief review of band structures"
+ location: w0_background/band_structures
 title: "Topology in toy models"
sections:
 title: "Hamiltonians, topology, and symmetry"

GitLab
From 82821336e8aca20a351b69e2e7543e8ddb8069cd Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Wed, 16 Jan 2019 20:16:48 +0000
Subject: [PATCH 04/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  2 +
1 file changed, 1 insertion(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index a8a28b2..d8e911b 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 14,5 +14,5 @@ as waves. We can always write a wave equation for waves in the form of the famou
$$i\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
Just to give you a sense of how a familiar waveequation for a string $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string.
+Just to give you a sense of what a Schrodinger equation might look like let us convert a familiar waveequation for a string to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string.
\ No newline at end of file

GitLab
From d62dc3083cc2179634c64f57b31ad22e45b4133f Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Wed, 16 Jan 2019 20:53:00 +0000
Subject: [PATCH 05/64] added string analogy to Schrodinger equation

src/w0_background/band_structures.md  10 ++++++++
1 file changed, 8 insertions(+), 2 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index d8e911b..59303d5 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 7,12 +7,18 @@ init_notebook()
# A quick review of band structures
# Quicker intro to quantum mechanics from waves to electrons
+## Quicker intro to quantum mechanics from waves to electrons
For most of this course, all you would need to know
quantum mechanics is that particles should really be treated
as waves. We can always write a wave equation for waves in the form of the famous Schrodinger equation
$$i\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
Just to give you a sense of what a Schrodinger equation might look like let us convert a familiar waveequation for a string to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string.
+Just to give you a sense of what a Schrodinger equation might look like let us convert a familiar waveequation for a string to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string. This waveequation is second order in time. Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\inf}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
+$$\partial_t h = c\partial_x h_1$$ and
+$$\partial_t h_1=c\partial_x h.$$
+
+We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0h_1(x,t)\end{array}\right)\partial_x.$$ Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation. But this indeed is the wavefunction for helical Majorana particles that we will encounter later on.
+
+
\ No newline at end of file

GitLab
From fb0633e5db67d40752c996888ec735032b050e10 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Wed, 16 Jan 2019 22:21:29 +0000
Subject: [PATCH 06/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  6 +++++
1 file changed, 5 insertions(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 59303d5..8873406 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 18,7 +18,11 @@ Just to give you a sense of what a Schrodinger equation might look like let us c
$$\partial_t h = c\partial_x h_1$$ and
$$\partial_t h_1=c\partial_x h.$$
We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0h_1(x,t)\end{array}\right)\partial_x.$$ Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation. But this indeed is the wavefunction for helical Majorana particles that we will encounter later on.
+We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0\end{array}\right)\partial_x.$$ Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation. But this indeed is the wavefunction for helical Majorana particles that we will encounter later on.
+
+The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is typically a complex though the Hamiltonian is not a matrix (thankfully):$$H=\frac{\hbar^2}{2m}\partial_x^2 + V(x),$$ where $m$ is the mass of the electron and $V(x)$ is the background potential energy over which the electron is moving.
+
+The main things you should remember about wave equations for electrons is that (a) $\Psi(x,t)$ is complex, (b) H is a Hermitean (clarified later) matrix or operator (c) density of electrons are related to $\Psi(x,t)^2$. The last more subtle point we need to talk about, which has to do with materials containing many electrons, is the \textit{Pauli exclusion principle}. When we have many electrons we have to choose wavefunctions for each electron to occupy. These wavefunctions must be taken to be "orthogonal" (elaborated later).
\ No newline at end of file

GitLab
From 17cfa280be335c9e0a20a235351953cb0ab0dd82 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 17 Jan 2019 19:49:04 +0000
Subject: [PATCH 07/64] Update band_structures.md  testing because of bad
commit

src/w0_background/band_structures.md  4 ++
1 file changed, 2 insertions(+), 2 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 8873406..56f2269 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 11,7 +11,7 @@ init_notebook()
For most of this course, all you would need to know
quantum mechanics is that particles should really be treated
as waves. We can always write a wave equation for waves in the form of the famous Schrodinger equation
$$i\partial_t \Psi = H\Psi,$$
+$$i\hbar\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
Just to give you a sense of what a Schrodinger equation might look like let us convert a familiar waveequation for a string to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string. This waveequation is second order in time. Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\inf}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
@@ 24,5 +24,5 @@ The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is
The main things you should remember about wave equations for electrons is that (a) $\Psi(x,t)$ is complex, (b) H is a Hermitean (clarified later) matrix or operator (c) density of electrons are related to $\Psi(x,t)^2$. The last more subtle point we need to talk about, which has to do with materials containing many electrons, is the \textit{Pauli exclusion principle}. When we have many electrons we have to choose wavefunctions for each electron to occupy. These wavefunctions must be taken to be "orthogonal" (elaborated later).

+Since we will be interested in static properties of electrons in materials for much of our course, it helps to make the simplofying ansatz: $\Psi=e^{i E t/\hbar}\psi$
\ No newline at end of file

GitLab
From bb6c63dd0dafb0f440cccc22cb5870aea8e810e0 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 17 Jan 2019 20:03:06 +0000
Subject: [PATCH 08/64] Update band_structures.md

src/w0_background/band_structures.md  7 ++++++
1 file changed, 6 insertions(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 56f2269..f36880a 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 24,5 +24,10 @@ The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is
The main things you should remember about wave equations for electrons is that (a) $\Psi(x,t)$ is complex, (b) H is a Hermitean (clarified later) matrix or operator (c) density of electrons are related to $\Psi(x,t)^2$. The last more subtle point we need to talk about, which has to do with materials containing many electrons, is the \textit{Pauli exclusion principle}. When we have many electrons we have to choose wavefunctions for each electron to occupy. These wavefunctions must be taken to be "orthogonal" (elaborated later).
Since we will be interested in static properties of electrons in materials for much of our course, it helps to make the simplofying ansatz: $\Psi=e^{i E t/\hbar}\psi$
+Since we will be interested in static properties of electrons in materials for much of our course, it helps to make the simplofying ansatz: $\Psi=e^{i E t/\hbar}\psi$.
+This ansatz simplifies the Schrodinger equation to a timeindependent form:
+$$H\psi=E\psi,$$
+which resembles the eigenvalue problem in linear algebra.
+
+In fact the linear algebra connection goes further. We will often consider electrons in materials within the so=called "tightbinding" approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. We then consider $\psi_a$ to be the components of the wavefunction $\psi$, which then becomes a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$. How these are concretely done will become clearer as the course progresses.
\ No newline at end of file

GitLab
From e08fd985d4db7e5cf677924eab03000b8fb99faf Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 17 Jan 2019 22:14:12 +0000
Subject: [PATCH 09/64] Update band_structures.md

src/w0_background/band_structures.md  12 ++++++++++
1 file changed, 10 insertions(+), 2 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index f36880a..7e44eed 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 29,5 +29,13 @@ This ansatz simplifies the Schrodinger equation to a timeindependent form:
$$H\psi=E\psi,$$
which resembles the eigenvalue problem in linear algebra.
In fact the linear algebra connection goes further. We will often consider electrons in materials within the so=called "tightbinding" approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. We then consider $\psi_a$ to be the components of the wavefunction $\psi$, which then becomes a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$. How these are concretely done will become clearer as the course progresses.

\ No newline at end of file
+In fact, the linear algebra connection goes further. We will often consider electrons in materials within the so=called "tightbinding" approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. We then consider $\psi_a$ to be the components of the wavefunction $\psi$, which then becomes a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$. How these are concretely done will become clearer as the course progresses.
+
+Physicists have a funny but convenient notation for doing linear algebra called the Dirac "braket" notation. In this notation, wavefunctions such as $\psi$ are represented by "kets" i.e. $\psi\rightarrow \psi\rangle$. The components of the wavefunction $\psi_a$ (i.e. the real information content) get represented by the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
+Similarly the Hamiltonian $H$ is elevated to being an operator defined as:$$H=\sum_{ab}H_{ab}a\rangle \langle b.$$ The object $\langle b$ is called a bra and together with the ket it forms a "braket" with the property $\langle b a\rangle=\delta_{ab}$. The Schrodinger equation now looks like $$H\psi\rangle = E\psi\rangle,$$
+which can be checked to be the same equation as the linear algebra form.
+
+Let's now do the simple example of electrons stuck in a triangle of atoms, where each atom is assumed to have one orbital. We label the orbitals on the atoms as $0\rangle,1\rangle,2\rangle$. With this labeling, the "hopping amplitude" $t$ of electrons between orbitals is represented by the Hamiltonian $$H=t(0\rangle \langle 1+1\rangle \langle 2+2\rangle \langle 0)+h.c,$$
+where $h.c.$ stands for Hermitean conjugate, which means that you reverse the ordering of the labels and take a complex conjugate. We can also write the Hamiltonian in matrix form $$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
+You can dump this matrix into Mathematica and it will give you three eigenvectors $\psi^{(n=1,2,3)}_a$ with energy eigenvalues $E^{(n=1,2,3)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$). The corresponding eigenvectors $\psi^{(n=1,2,3)}_a$ are $(1,1,1),(1,\omega,\omega^2),(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
+

GitLab
From c37f334d1a46a6c5e7178169118dfa3ddafe3e00 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Fri, 18 Jan 2019 03:17:34 +0000
Subject: [PATCH 10/64] Update band_structures.md  started discussion of
Bloch's theorem

src/w0_background/band_structures.md  5 +++++
1 file changed, 5 insertions(+)
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 7e44eed..88604f8 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 39,3 +39,8 @@ Let's now do the simple example of electrons stuck in a triangle of atoms, where
where $h.c.$ stands for Hermitean conjugate, which means that you reverse the ordering of the labels and take a complex conjugate. We can also write the Hamiltonian in matrix form $$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
You can dump this matrix into Mathematica and it will give you three eigenvectors $\psi^{(n=1,2,3)}_a$ with energy eigenvalues $E^{(n=1,2,3)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$). The corresponding eigenvectors $\psi^{(n=1,2,3)}_a$ are $(1,1,1),(1,\omega,\omega^2),(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
+## Bloch's theorem for bulk electrons
+
+Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle. We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem. To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal. The defining characteristic of a crystal is that the atomic positions repeat in a periodic manner in space. We call the repeating group of orbitals a "unitcell". Therefore, all orbitals in a crystal can be labeled as a pair $a=(l,n)$, where $l$ is the orbital poisition in the unit cell and $n$ labels the unit cell. For our example of a atomic ring, $l$ wouldn't be needed and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
+
+The Hamiltonian for a crystal has matrix elements that satisfy $H_{(l,n),(l',m)}=H_{(l,nm),(l',0)}$ for all pairs of unitcell $n$ and $m$. Bloch's theorem states that the Schrodinger equation for such Hamiltonians in crystals can be solved by the ansatz: $$\psi_{(l,n)}=e^{i k n}u_l,$$ where $u_l$ is the periodic part of the Bloch function which is identical in each unitcell.

GitLab
From feb9dfb6f84caee219cc0ed38374d219cfe6157b Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Fri, 18 Jan 2019 17:55:17 +0000
Subject: [PATCH 11/64] Update band_structures.md

src/w0_background/band_structures.md  17 +++++++++++++++
1 file changed, 15 insertions(+), 2 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 88604f8..9de8045 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 22,7 +22,13 @@ We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\
The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is typically a complex though the Hamiltonian is not a matrix (thankfully):$$H=\frac{\hbar^2}{2m}\partial_x^2 + V(x),$$ where $m$ is the mass of the electron and $V(x)$ is the background potential energy over which the electron is moving.
The main things you should remember about wave equations for electrons is that (a) $\Psi(x,t)$ is complex, (b) H is a Hermitean (clarified later) matrix or operator (c) density of electrons are related to $\Psi(x,t)^2$. The last more subtle point we need to talk about, which has to do with materials containing many electrons, is the \textit{Pauli exclusion principle}. When we have many electrons we have to choose wavefunctions for each electron to occupy. These wavefunctions must be taken to be "orthogonal" (elaborated later).
+The main things you should remember about wave equations for electrons is that
+>*(a) $\Psi(x,t)$ is complex,
+*(b) H is a Hermitean (clarified later) matrix or operator
+*(c) density of electrons are related to $\Psi(x,t)^2$.
+*(d) If N is the number of electrons, one needs to occupy $N$ orthogonal wavefunctions to occupy.
+
+The last point is more subtle and is called the \textit{Pauli exclusion principle}. We will elaborate on orthogonality later.
Since we will be interested in static properties of electrons in materials for much of our course, it helps to make the simplofying ansatz: $\Psi=e^{i E t/\hbar}\psi$.
This ansatz simplifies the Schrodinger equation to a timeindependent form:
@@ 43,4 +49,11 @@ You can dump this matrix into Mathematica and it will give you three eigenvector
Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle. We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem. To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal. The defining characteristic of a crystal is that the atomic positions repeat in a periodic manner in space. We call the repeating group of orbitals a "unitcell". Therefore, all orbitals in a crystal can be labeled as a pair $a=(l,n)$, where $l$ is the orbital poisition in the unit cell and $n$ labels the unit cell. For our example of a atomic ring, $l$ wouldn't be needed and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
The Hamiltonian for a crystal has matrix elements that satisfy $H_{(l,n),(l',m)}=H_{(l,nm),(l',0)}$ for all pairs of unitcell $n$ and $m$. Bloch's theorem states that the Schrodinger equation for such Hamiltonians in crystals can be solved by the ansatz: $$\psi_{(l,n)}=e^{i k n}u_l,$$ where $u_l$ is the periodic part of the Bloch function which is identical in each unitcell.
+The Hamiltonian for a crystal has matrix elements that satisfy $H_{(l,n),(l',m)}=H_{(l,nm),(l',0)}$ for all pairs of unitcell $n$ and $m$.
+> Bloch's theorem states that the Schrodinger equation for such Hamiltonians in crystals can be solved by the ansatz: $$\psi_{(l,n)}=e^{i k n}u_l,$$
+
+where $u_l$ is the periodic part of the Bloch function which is identical in each unitcell.
+You can then substitute this ansatz into the Schrodinger equation: $\sum_{l'm}H_{(l,n),(l',m)}u_{l'}e^{i k m}=E_k e^{i k n}u_{l}$.
+>Thus the Bloch functions $u_l^{(k)}$ and energies $E^{(k)}$ are obtained from the eigenvalue equation $$H^{(k)Bloch}u^{(k)}=E^{(k)}u^{(k)},$$
+
+where $$H^{(k)Bloch}_{ll'}=\sum_{m}H_{(l,m),(l',0)}e^{i k m}.$$

GitLab
From 7844986639991c7006c9fbeb1d29feb1ae5c4c48 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Fri, 18 Jan 2019 19:03:08 +0000
Subject: [PATCH 12/64] Update band_structures.md

src/w0_background/band_structures.md  8 +++++
1 file changed, 5 insertions(+), 3 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 9de8045..834f936 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 52,8 +52,10 @@ Actually, we didn't really need Mathematica to solve the problem of an electron
The Hamiltonian for a crystal has matrix elements that satisfy $H_{(l,n),(l',m)}=H_{(l,nm),(l',0)}$ for all pairs of unitcell $n$ and $m$.
> Bloch's theorem states that the Schrodinger equation for such Hamiltonians in crystals can be solved by the ansatz: $$\psi_{(l,n)}=e^{i k n}u_l,$$
where $u_l$ is the periodic part of the Bloch function which is identical in each unitcell.
You can then substitute this ansatz into the Schrodinger equation: $\sum_{l'm}H_{(l,n),(l',m)}u_{l'}e^{i k m}=E_k e^{i k n}u_{l}$.
>Thus the Bloch functions $u_l^{(k)}$ and energies $E^{(k)}$ are obtained from the eigenvalue equation $$H^{(k)Bloch}u^{(k)}=E^{(k)}u^{(k)},$$
+where $u_l$ is the periodic part of the Bloch function which is identical in each unitcell. The parameter $k$ is called crystal momentum and is quite analogous to momentum
+except that it is confined in the range $k\in [\pi,\pi]$ which is referred to as the \textit{Brillouin Zone}.
+You can now substitute this ansatz into the Schrodinger equation: $\sum_{l'm}H_{(l,n),(l',m)}u_{l'}e^{i k m}=E_k e^{i k n}u_{l}$.
+>Thus the Bloch functions $u_l^{(k)}$ and energies $E^{(k)}$ are obtained from the eigenvalue equation (socalled Bloch equation) $$H^{(k)Bloch}u^{(k)}=E^{(k)}u^{(k)},$$
where $$H^{(k)Bloch}_{ll'}=\sum_{m}H_{(l,m),(l',0)}e^{i k m}.$$
+The Bloch equation written above is an eigenvalue problem at any momentum $k$. The resulting eigenvalues $E^{(n,k)}$ consitute the bandstructure of a material, where the eigenvalue label $n$ is also called a band index.
\ No newline at end of file

GitLab
From e15a1ed94cafb4386f6156c807c4945e4851630a Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Fri, 18 Jan 2019 20:28:10 +0000
Subject: [PATCH 13/64] Update band_structures.md

src/w0_background/band_structures.md  19 ++++++++++++
1 file changed, 12 insertions(+), 7 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 834f936..ff7a3dd 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 23,10 +23,11 @@ We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\
The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is typically a complex though the Hamiltonian is not a matrix (thankfully):$$H=\frac{\hbar^2}{2m}\partial_x^2 + V(x),$$ where $m$ is the mass of the electron and $V(x)$ is the background potential energy over which the electron is moving.
The main things you should remember about wave equations for electrons is that
>*(a) $\Psi(x,t)$ is complex,
*(b) H is a Hermitean (clarified later) matrix or operator
*(c) density of electrons are related to $\Psi(x,t)^2$.
*(d) If N is the number of electrons, one needs to occupy $N$ orthogonal wavefunctions to occupy.
+
+* (a) $\Psi(x,t)$ is complex,
+* (b) H is a Hermitean (clarified later) matrix or operator
+* (c) density of electrons are related to $\Psi(x,t)^2$.
+* (d) If N is the number of electrons, one needs to occupy $N$ orthogonal wavefunctions to occupy.
The last point is more subtle and is called the \textit{Pauli exclusion principle}. We will elaborate on orthogonality later.
@@ 47,15 +48,19 @@ You can dump this matrix into Mathematica and it will give you three eigenvector
## Bloch's theorem for bulk electrons
Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle. We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem. To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal. The defining characteristic of a crystal is that the atomic positions repeat in a periodic manner in space. We call the repeating group of orbitals a "unitcell". Therefore, all orbitals in a crystal can be labeled as a pair $a=(l,n)$, where $l$ is the orbital poisition in the unit cell and $n$ labels the unit cell. For our example of a atomic ring, $l$ wouldn't be needed and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
+Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle. We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem. To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal. The defining characteristic of a crystal is that the atomic positions repeat in a periodic manner in space. We call the repeating group of orbitals a **unitcell**. Therefore, all orbitals in a crystal can be labeled as a pair $a=(l,n)$, where $l$ is the orbital poisition in the unit cell and $n$ labels the unit cell. For our example of a atomic ring, $l$ wouldn't be needed and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
The Hamiltonian for a crystal has matrix elements that satisfy $H_{(l,n),(l',m)}=H_{(l,nm),(l',0)}$ for all pairs of unitcell $n$ and $m$.
> Bloch's theorem states that the Schrodinger equation for such Hamiltonians in crystals can be solved by the ansatz: $$\psi_{(l,n)}=e^{i k n}u_l,$$
where $u_l$ is the periodic part of the Bloch function which is identical in each unitcell. The parameter $k$ is called crystal momentum and is quite analogous to momentum
except that it is confined in the range $k\in [\pi,\pi]$ which is referred to as the \textit{Brillouin Zone}.
+except that it is confined in the range $k\in [\pi,\pi]$ which is referred to as the **Brillouin Zone**.
You can now substitute this ansatz into the Schrodinger equation: $\sum_{l'm}H_{(l,n),(l',m)}u_{l'}e^{i k m}=E_k e^{i k n}u_{l}$.
>Thus the Bloch functions $u_l^{(k)}$ and energies $E^{(k)}$ are obtained from the eigenvalue equation (socalled Bloch equation) $$H^{(k)Bloch}u^{(k)}=E^{(k)}u^{(k)},$$
where $$H^{(k)Bloch}_{ll'}=\sum_{m}H_{(l,m),(l',0)}e^{i k m}.$$
The Bloch equation written above is an eigenvalue problem at any momentum $k$. The resulting eigenvalues $E^{(n,k)}$ consitute the bandstructure of a material, where the eigenvalue label $n$ is also called a band index.
\ No newline at end of file
+The Bloch equation written above is an eigenvalue problem at any momentum $k$. The resulting eigenvalues $E^{(n,k)}$ consitute the bandstructure of a material, where the eigenvalue label $n$ is also called a band index.
+
+### SuSchriefferHeeger as an example
+
+Let us now work through an example.
\ No newline at end of file

GitLab
From bed640bc987d8874071d2b4ca19677f100423969 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Fri, 18 Jan 2019 21:49:34 +0000
Subject: [PATCH 14/64] Update band_structures.md

src/w0_background/band_structures.md  4 ++
1 file changed, 2 insertions(+), 2 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index ff7a3dd..971b50d 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 61,6 +61,6 @@ You can now substitute this ansatz into the Schrodinger equation: $\sum_{l'm}H_{
where $$H^{(k)Bloch}_{ll'}=\sum_{m}H_{(l,m),(l',0)}e^{i k m}.$$
The Bloch equation written above is an eigenvalue problem at any momentum $k$. The resulting eigenvalues $E^{(n,k)}$ consitute the bandstructure of a material, where the eigenvalue label $n$ is also called a band index.
### SuSchriefferHeeger as an example
+### Example: SuSchriefferHeeger model
Let us now work through an example.
\ No newline at end of file
+Let us now work through an example. The SuSchri
\ No newline at end of file

GitLab
From ab9028ea60c16bd9ea85a19fc69ef090f62899a9 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Fri, 18 Jan 2019 21:58:32 +0000
Subject: [PATCH 15/64] Update band_structures.md

src/w0_background/band_structures.md  2 +
1 file changed, 1 insertion(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 971b50d..9925c06 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 63,4 +63,4 @@ The Bloch equation written above is an eigenvalue problem at any momentum $k$. T
### Example: SuSchriefferHeeger model
Let us now work through an example. The SuSchri
\ No newline at end of file
+Let us now work through an example. The SuSchriefferHeeger model is the simplest model for polyacetylene, which to a physicist can be thought of as a chain of atoms with one orbital per atom. However, the hopping strength alternates (corresponding to the alternating bondlength ) between $t_1$ and $t_2$.
\ No newline at end of file

GitLab
From 2c81bf2aae95bc4ca8e8f7b717f764273b7b56f8 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Sat, 19 Jan 2019 19:58:47 +0000
Subject: [PATCH 16/64] Update band_structures.md

src/w0_background/band_structures.md  10 +++++++++
1 file changed, 9 insertions(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 9925c06..313a3f7 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 63,4 +63,12 @@ The Bloch equation written above is an eigenvalue problem at any momentum $k$. T
### Example: SuSchriefferHeeger model
Let us now work through an example. The SuSchriefferHeeger model is the simplest model for polyacetylene, which to a physicist can be thought of as a chain of atoms with one orbital per atom. However, the hopping strength alternates (corresponding to the alternating bondlength ) between $t_1$ and $t_2$.
\ No newline at end of file
+Let us now work through an example. The SuSchriefferHeeger (SSH) model is the simplest model for polyacetylene, which to a physicist can be thought of as a chain of atoms with one orbital per atom. However, the hopping strength alternates (corresponding to the alternating bondlength ) between $t_1$ and $t_2$. Ususally you could assume that since each orbital has one atom there is only one atom per unit cell. But this would mean all the atoms are identical. On the other hand, in polyacetylene, half the atoms are on the right end of a short bond and half of them are on the left.
+> Thus there are two kinds of atoms  the former kind we label $R$ and the latter $L$. Thus there are two orbitals per unit cell that we label $L,n\rangle$ and $R,n\rangle$ with $n$ being the unitcell label.
+
+The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,n\rangle\langle L,n)+t_2(L,n\rangle\langle R,n1+R,n1\rangle\langle L,n)\}.$ This Hamiltonian is clearly periodic with shift of $n$ and the nonzero matrix elements of the Hamiltonian can be written as $H_{(L,0),(R,0)}=H_{(R,0),(L,0)}=t_1$ and $H_{(L,1),(R,0)}=H_{(R,1),(L,0)}=t_2$.
+>The $2\times 2$ Bloch Hamiltonian is then written as $$H^{(k,Bloch)}_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
+
+The above Bloch Hamiltonian is a $2\times 2$ Hamiltonian at each $k$. We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, E^{(k,+)} goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
+> Therefore, as $k$ varies no energy eigenvalue $E^{k,\pm}$ ever enters the range $(t_1t_2)$ to $t_1t_2$. This is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
+

GitLab
From a46b16037049530c3fa661b27e02116579503923 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Sat, 19 Jan 2019 20:36:13 +0000
Subject: [PATCH 17/64] Update band_structures.md

src/w0_background/band_structures.md  2 ++
1 file changed, 2 insertions(+)
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 313a3f7..a9c5746 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 72,3 +72,5 @@ The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,
The above Bloch Hamiltonian is a $2\times 2$ Hamiltonian at each $k$. We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, E^{(k,+)} goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
> Therefore, as $k$ varies no energy eigenvalue $E^{k,\pm}$ ever enters the range $(t_1t_2)$ to $t_1t_2$. This is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
+This notion of an insulator will be rather important in our course. So let us dewell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$. This means that $k$ is allowed $N$ discrete values separated by $2\pi/N$ spanning the range $[\pi,\pi]$. Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{(k,)}$ with ane electron at each $k$ leaving the upper state empty. This describes a state with $N$ electrons. Furthermore, we can see that to excite the system one would need to transfer an electron from a negative energy state to a positive energy state that would cost at least $2(t_1t_2)$ in energy.
+> Such a gapped state with a fixed number of electrons cannot respond to an applied voltage and as such must be an insulator. This insulator is rather easy to understand in the $t_2=0$ limit and corresponds to the double bonds in the polyacetylene chain being occupied by localized electrons.
\ No newline at end of file

GitLab
From 057579dc45f3298eb7049ffc172c7d25a06340a8 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Sun, 20 Jan 2019 03:56:19 +0000
Subject: [PATCH 18/64] Update band_structures.md

src/w0_background/band_structures.md  8 +++++++
1 file changed, 7 insertions(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index a9c5746..e2839eb 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 73,4 +73,10 @@ The above Bloch Hamiltonian is a $2\times 2$ Hamiltonian at each $k$. We can cal
> Therefore, as $k$ varies no energy eigenvalue $E^{k,\pm}$ ever enters the range $(t_1t_2)$ to $t_1t_2$. This is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
This notion of an insulator will be rather important in our course. So let us dewell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$. This means that $k$ is allowed $N$ discrete values separated by $2\pi/N$ spanning the range $[\pi,\pi]$. Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{(k,)}$ with ane electron at each $k$ leaving the upper state empty. This describes a state with $N$ electrons. Furthermore, we can see that to excite the system one would need to transfer an electron from a negative energy state to a positive energy state that would cost at least $2(t_1t_2)$ in energy.
> Such a gapped state with a fixed number of electrons cannot respond to an applied voltage and as such must be an insulator. This insulator is rather easy to understand in the $t_2=0$ limit and corresponds to the double bonds in the polyacetylene chain being occupied by localized electrons.
\ No newline at end of file
+> Such a gapped state with a fixed number of electrons cannot respond to an applied voltage and as such must be an insulator.
+
+This insulator is rather easy to understand in the $t_2=0$ limit and corresponds to the double bonds in the polyacetylene chain being occupied by localized electrons.
+
+## k.p perturbation theory
+
+Finally let us now consider the effect of smoothness of $H^{k,Bloch}$ as a function of $k$.
\ No newline at end of file

GitLab
From 048b9d0921f12e6e9f9bff452b4c93cee67c88fb Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Mon, 21 Jan 2019 03:43:00 +0000
Subject: [PATCH 19/64] Update band_structures.md

src/w0_background/band_structures.md  11 +++++++
1 file changed, 7 insertions(+), 4 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index e2839eb..fb31360 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 67,10 +67,10 @@ Let us now work through an example. The SuSchriefferHeeger (SSH) model is the
> Thus there are two kinds of atoms  the former kind we label $R$ and the latter $L$. Thus there are two orbitals per unit cell that we label $L,n\rangle$ and $R,n\rangle$ with $n$ being the unitcell label.
The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,n\rangle\langle L,n)+t_2(L,n\rangle\langle R,n1+R,n1\rangle\langle L,n)\}.$ This Hamiltonian is clearly periodic with shift of $n$ and the nonzero matrix elements of the Hamiltonian can be written as $H_{(L,0),(R,0)}=H_{(R,0),(L,0)}=t_1$ and $H_{(L,1),(R,0)}=H_{(R,1),(L,0)}=t_2$.
>The $2\times 2$ Bloch Hamiltonian is then written as $$H^{(k,Bloch)}_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
+>The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H^{(k,Bloch)}_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
The above Bloch Hamiltonian is a $2\times 2$ Hamiltonian at each $k$. We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, E^{(k,+)} goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
> Therefore, as $k$ varies no energy eigenvalue $E^{k,\pm}$ ever enters the range $(t_1t_2)$ to $t_1t_2$. This is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
+We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, E^{(k,+)} goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
+> As $k$ varies no energy eigenvalue $E^{k,\pm}$ ever enters the range $(t_1t_2)$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
This notion of an insulator will be rather important in our course. So let us dewell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$. This means that $k$ is allowed $N$ discrete values separated by $2\pi/N$ spanning the range $[\pi,\pi]$. Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{(k,)}$ with ane electron at each $k$ leaving the upper state empty. This describes a state with $N$ electrons. Furthermore, we can see that to excite the system one would need to transfer an electron from a negative energy state to a positive energy state that would cost at least $2(t_1t_2)$ in energy.
> Such a gapped state with a fixed number of electrons cannot respond to an applied voltage and as such must be an insulator.
@@ 79,4 +79,7 @@ This insulator is rather easy to understand in the $t_2=0$ limit and corresponds
## k.p perturbation theory
Finally let us now consider the effect of smoothness of $H^{k,Bloch}$ as a function of $k$.
\ No newline at end of file
+Let us now think about how we can use the smoothness of $H^{k,Bloch}$ to predict energies and wavefunctions at finite $k$ from $H^{k=0,Bloch}$ and its derivatives. We start by expanding the Bloch Hamiltonian $H^{k,Bloch}=H^{k=0,Bloch}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$. Using standrad perturbation theory
+> we can conclude that the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)}^\dagger H^{'(k=0,Bloch)} u_n$ and $m_n^{1}=u^{(n)}^\dagger H^{''(k=0,Bloch)} u_n+\sum_{m\neq n}\frac{u^{(n)}^\dagger H^{'(k=0,Bloch)} u_n^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
+
+where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $H^{(k=0,Bloch)}$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(k=0,n)}E^{(k=0,m)}$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{(k,)}\simeq (t_1t_2)+\frac{t_2^2}{(t_1t_2)}k^2.$
\ No newline at end of file

GitLab
From a573a5b688492e501a5f630aa73f1db09211168d Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Mon, 21 Jan 2019 16:38:24 +0000
Subject: [PATCH 20/64] cleaned up some typos

src/w0_background/band_structures.md  20 ++++++++++
1 file changed, 10 insertions(+), 10 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index fb31360..2bb0ea4 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 8,13 +8,13 @@ init_notebook()
# A quick review of band structures
## Quicker intro to quantum mechanics from waves to electrons
For most of this course, all you would need to know
+For most of this course, all you would need to know about
quantum mechanics is that particles should really be treated
as waves. We can always write a wave equation for waves in the form of the famous Schrodinger equation
+as waves. The equation for any wave can be recast in to the form of the famous Schrodinger equation
$$i\hbar\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
Just to give you a sense of what a Schrodinger equation might look like let us convert a familiar waveequation for a string to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string. This waveequation is second order in time. Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\inf}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
+Just to give you a sense of what a Schrodinger equation actually looks like let us convert a familiar waveequation for a string to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string. This waveequation is second order in time. Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\inf}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
$$\partial_t h = c\partial_x h_1$$ and
$$\partial_t h_1=c\partial_x h.$$
@@ 24,19 +24,19 @@ The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is
The main things you should remember about wave equations for electrons is that
* (a) $\Psi(x,t)$ is complex,
* (b) H is a Hermitean (clarified later) matrix or operator
* (c) density of electrons are related to $\Psi(x,t)^2$.
* (d) If N is the number of electrons, one needs to occupy $N$ orthogonal wavefunctions to occupy.
+* $\Psi(x,t)$ is complex,
+* H is a Hermitean (clarified later) matrix or operator
+* density of electrons are related to $\Psi(x,t)^2$.
+* If N is the number of electrons, one needs to occupy $N$ orthogonal wavefunctions to occupy.
The last point is more subtle and is called the \textit{Pauli exclusion principle}. We will elaborate on orthogonality later.
+The last point is more subtle and is called the ** Pauli exclusion principle **. We will elaborate on orthogonality later.
Since we will be interested in static properties of electrons in materials for much of our course, it helps to make the simplofying ansatz: $\Psi=e^{i E t/\hbar}\psi$.
+Since we will be interested in static properties of electrons in materials for much of our course, it helps to make the simplifying ansatz: $\Psi=e^{i E t/\hbar}\psi$.
This ansatz simplifies the Schrodinger equation to a timeindependent form:
$$H\psi=E\psi,$$
which resembles the eigenvalue problem in linear algebra.
In fact, the linear algebra connection goes further. We will often consider electrons in materials within the so=called "tightbinding" approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. We then consider $\psi_a$ to be the components of the wavefunction $\psi$, which then becomes a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$. How these are concretely done will become clearer as the course progresses.
+In fact, the linear algebra connection goes further. We will often consider electrons in materials within the socalled "tightbinding" approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. We then consider $\psi_a$ to be the components of the wavefunction $\psi$, which then becomes a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$. How these are concretely done will become clearer as the course progresses.
Physicists have a funny but convenient notation for doing linear algebra called the Dirac "braket" notation. In this notation, wavefunctions such as $\psi$ are represented by "kets" i.e. $\psi\rightarrow \psi\rangle$. The components of the wavefunction $\psi_a$ (i.e. the real information content) get represented by the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
Similarly the Hamiltonian $H$ is elevated to being an operator defined as:$$H=\sum_{ab}H_{ab}a\rangle \langle b.$$ The object $\langle b$ is called a bra and together with the ket it forms a "braket" with the property $\langle b a\rangle=\delta_{ab}$. The Schrodinger equation now looks like $$H\psi\rangle = E\psi\rangle,$$

GitLab
From e24ba9b749e5d522f8c20c48097e2c7220d3dfb3 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Mon, 21 Jan 2019 18:42:47 +0000
Subject: [PATCH 21/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  2 +
1 file changed, 1 insertion(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 2bb0ea4..c7b2c0c 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 29,7 +29,7 @@ The main things you should remember about wave equations for electrons is that
* density of electrons are related to $\Psi(x,t)^2$.
* If N is the number of electrons, one needs to occupy $N$ orthogonal wavefunctions to occupy.
The last point is more subtle and is called the ** Pauli exclusion principle **. We will elaborate on orthogonality later.
+The last point is more subtle and is called the **Pauli exclusion principle**. We will elaborate on orthogonality later.
Since we will be interested in static properties of electrons in materials for much of our course, it helps to make the simplifying ansatz: $\Psi=e^{i E t/\hbar}\psi$.
This ansatz simplifies the Schrodinger equation to a timeindependent form:

GitLab
From 5802a0d42e0e3b2d762a98a9d4586daea48da767 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Mon, 21 Jan 2019 19:49:42 +0000
Subject: [PATCH 22/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  11 +++++++
1 file changed, 7 insertions(+), 4 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index c7b2c0c..742a99c 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 36,9 +36,12 @@ This ansatz simplifies the Schrodinger equation to a timeindependent form:
$$H\psi=E\psi,$$
which resembles the eigenvalue problem in linear algebra.
In fact, the linear algebra connection goes further. We will often consider electrons in materials within the socalled "tightbinding" approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. We then consider $\psi_a$ to be the components of the wavefunction $\psi$, which then becomes a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$. How these are concretely done will become clearer as the course progresses.
+In fact, the good news for those of you familiar with linear algebra is that most of what we talk about is ultimately linear algebra. To model materials, We will often consider electrons within the socalled **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. We then consider $\psi_a$ to be the components of the wavefunction $\psi$, which then becomes a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$.
+> A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are: (a) if $H$ is an $N\times N$ matrix, the eigenvalue index $n$ goes from $n=1,\dots,N$. (b) $H is **Hermitean** i.e. $H_{ab}=H_{ba}^*$. (c) Eigenstates are **orthogonal** i.e. $\psi^\dagger_n \psi_m=0$ for $m\neq n$.
Physicists have a funny but convenient notation for doing linear algebra called the Dirac "braket" notation. In this notation, wavefunctions such as $\psi$ are represented by "kets" i.e. $\psi\rightarrow \psi\rangle$. The components of the wavefunction $\psi_a$ (i.e. the real information content) get represented by the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
+How this math is related to material will become clearer shortly.
+
+Physicists have a funny but convenient notation for doing linear algebra called the Dirac **braket** notation. In this notation, wavefunctions such as $\psi$ are represented by "kets" i.e. $\psi\rightarrow \psi\rangle$. The components of the wavefunction $\psi_a$ (i.e. the real information content) get represented by the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
Similarly the Hamiltonian $H$ is elevated to being an operator defined as:$$H=\sum_{ab}H_{ab}a\rangle \langle b.$$ The object $\langle b$ is called a bra and together with the ket it forms a "braket" with the property $\langle b a\rangle=\delta_{ab}$. The Schrodinger equation now looks like $$H\psi\rangle = E\psi\rangle,$$
which can be checked to be the same equation as the linear algebra form.
@@ 56,7 +59,7 @@ The Hamiltonian for a crystal has matrix elements that satisfy $H_{(l,n),(l',m)}
where $u_l$ is the periodic part of the Bloch function which is identical in each unitcell. The parameter $k$ is called crystal momentum and is quite analogous to momentum
except that it is confined in the range $k\in [\pi,\pi]$ which is referred to as the **Brillouin Zone**.
You can now substitute this ansatz into the Schrodinger equation: $\sum_{l'm}H_{(l,n),(l',m)}u_{l'}e^{i k m}=E_k e^{i k n}u_{l}$.
>Thus the Bloch functions $u_l^{(k)}$ and energies $E^{(k)}$ are obtained from the eigenvalue equation (socalled Bloch equation) $$H^{(k)Bloch}u^{(k)}=E^{(k)}u^{(k)},$$
+> Thus the Bloch functions $u_l^{(k)}$ and energies $E^{(k)}$ are obtained from the eigenvalue equation (socalled Bloch equation) $$H^{(k)Bloch}u^{(k)}=E^{(k)}u^{(k)},$$
where $$H^{(k)Bloch}_{ll'}=\sum_{m}H_{(l,m),(l',0)}e^{i k m}.$$
The Bloch equation written above is an eigenvalue problem at any momentum $k$. The resulting eigenvalues $E^{(n,k)}$ consitute the bandstructure of a material, where the eigenvalue label $n$ is also called a band index.
@@ 80,6 +83,6 @@ This insulator is rather easy to understand in the $t_2=0$ limit and corresponds
## k.p perturbation theory
Let us now think about how we can use the smoothness of $H^{k,Bloch}$ to predict energies and wavefunctions at finite $k$ from $H^{k=0,Bloch}$ and its derivatives. We start by expanding the Bloch Hamiltonian $H^{k,Bloch}=H^{k=0,Bloch}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$. Using standrad perturbation theory
> we can conclude that the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)}^\dagger H^{'(k=0,Bloch)} u_n$ and $m_n^{1}=u^{(n)}^\dagger H^{''(k=0,Bloch)} u_n+\sum_{m\neq n}\frac{u^{(n)}^\dagger H^{'(k=0,Bloch)} u_n^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
+> we can conclude that the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)}^\dagger H^{'(k=0,Bloch)} u_n$ and $m_n^{1}=u^{(n)}^\dagger H^{''(k=0,Bloch)} u_n+\sum_{m\neq n}\frac{u^{(n)}^\dagger H^{'(k=0,Bloch)} u_n^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $H^{(k=0,Bloch)}$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(k=0,n)}E^{(k=0,m)}$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{(k,)}\simeq (t_1t_2)+\frac{t_2^2}{(t_1t_2)}k^2.$
\ No newline at end of file

GitLab
From 9f08ecd30ed86a352a56cf5f51a1a2c88bff645f Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Mon, 21 Jan 2019 21:51:23 +0000
Subject: [PATCH 23/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  13 +++++++
1 file changed, 7 insertions(+), 6 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 742a99c..ca9c22d 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 37,21 +37,22 @@ $$H\psi=E\psi,$$
which resembles the eigenvalue problem in linear algebra.
In fact, the good news for those of you familiar with linear algebra is that most of what we talk about is ultimately linear algebra. To model materials, We will often consider electrons within the socalled **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. We then consider $\psi_a$ to be the components of the wavefunction $\psi$, which then becomes a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$.
> A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are: (a) if $H$ is an $N\times N$ matrix, the eigenvalue index $n$ goes from $n=1,\dots,N$. (b) $H is **Hermitean** i.e. $H_{ab}=H_{ba}^*$. (c) Eigenstates are **orthogonal** i.e. $\psi^\dagger_n \psi_m=0$ for $m\neq n$.
+> A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are: (a) if $H$ is an $N\times N$ matrix, the eigenvalue index $n$ goes from $n=1,\dots,N$. (b) $H$ is **Hermitean** i.e. $H_{ab}=H_{ba}^*$. (c) Eigenstates are **orthogonal** i.e. $\psi^\dagger_n \psi_m=0$ for $m\neq n$.
How this math is related to material will become clearer shortly.
Physicists have a funny but convenient notation for doing linear algebra called the Dirac **braket** notation. In this notation, wavefunctions such as $\psi$ are represented by "kets" i.e. $\psi\rightarrow \psi\rangle$. The components of the wavefunction $\psi_a$ (i.e. the real information content) get represented by the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
Similarly the Hamiltonian $H$ is elevated to being an operator defined as:$$H=\sum_{ab}H_{ab}a\rangle \langle b.$$ The object $\langle b$ is called a bra and together with the ket it forms a "braket" with the property $\langle b a\rangle=\delta_{ab}$. The Schrodinger equation now looks like $$H\psi\rangle = E\psi\rangle,$$
+Physicists have a funny but convenient notation for doing linear algebra called the Dirac **braket** notation. In this notation, wavefunctions such as $\psi$ are represented by **kets** i.e. $\psi\rightarrow \psi\rangle$. We construct The "ket" $\psi\rangle$ from the components of the wavefunction $\psi_a$ using the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
+Similarly, we turn the Hamiltonian $H$ in to an **operator** using the equation :$$H=\sum_{ab}H_{ab}a\rangle \langle b,$$
+where $H_{ab}$ are the elements of the matrix $H$ from the last paragraph. The object $\langle b$ is called a **bra** and together with the ket it forms a "braket" with the property $\langle b a\rangle=\delta_{ab}$. The Schrodinger equation now looks like $$H\psi\rangle = E\psi\rangle,$$
which can be checked to be the same equation as the linear algebra form.
Let's now do the simple example of electrons stuck in a triangle of atoms, where each atom is assumed to have one orbital. We label the orbitals on the atoms as $0\rangle,1\rangle,2\rangle$. With this labeling, the "hopping amplitude" $t$ of electrons between orbitals is represented by the Hamiltonian $$H=t(0\rangle \langle 1+1\rangle \langle 2+2\rangle \langle 0)+h.c,$$
+### Example: Atomic triangle
+Let's now work out the simple example of electrons moving in a triangle of atoms, where each atom is assumed to have one orbital. We label the orbitals on the atoms as $0\rangle,1\rangle,2\rangle$. With this labeling, the **hopping** amplitude $t$ of electrons between orbitals is represented by the Hamiltonian $$H=t(0\rangle \langle 1+1\rangle \langle 2+2\rangle \langle 0)+h.c,$$
where $h.c.$ stands for Hermitean conjugate, which means that you reverse the ordering of the labels and take a complex conjugate. We can also write the Hamiltonian in matrix form $$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
You can dump this matrix into Mathematica and it will give you three eigenvectors $\psi^{(n=1,2,3)}_a$ with energy eigenvalues $E^{(n=1,2,3)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$). The corresponding eigenvectors $\psi^{(n=1,2,3)}_a$ are $(1,1,1),(1,\omega,\omega^2),(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
## Bloch's theorem for bulk electrons
Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle. We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem. To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal. The defining characteristic of a crystal is that the atomic positions repeat in a periodic manner in space. We call the repeating group of orbitals a **unitcell**. Therefore, all orbitals in a crystal can be labeled as a pair $a=(l,n)$, where $l$ is the orbital poisition in the unit cell and $n$ labels the unit cell. For our example of a atomic ring, $l$ wouldn't be needed and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
+Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle. We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem. To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal. The defining property of a crystal is that the atomic positions repeat in a periodic manner in space. We can account for ALL the atoms in the crystal by first identifying a group of orbitals labelled by $l$ called the **unitcell**. Therefore, all orbitals in a crystal can be labeled as a pair $a=(l,n)$, where $l$ is the orbital poisition in the unit cell and $n$ labels the unit cell. For our example of a atomic ring, $l$ wouldn't be needed and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
The Hamiltonian for a crystal has matrix elements that satisfy $H_{(l,n),(l',m)}=H_{(l,nm),(l',0)}$ for all pairs of unitcell $n$ and $m$.
> Bloch's theorem states that the Schrodinger equation for such Hamiltonians in crystals can be solved by the ansatz: $$\psi_{(l,n)}=e^{i k n}u_l,$$

GitLab
From d924fd8af2dc925aca0ef011ec0ddd74e7d22d89 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Mon, 21 Jan 2019 23:42:27 +0000
Subject: [PATCH 24/64] Upload figure for polyacetylene

src/w0_background/figures/Trans_CH_n.svg  63 +++++++++++++++++++++++
1 file changed, 63 insertions(+)
create mode 100644 src/w0_background/figures/Trans_CH_n.svg
diff git a/src/w0_background/figures/Trans_CH_n.svg b/src/w0_background/figures/Trans_CH_n.svg
new file mode 100644
index 0000000..48b5d42
 /dev/null
+++ b/src/w0_background/figures/Trans_CH_n.svg
@@ 0,0 +1,63 @@
+
+

GitLab
From 9bb938a27ca3b7d52e4f4a3970ecbd218f436579 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Mon, 21 Jan 2019 23:46:43 +0000
Subject: [PATCH 25/64] Update band_structures.md

src/w0_background/band_structures.md  5 ++++
1 file changed, 4 insertions(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index ca9c22d..91315c3 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 14,7 +14,8 @@ as waves. The equation for any wave can be recast in to the form of the famous
$$i\hbar\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
Just to give you a sense of what a Schrodinger equation actually looks like let us convert a familiar waveequation for a string to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string. This waveequation is second order in time. Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\inf}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
+In case you haven't been indoctrinated (skip this and the next paragraph if you have) with quantum mechanics , let me show you how to
+convert a familiar waveequation for a string in to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string. This waveequation is second order in time. Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\inf}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
$$\partial_t h = c\partial_x h_1$$ and
$$\partial_t h_1=c\partial_x h.$$
@@ 70,6 +71,8 @@ The Bloch equation written above is an eigenvalue problem at any momentum $k$. T
Let us now work through an example. The SuSchriefferHeeger (SSH) model is the simplest model for polyacetylene, which to a physicist can be thought of as a chain of atoms with one orbital per atom. However, the hopping strength alternates (corresponding to the alternating bondlength ) between $t_1$ and $t_2$. Ususally you could assume that since each orbital has one atom there is only one atom per unit cell. But this would mean all the atoms are identical. On the other hand, in polyacetylene, half the atoms are on the right end of a short bond and half of them are on the left.
> Thus there are two kinds of atoms  the former kind we label $R$ and the latter $L$. Thus there are two orbitals per unit cell that we label $L,n\rangle$ and $R,n\rangle$ with $n$ being the unitcell label.
+![]figures/Trans_CH_n.svg
+
The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,n\rangle\langle L,n)+t_2(L,n\rangle\langle R,n1+R,n1\rangle\langle L,n)\}.$ This Hamiltonian is clearly periodic with shift of $n$ and the nonzero matrix elements of the Hamiltonian can be written as $H_{(L,0),(R,0)}=H_{(R,0),(L,0)}=t_1$ and $H_{(L,1),(R,0)}=H_{(R,1),(L,0)}=t_2$.
>The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H^{(k,Bloch)}_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$

GitLab
From 2cf4c19fadfaad206cdb8b43fae8d5a6c0922d7b Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Tue, 22 Jan 2019 03:48:40 +0000
Subject: [PATCH 26/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  17 +++++++++++++
1 file changed, 13 insertions(+), 4 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 91315c3..1bc05ba 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 14,6 +14,7 @@ as waves. The equation for any wave can be recast in to the form of the famous
$$i\hbar\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
+### Motivating the Schrodinger equation
In case you haven't been indoctrinated (skip this and the next paragraph if you have) with quantum mechanics , let me show you how to
convert a familiar waveequation for a string in to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string. This waveequation is second order in time. Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\inf}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
$$\partial_t h = c\partial_x h_1$$ and
@@ 21,6 +22,7 @@ $$\partial_t h_1=c\partial_x h.$$
We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0\end{array}\right)\partial_x.$$ Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation. But this indeed is the wavefunction for helical Majorana particles that we will encounter later on.
+### Schrodinger equation and wavefunctions
The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is typically a complex though the Hamiltonian is not a matrix (thankfully):$$H=\frac{\hbar^2}{2m}\partial_x^2 + V(x),$$ where $m$ is the mass of the electron and $V(x)$ is the background potential energy over which the electron is moving.
The main things you should remember about wave equations for electrons is that
@@ 53,7 +55,8 @@ You can dump this matrix into Mathematica and it will give you three eigenvector
## Bloch's theorem for bulk electrons
Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle. We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem. To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal. The defining property of a crystal is that the atomic positions repeat in a periodic manner in space. We can account for ALL the atoms in the crystal by first identifying a group of orbitals labelled by $l$ called the **unitcell**. Therefore, all orbitals in a crystal can be labeled as a pair $a=(l,n)$, where $l$ is the orbital poisition in the unit cell and $n$ labels the unit cell. For our example of a atomic ring, $l$ wouldn't be needed and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
+Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle. We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem. To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal. The defining property of a crystal is that the atomic positions repeat in a periodic manner in space. We can account for ALL the atoms in the crystal by first identifying a group of orbitals labelled by $l$ called the **unitcell**. We construct the crystal by translating the unit cell by a discrete set of vectors called lattice vectors to $n$. By combining the unit cell and the lattice vectors, we can construct positions $a=(l,n)$
+of all the orbitals in the crystal. For our example of a atomic ring, $l$ wouldn't be needed and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
The Hamiltonian for a crystal has matrix elements that satisfy $H_{(l,n),(l',m)}=H_{(l,nm),(l',0)}$ for all pairs of unitcell $n$ and $m$.
> Bloch's theorem states that the Schrodinger equation for such Hamiltonians in crystals can be solved by the ansatz: $$\psi_{(l,n)}=e^{i k n}u_l,$$
@@ 86,7 +89,13 @@ This insulator is rather easy to understand in the $t_2=0$ limit and corresponds
## k.p perturbation theory
Let us now think about how we can use the smoothness of $H^{k,Bloch}$ to predict energies and wavefunctions at finite $k$ from $H^{k=0,Bloch}$ and its derivatives. We start by expanding the Bloch Hamiltonian $H^{k,Bloch}=H^{k=0,Bloch}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$. Using standrad perturbation theory
> we can conclude that the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)}^\dagger H^{'(k=0,Bloch)} u_n$ and $m_n^{1}=u^{(n)}^\dagger H^{''(k=0,Bloch)} u_n+\sum_{m\neq n}\frac{u^{(n)}^\dagger H^{'(k=0,Bloch)} u_n^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
+Let us now think about how we can use the smoothness of $H^{k,Bloch}$ to predict energies and wavefunctions at finite $k$ from $H^{k=0,Bloch}$ and its derivatives. We start by expanding the Bloch Hamiltonian $H^{k,Bloch}=H^{k=0,Bloch}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$. Using standard perturbation theory
+> we can conclude that the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)\dagger} H^{'(k=0,Bloch)} u_n$ and $m_n^{1}=u^{(n)\dagger} H^{''(k=0,Bloch)} u_n+\sum_{m\neq n}\frac{u^{(n)}^\dagger H^{'(k=0,Bloch)} u_n^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $H^{(k=0,Bloch)}$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(k=0,n)}E^{(k=0,m)}$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{(k,)}\simeq (t_1t_2)+\frac{t_2^2}{(t_1t_2)}k^2.$
\ No newline at end of file
+where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $H^{(k=0,Bloch)}$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(k=0,n)}E^{(k=0,m)}$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{(k,)}\simeq (t_1t_2)+\frac{t_2^2}{(t_1t_2)}k^2$.
+
+### Discretizing continuum models for materials
+The series expansion of $H^{(k,Bloch)}$ that we discussed in the previous paragraph is often thought of as a continuum description of a material. This is because the series expansion is valid for small $k$ that is much smaller than the Brillouin zone. The continuum Hamiltonian is obtained by replacing $k$ in the series expasion by $\hbar^{1}p$, where $p=i\hbar\partial_x$ is the momentum operator.
+
+A continuum Hamiltonian is often easier to work with analytically then the crystal. On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can represent $k$ as a discrete derivative operator:
+$$k=i\partial_x\approx i\sum_n (n+1\rangle\langle nn\rangle\langle n+1).$$
\ No newline at end of file

GitLab
From 6a44a667ca4af648002d807aed463f88a3d1f7aa Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Tue, 22 Jan 2019 03:54:09 +0000
Subject: [PATCH 27/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  2 +
1 file changed, 1 insertion(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 1bc05ba..148f905 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 74,7 +74,7 @@ The Bloch equation written above is an eigenvalue problem at any momentum $k$. T
Let us now work through an example. The SuSchriefferHeeger (SSH) model is the simplest model for polyacetylene, which to a physicist can be thought of as a chain of atoms with one orbital per atom. However, the hopping strength alternates (corresponding to the alternating bondlength ) between $t_1$ and $t_2$. Ususally you could assume that since each orbital has one atom there is only one atom per unit cell. But this would mean all the atoms are identical. On the other hand, in polyacetylene, half the atoms are on the right end of a short bond and half of them are on the left.
> Thus there are two kinds of atoms  the former kind we label $R$ and the latter $L$. Thus there are two orbitals per unit cell that we label $L,n\rangle$ and $R,n\rangle$ with $n$ being the unitcell label.
![]figures/Trans_CH_n.svg
+![](figures/Trans_CH_n.svg)
The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,n\rangle\langle L,n)+t_2(L,n\rangle\langle R,n1+R,n1\rangle\langle L,n)\}.$ This Hamiltonian is clearly periodic with shift of $n$ and the nonzero matrix elements of the Hamiltonian can be written as $H_{(L,0),(R,0)}=H_{(R,0),(L,0)}=t_1$ and $H_{(L,1),(R,0)}=H_{(R,1),(L,0)}=t_2$.
>The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H^{(k,Bloch)}_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$

GitLab
From eca4c40e449c7c62be7cea269e7fac9f939de613 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Tue, 22 Jan 2019 15:33:35 +0000
Subject: [PATCH 28/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  10 +++++
1 file changed, 5 insertions(+), 5 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 148f905..c9f6cf2 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 87,15 +87,15 @@ This notion of an insulator will be rather important in our course. So let us de
This insulator is rather easy to understand in the $t_2=0$ limit and corresponds to the double bonds in the polyacetylene chain being occupied by localized electrons.
## k.p perturbation theory
+## $k\cdot p$ perturbation theory
Let us now think about how we can use the smoothness of $H^{k,Bloch}$ to predict energies and wavefunctions at finite $k$ from $H^{k=0,Bloch}$ and its derivatives. We start by expanding the Bloch Hamiltonian $H^{k,Bloch}=H^{k=0,Bloch}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$. Using standard perturbation theory
> we can conclude that the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)\dagger} H^{'(k=0,Bloch)} u_n$ and $m_n^{1}=u^{(n)\dagger} H^{''(k=0,Bloch)} u_n+\sum_{m\neq n}\frac{u^{(n)}^\dagger H^{'(k=0,Bloch)} u_n^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
+Let us now think about how we can use the smoothness of $H^{k,Bloch}$ to predict energies and wavefunctions at finite $k$ from $H^{k=0,Bloch}$ and its derivatives. We start by expanding the Bloch Hamiltonian $$H^{(k,Bloch)}=H^{(k=0,Bloch)}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$$. Using standard perturbation theory
+> we can conclude that the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)\dagger} H^{'(k=0,Bloch)} u_n$ and $m_n^{1}=u^{(n)\dagger} H^{''(k=0,Bloch)} u_n+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'(k=0,Bloch)} u_n^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $H^{(k=0,Bloch)}$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(k=0,n)}E^{(k=0,m)}$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{(k,)}\simeq (t_1t_2)+\frac{t_2^2}{(t_1t_2)}k^2$.
### Discretizing continuum models for materials
The series expansion of $H^{(k,Bloch)}$ that we discussed in the previous paragraph is often thought of as a continuum description of a material. This is because the series expansion is valid for small $k$ that is much smaller than the Brillouin zone. The continuum Hamiltonian is obtained by replacing $k$ in the series expasion by $\hbar^{1}p$, where $p=i\hbar\partial_x$ is the momentum operator.
A continuum Hamiltonian is often easier to work with analytically then the crystal. On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can represent $k$ as a discrete derivative operator:
$$k=i\partial_x\approx i\sum_n (n+1\rangle\langle nn\rangle\langle n+1).$$
\ No newline at end of file
+A continuum Hamiltonian is sometimes easier to work with analytically then the crystal lattice of orbitals. On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i\sum_n (n+1\rangle\langle nn\rangle\langle n+1)$$. The label $n$ is discrete  analogous to the unitcell label. In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
+$$H^{(k,Bloch)}\approx \sum_{n,a,b} (H^{(k=0,Bloch)}_{ab}+H^{''(k=0,Bloch)}_{ab})n,a\rangle \langle n,b +i H^{'(k=0,Bloch)}_{ab}(n+1, a\rangle\langle n,bn,a\rangle\langle n+1,b) H^{''(k=0,Bloch)}_{ab}(n+2,a\rangle\langle n,b+n,a\rangle\langle n+2,b).$$
\ No newline at end of file

GitLab
From 167b921b8ee6b980cbb0e4bd0b0c021e835b2d3f Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Tue, 22 Jan 2019 15:51:26 +0000
Subject: [PATCH 29/64] copied bandstructure plot link (from w1)

src/w0_background/band_structures.md  39 ++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index c9f6cf2..4acd446 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 3,6 +3,32 @@ import sys
sys.path.append('../code')
from init_mooc_nb import *
init_notebook()
+
+def bandstructure(mu, delta=1, t=1, Dirac_cone="Hide", show_pf=False):
+ syst = kitaev_chain(None)
+ p = SimpleNamespace(t=t, delta=delta, mu=mu)
+ plot = holoviews.Overlay([spectrum(syst, p, ydim="$E/T$", xdim='$k$')][4:4])
+ h_1 = h_k(syst, p, 0)
+ h_2 = h_k(syst, p, np.pi)
+ pfaffians = [find_pfaffian(h_1), find_pfaffian(h_2)]
+
+ if show_pf:
+ signs = [('>' if pf > 0 else '<') for pf in pfaffians]
+ title = "$\mu = {mu} t$, Pf$(iH_{{k=0}}) {sign1} 0$, Pf$(iH_{{k=\pi}}) {sign2} 0$"
+ title = title.format(mu=mu, sign1=signs[0], sign2=signs[1])
+ plot *= holoviews.VLine(0) * holoviews.VLine(np.pi)
+ else:
+ if pfaffians[0] * pfaffians[1] < 0:
+ title = "$\mu = {mu} t$, topological ".format(mu=mu)
+ else:
+ title = "$\mu = {mu} t$, trivial ".format(mu=mu)
+
+ if Dirac_cone == "Show":
+ ks = np.linspace(np.pi, np.pi)
+ ec = np.sqrt((mu + 2 * t)**2 + 4.0 * (delta * ks)**2)
+ plot *= holoviews.Path((ks, ec), kdims=[dims.k, dims.E_t])(style={'linestyle':'', 'color':'r'})
+ plot *= holoviews.Path((ks, ec), kdims=[dims.k, dims.E_t])(style={'linestyle':'', 'color':'r'})
+ return plot.relabel(title)
```
# A quick review of band structures
@@ 82,6 +108,19 @@ The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,
We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, E^{(k,+)} goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
> As $k$ varies no energy eigenvalue $E^{k,\pm}$ ever enters the range $(t_1t_2)$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
+Let's see what this band structure looks like (**once again move the slider** to change $\mu$):
+
+
+```python
+mus = np.arange(3, 3, 0.25)
+
+plots = {(mu, Dirac_cone): bandstructure(mu, Dirac_cone=Dirac_cone)
+ for mu in mus
+ for Dirac_cone in ["Show", "Hide"]}
+
+holoviews.HoloMap(plots, kdims=[dims.mu_t, "Dirac cone"])
+```
+
This notion of an insulator will be rather important in our course. So let us dewell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$. This means that $k$ is allowed $N$ discrete values separated by $2\pi/N$ spanning the range $[\pi,\pi]$. Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{(k,)}$ with ane electron at each $k$ leaving the upper state empty. This describes a state with $N$ electrons. Furthermore, we can see that to excite the system one would need to transfer an electron from a negative energy state to a positive energy state that would cost at least $2(t_1t_2)$ in energy.
> Such a gapped state with a fixed number of electrons cannot respond to an applied voltage and as such must be an insulator.

GitLab
From 7a2b68a616ef2d5c75222162f77abd793a291ae3 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Tue, 22 Jan 2019 16:17:23 +0000
Subject: [PATCH 30/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  9 ++++++
1 file changed, 6 insertions(+), 3 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 4acd446..aca2d15 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 114,7 +114,7 @@ Let's see what this band structure looks like (**once again move the slider** to
```python
mus = np.arange(3, 3, 0.25)
plots = {(mu, Dirac_cone): bandstructure(mu, Dirac_cone=Dirac_cone)
+plots = {(t1t2, Dirac_cone): bandstructure(mu, Dirac_cone=Dirac_cone)
for mu in mus
for Dirac_cone in ["Show", "Hide"]}
@@ 129,7 +129,7 @@ This insulator is rather easy to understand in the $t_2=0$ limit and corresponds
## $k\cdot p$ perturbation theory
Let us now think about how we can use the smoothness of $H^{k,Bloch}$ to predict energies and wavefunctions at finite $k$ from $H^{k=0,Bloch}$ and its derivatives. We start by expanding the Bloch Hamiltonian $$H^{(k,Bloch)}=H^{(k=0,Bloch)}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$$. Using standard perturbation theory
> we can conclude that the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)\dagger} H^{'(k=0,Bloch)} u_n$ and $m_n^{1}=u^{(n)\dagger} H^{''(k=0,Bloch)} u_n+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'(k=0,Bloch)} u_n^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
+> we can conclude that the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(n)}$ and $m_n^{1}=u^{(n)\dagger} H^{''(k=0,Bloch)} u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(m)}^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $H^{(k=0,Bloch)}$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(k=0,n)}E^{(k=0,m)}$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{(k,)}\simeq (t_1t_2)+\frac{t_2^2}{(t_1t_2)}k^2$.
@@ 137,4 +137,7 @@ where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $
The series expansion of $H^{(k,Bloch)}$ that we discussed in the previous paragraph is often thought of as a continuum description of a material. This is because the series expansion is valid for small $k$ that is much smaller than the Brillouin zone. The continuum Hamiltonian is obtained by replacing $k$ in the series expasion by $\hbar^{1}p$, where $p=i\hbar\partial_x$ is the momentum operator.
A continuum Hamiltonian is sometimes easier to work with analytically then the crystal lattice of orbitals. On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i\sum_n (n+1\rangle\langle nn\rangle\langle n+1)$$. The label $n$ is discrete  analogous to the unitcell label. In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
$$H^{(k,Bloch)}\approx \sum_{n,a,b} (H^{(k=0,Bloch)}_{ab}+H^{''(k=0,Bloch)}_{ab})n,a\rangle \langle n,b +i H^{'(k=0,Bloch)}_{ab}(n+1, a\rangle\langle n,bn,a\rangle\langle n+1,b) H^{''(k=0,Bloch)}_{ab}(n+2,a\rangle\langle n,b+n,a\rangle\langle n+2,b).$$
\ No newline at end of file
+$$H^{(k,Bloch)}\approx \sum_{n,a,b} (H^{(k=0,Bloch)}_{ab}n,a\rangle \langle n,b +i H^{'(k=0,Bloch)}_{ab}(n+1, a\rangle\langle n,bn,a\rangle\langle n+1,b),$$
+where we have dropped the $k^2$ term for compactness. Just in case you needed it in the future $k^2$ would discretize into $k^2=\sum_n (n\rangle \langle n+2+n+2\rangle\langle n2n\rangle \langle n)$.
+
+But wait! Didn't we just go in a circle by starting in a lattice Hamiltonian and coming back to a discrete Hamiltonian? Well, actually, the lattice in the discretized model from the last paragraph has almost nothing to do with the microscopic lattice we started with. More often then not, the lattice constant (i.e. effective size of the unitcell) in the latter representation is orders of magnitude larger than the microscopic lattice constant. So, the discrete model following from $k\cdot p$ is orders of more efficient to work with than tht microscopic model, which is why we will most often work with these. Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model. Practically, we will often not even bother with the microscopic lattice model, but rather start with a continuum $k\cdot p$ model and then discretize it. This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements.
\ No newline at end of file

GitLab
From 28d70212ef20a0c5ca5605230b8fcd62812248a8 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Tue, 22 Jan 2019 19:14:52 +0000
Subject: [PATCH 31/64] added Kitaev chain to address pipeline failuer

src/w0_background/band_structures.md  41 ++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index aca2d15..439322e 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 4,6 +4,47 @@ sys.path.append('../code')
from init_mooc_nb import *
init_notebook()
+%output size=150
+dims = SimpleNamespace(E_t=holoviews.Dimension(r'$E/t$'),
+ mu_t=holoviews.Dimension(r'$\mu/t$'),
+ lambda_=holoviews.Dimension(r'$\lambda$'),
+ x=holoviews.Dimension(r'$x$'),
+ k=holoviews.Dimension(r'$k$'),
+ amplitude=holoviews.Dimension(r'$u^2 + v^2$'))
+
+holoviews.core.dimension.title_format = ''
+
+def kitaev_chain(L=None, periodic=False):
+ lat = kwant.lattice.chain()
+
+ if L is None:
+ syst = kwant.Builder(kwant.TranslationalSymmetry((1,)))
+ L = 1
+ else:
+ syst = kwant.Builder()
+
+ # transformation to antisymmetric basis
+ U = np.array([[1.0, 1.0], [1.j, 1.j]]) / np.sqrt(2)
+
+ def onsite(onsite, p):
+ return  p.mu * U @ pauli.sz @ U.T.conj()
+
+ for x in range(L):
+ syst[lat(x)] = onsite
+
+ def hop(site1, site2, p):
+ return U @ (p.t * pauli.sz  1j * p.delta * pauli.sy) @ U.T.conj()
+
+ syst[kwant.HoppingKind((1,), lat)] = hop
+
+ if periodic:
+ def last_hop(site1, site2, p):
+ return hop(site1, site2, p) * (1  2 * p.lambda_)
+
+ syst[lat(0), lat(L  1)] = last_hop
+ return syst
+
+
def bandstructure(mu, delta=1, t=1, Dirac_cone="Hide", show_pf=False):
syst = kitaev_chain(None)
p = SimpleNamespace(t=t, delta=delta, mu=mu)

GitLab
From ae7f8871e8c9b6b4f09ff4e1d75ed42e37f4533f Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Tue, 22 Jan 2019 19:26:39 +0000
Subject: [PATCH 32/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  17 +++
1 file changed, 3 insertions(+), 14 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 439322e..b8103fd 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 45,24 +45,13 @@ def kitaev_chain(L=None, periodic=False):
return syst
def bandstructure(mu, delta=1, t=1, Dirac_cone="Hide", show_pf=False):
+def bandstructure(mu, delta=1, t=1, Dirac_cone="Hide"):
syst = kitaev_chain(None)
p = SimpleNamespace(t=t, delta=delta, mu=mu)
plot = holoviews.Overlay([spectrum(syst, p, ydim="$E/T$", xdim='$k$')][4:4])
h_1 = h_k(syst, p, 0)
h_2 = h_k(syst, p, np.pi)
 pfaffians = [find_pfaffian(h_1), find_pfaffian(h_2)]

 if show_pf:
 signs = [('>' if pf > 0 else '<') for pf in pfaffians]
 title = "$\mu = {mu} t$, Pf$(iH_{{k=0}}) {sign1} 0$, Pf$(iH_{{k=\pi}}) {sign2} 0$"
 title = title.format(mu=mu, sign1=signs[0], sign2=signs[1])
 plot *= holoviews.VLine(0) * holoviews.VLine(np.pi)
 else:
 if pfaffians[0] * pfaffians[1] < 0:
 title = "$\mu = {mu} t$, topological ".format(mu=mu)
 else:
 title = "$\mu = {mu} t$, trivial ".format(mu=mu)
+
if Dirac_cone == "Show":
ks = np.linspace(np.pi, np.pi)
@@ 177,7 +166,7 @@ where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $
### Discretizing continuum models for materials
The series expansion of $H^{(k,Bloch)}$ that we discussed in the previous paragraph is often thought of as a continuum description of a material. This is because the series expansion is valid for small $k$ that is much smaller than the Brillouin zone. The continuum Hamiltonian is obtained by replacing $k$ in the series expasion by $\hbar^{1}p$, where $p=i\hbar\partial_x$ is the momentum operator.
A continuum Hamiltonian is sometimes easier to work with analytically then the crystal lattice of orbitals. On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i\sum_n (n+1\rangle\langle nn\rangle\langle n+1)$$. The label $n$ is discrete  analogous to the unitcell label. In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
+A continuum Hamiltonian is sometimes easier to work with analytically then the crystal lattice of orbitals. On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i\sum_n (n+1\rangle\langle nn\rangle\langle n+1).$$ The label $n$ is discrete  analogous to the unitcell label. In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
$$H^{(k,Bloch)}\approx \sum_{n,a,b} (H^{(k=0,Bloch)}_{ab}n,a\rangle \langle n,b +i H^{'(k=0,Bloch)}_{ab}(n+1, a\rangle\langle n,bn,a\rangle\langle n+1,b),$$
where we have dropped the $k^2$ term for compactness. Just in case you needed it in the future $k^2$ would discretize into $k^2=\sum_n (n\rangle \langle n+2+n+2\rangle\langle n2n\rangle \langle n)$.

GitLab
From 0d32b53273fb7859186c627d573d346097deacad Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Tue, 22 Jan 2019 19:31:37 +0000
Subject: [PATCH 33/64] added justification for definition of $k$.

src/w0_background/band_structures.md  4 ++
1 file changed, 2 insertions(+), 2 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index b8103fd..8497dec 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 166,8 +166,8 @@ where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $
### Discretizing continuum models for materials
The series expansion of $H^{(k,Bloch)}$ that we discussed in the previous paragraph is often thought of as a continuum description of a material. This is because the series expansion is valid for small $k$ that is much smaller than the Brillouin zone. The continuum Hamiltonian is obtained by replacing $k$ in the series expasion by $\hbar^{1}p$, where $p=i\hbar\partial_x$ is the momentum operator.
A continuum Hamiltonian is sometimes easier to work with analytically then the crystal lattice of orbitals. On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i\sum_n (n+1\rangle\langle nn\rangle\langle n+1).$$ The label $n$ is discrete  analogous to the unitcell label. In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
+A continuum Hamiltonian is sometimes easier to work with analytically then the crystal lattice of orbitals. On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i(2\Lambda)^{1}\sum_n (n+1\rangle\langle nn\rangle\langle n+1).$$ The label $n$ is discrete  analogous to the unitcell label, where the unit cell has size $\Lambda$. To check that this is a representation of the derivative, apply $i k=\partial_x$ to $\psi\rangle$ as $i k\psi\rangle\approx \sum_n \frac{\psi_{n+1}\psi_{n1}}{2\Lambda}n\rangle$. In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
$$H^{(k,Bloch)}\approx \sum_{n,a,b} (H^{(k=0,Bloch)}_{ab}n,a\rangle \langle n,b +i H^{'(k=0,Bloch)}_{ab}(n+1, a\rangle\langle n,bn,a\rangle\langle n+1,b),$$
where we have dropped the $k^2$ term for compactness. Just in case you needed it in the future $k^2$ would discretize into $k^2=\sum_n (n\rangle \langle n+2+n+2\rangle\langle n2n\rangle \langle n)$.
But wait! Didn't we just go in a circle by starting in a lattice Hamiltonian and coming back to a discrete Hamiltonian? Well, actually, the lattice in the discretized model from the last paragraph has almost nothing to do with the microscopic lattice we started with. More often then not, the lattice constant (i.e. effective size of the unitcell) in the latter representation is orders of magnitude larger than the microscopic lattice constant. So, the discrete model following from $k\cdot p$ is orders of more efficient to work with than tht microscopic model, which is why we will most often work with these. Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model. Practically, we will often not even bother with the microscopic lattice model, but rather start with a continuum $k\cdot p$ model and then discretize it. This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements.
\ No newline at end of file
+But wait! Didn't we just go in a circle by starting in a lattice Hamiltonian and coming back to a discrete Hamiltonian? Well, actually, the lattice in the discretized model from the last paragraph has almost nothing to do with the microscopic lattice we started with. More often then not, the lattice constant $\Lambda$(i.e. effective size of the unitcell) in the latter representation is orders of magnitude larger than the microscopic lattice constant. So, the discrete model following from $k\cdot p$ is orders of more efficient to work with than tht microscopic model, which is why we will most often work with these. Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model. Practically, we will often not even bother with the microscopic lattice model, but rather start with a continuum $k\cdot p$ model and then discretize it. This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements.
\ No newline at end of file

GitLab
From 3a47569ce9388e75ccf247d35f1909777b8cc66e Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Tue, 22 Jan 2019 20:33:57 +0000
Subject: [PATCH 34/64] got rid of the bandstructure code

src/w0_background/band_structures.md  67 
1 file changed, 67 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 8497dec..105f622 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 4,61 +4,6 @@ sys.path.append('../code')
from init_mooc_nb import *
init_notebook()
%output size=150
dims = SimpleNamespace(E_t=holoviews.Dimension(r'$E/t$'),
 mu_t=holoviews.Dimension(r'$\mu/t$'),
 lambda_=holoviews.Dimension(r'$\lambda$'),
 x=holoviews.Dimension(r'$x$'),
 k=holoviews.Dimension(r'$k$'),
 amplitude=holoviews.Dimension(r'$u^2 + v^2$'))

holoviews.core.dimension.title_format = ''

def kitaev_chain(L=None, periodic=False):
 lat = kwant.lattice.chain()

 if L is None:
 syst = kwant.Builder(kwant.TranslationalSymmetry((1,)))
 L = 1
 else:
 syst = kwant.Builder()

 # transformation to antisymmetric basis
 U = np.array([[1.0, 1.0], [1.j, 1.j]]) / np.sqrt(2)

 def onsite(onsite, p):
 return  p.mu * U @ pauli.sz @ U.T.conj()

 for x in range(L):
 syst[lat(x)] = onsite

 def hop(site1, site2, p):
 return U @ (p.t * pauli.sz  1j * p.delta * pauli.sy) @ U.T.conj()

 syst[kwant.HoppingKind((1,), lat)] = hop

 if periodic:
 def last_hop(site1, site2, p):
 return hop(site1, site2, p) * (1  2 * p.lambda_)

 syst[lat(0), lat(L  1)] = last_hop
 return syst


def bandstructure(mu, delta=1, t=1, Dirac_cone="Hide"):
 syst = kitaev_chain(None)
 p = SimpleNamespace(t=t, delta=delta, mu=mu)
 plot = holoviews.Overlay([spectrum(syst, p, ydim="$E/T$", xdim='$k$')][4:4])
 h_1 = h_k(syst, p, 0)
 h_2 = h_k(syst, p, np.pi)


 if Dirac_cone == "Show":
 ks = np.linspace(np.pi, np.pi)
 ec = np.sqrt((mu + 2 * t)**2 + 4.0 * (delta * ks)**2)
 plot *= holoviews.Path((ks, ec), kdims=[dims.k, dims.E_t])(style={'linestyle':'', 'color':'r'})
 plot *= holoviews.Path((ks, ec), kdims=[dims.k, dims.E_t])(style={'linestyle':'', 'color':'r'})
 return plot.relabel(title)
```
# A quick review of band structures
@@ 138,18 +83,6 @@ The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,
We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, E^{(k,+)} goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
> As $k$ varies no energy eigenvalue $E^{k,\pm}$ ever enters the range $(t_1t_2)$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
Let's see what this band structure looks like (**once again move the slider** to change $\mu$):


```python
mus = np.arange(3, 3, 0.25)

plots = {(t1t2, Dirac_cone): bandstructure(mu, Dirac_cone=Dirac_cone)
 for mu in mus
 for Dirac_cone in ["Show", "Hide"]}

holoviews.HoloMap(plots, kdims=[dims.mu_t, "Dirac cone"])
```
This notion of an insulator will be rather important in our course. So let us dewell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$. This means that $k$ is allowed $N$ discrete values separated by $2\pi/N$ spanning the range $[\pi,\pi]$. Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{(k,)}$ with ane electron at each $k$ leaving the upper state empty. This describes a state with $N$ electrons. Furthermore, we can see that to excite the system one would need to transfer an electron from a negative energy state to a positive energy state that would cost at least $2(t_1t_2)$ in energy.
> Such a gapped state with a fixed number of electrons cannot respond to an applied voltage and as such must be an insulator.

GitLab
From 02ece11c7f2963964cd1332f09d3308ceb0d99bf Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Tue, 22 Jan 2019 22:15:07 +0000
Subject: [PATCH 35/64] Update src/w0_background/band_structures.md

src/w0_background/band_structures.md  2 +
1 file changed, 1 insertion(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 105f622..860a1b3 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 17,7 +17,7 @@ where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
### Motivating the Schrodinger equation
In case you haven't been indoctrinated (skip this and the next paragraph if you have) with quantum mechanics , let me show you how to
convert a familiar waveequation for a string in to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string. This waveequation is second order in time. Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\inf}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
+convert a familiar waveequation for a string in to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string. This waveequation is second order in time. Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\infty}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
$$\partial_t h = c\partial_x h_1$$ and
$$\partial_t h_1=c\partial_x h.$$

GitLab
From b1a591f11d7182d25c2ac03f8bba6d260ec59dd0 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Wed, 23 Jan 2019 04:02:12 +0000
Subject: [PATCH 36/64] Update band_structures.md

src/w0_background/band_structures.md  16 ++++++++
1 file changed, 8 insertions(+), 8 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 860a1b3..eb7203f 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 40,8 +40,8 @@ This ansatz simplifies the Schrodinger equation to a timeindependent form:
$$H\psi=E\psi,$$
which resembles the eigenvalue problem in linear algebra.
In fact, the good news for those of you familiar with linear algebra is that most of what we talk about is ultimately linear algebra. To model materials, We will often consider electrons within the socalled **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. We then consider $\psi_a$ to be the components of the wavefunction $\psi$, which then becomes a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$.
> A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are: (a) if $H$ is an $N\times N$ matrix, the eigenvalue index $n$ goes from $n=1,\dots,N$. (b) $H$ is **Hermitean** i.e. $H_{ab}=H_{ba}^*$. (c) Eigenstates are **orthogonal** i.e. $\psi^\dagger_n \psi_m=0$ for $m\neq n$.
+In fact, the good news for those of you familiar with linear algebra is that most of what we talk about is ultimately linear algebra. To model materials, we will often consider electrons within the socalled **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. The wavefunction amplitudes $\psi_a$ can be combined into $\psi$, which is then thought of as a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$.
+> A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are: (a) if $H$ is an $N\times N$ matrix, the eigenvalue index $n$ goes from $n=1,\dots,N$. (b) $H$ is **Hermitean** i.e. $H_{ab}=H_{ba}^*$. (c) Eigenstates are **orthogonal** i.e. $\psi^{(n)\dagger} \psi^{(m)}=0$ for $m\neq n$.
Physicists have a funny but convenient notation for doing linear algebra called the Dirac **braket** notation. In this notation, wavefunctions such as $\psi$ are represented by **kets** i.e. $\psi\rightarrow \psi\rangle$. We construct The "ket" $\psi\rangle$ from the components of the wavefunction $\psi_a$ using the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
@@ 80,7 +80,7 @@ Let us now work through an example. The SuSchriefferHeeger (SSH) model is the
The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,n\rangle\langle L,n)+t_2(L,n\rangle\langle R,n1+R,n1\rangle\langle L,n)\}.$ This Hamiltonian is clearly periodic with shift of $n$ and the nonzero matrix elements of the Hamiltonian can be written as $H_{(L,0),(R,0)}=H_{(R,0),(L,0)}=t_1$ and $H_{(L,1),(R,0)}=H_{(R,1),(L,0)}=t_2$.
>The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H^{(k,Bloch)}_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, E^{(k,+)} goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
+We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, $E^{(k,+)} goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
> As $k$ varies no energy eigenvalue $E^{k,\pm}$ ever enters the range $(t_1t_2)$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
@@ 91,16 +91,16 @@ This insulator is rather easy to understand in the $t_2=0$ limit and corresponds
## $k\cdot p$ perturbation theory
Let us now think about how we can use the smoothness of $H^{k,Bloch}$ to predict energies and wavefunctions at finite $k$ from $H^{k=0,Bloch}$ and its derivatives. We start by expanding the Bloch Hamiltonian $$H^{(k,Bloch)}=H^{(k=0,Bloch)}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$$. Using standard perturbation theory
> we can conclude that the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(n)}$ and $m_n^{1}=u^{(n)\dagger} H^{''(k=0,Bloch)} u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(m)}^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
+Let us now think about how we can use the smoothness of $H^{k,Bloch}$ to predict energies and wavefunctions at finite $k$ from $H^{(k=0,Bloch)}$ and its derivatives. We start by expanding the Bloch Hamiltonian $$H^{(k,Bloch)}=H^{(k=0,Bloch)}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$$. Using standard perturbation theory we can conclude that:
+> the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(n)}$ and $m_n^{1}=u^{(n)\dagger} H^{''(k=0,Bloch)} u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(m)}^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $H^{(k=0,Bloch)}$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(k=0,n)}E^{(k=0,m)}$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{(k,)}\simeq (t_1t_2)+\frac{t_2^2}{(t_1t_2)}k^2$.
+where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $H^{(k=0,Bloch)}$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(k=0,n)}E^{(k=0,m)}$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{(k,)}\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$.
### Discretizing continuum models for materials
The series expansion of $H^{(k,Bloch)}$ that we discussed in the previous paragraph is often thought of as a continuum description of a material. This is because the series expansion is valid for small $k$ that is much smaller than the Brillouin zone. The continuum Hamiltonian is obtained by replacing $k$ in the series expasion by $\hbar^{1}p$, where $p=i\hbar\partial_x$ is the momentum operator.
A continuum Hamiltonian is sometimes easier to work with analytically then the crystal lattice of orbitals. On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i(2\Lambda)^{1}\sum_n (n+1\rangle\langle nn\rangle\langle n+1).$$ The label $n$ is discrete  analogous to the unitcell label, where the unit cell has size $\Lambda$. To check that this is a representation of the derivative, apply $i k=\partial_x$ to $\psi\rangle$ as $i k\psi\rangle\approx \sum_n \frac{\psi_{n+1}\psi_{n1}}{2\Lambda}n\rangle$. In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
$$H^{(k,Bloch)}\approx \sum_{n,a,b} (H^{(k=0,Bloch)}_{ab}n,a\rangle \langle n,b +i H^{'(k=0,Bloch)}_{ab}(n+1, a\rangle\langle n,bn,a\rangle\langle n+1,b),$$
where we have dropped the $k^2$ term for compactness. Just in case you needed it in the future $k^2$ would discretize into $k^2=\sum_n (n\rangle \langle n+2+n+2\rangle\langle n2n\rangle \langle n)$.
+$$H^{(k,Bloch)}\approx \sum_{n,a,b} H^{(k=0,Bloch)}_{ab}n,a\rangle \langle n,b +i H^{'(k=0,Bloch)}_{ab}(n+1, a\rangle\langle n,bn,a\rangle\langle n+1,b),$$
+where we have dropped the $k^2$ term for compactness. For future reference, $k^2$ would discretize into $k^2=\sum_n (n\rangle \langle n+2+n+2\rangle\langle n2n\rangle \langle n)$.
But wait! Didn't we just go in a circle by starting in a lattice Hamiltonian and coming back to a discrete Hamiltonian? Well, actually, the lattice in the discretized model from the last paragraph has almost nothing to do with the microscopic lattice we started with. More often then not, the lattice constant $\Lambda$(i.e. effective size of the unitcell) in the latter representation is orders of magnitude larger than the microscopic lattice constant. So, the discrete model following from $k\cdot p$ is orders of more efficient to work with than tht microscopic model, which is why we will most often work with these. Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model. Practically, we will often not even bother with the microscopic lattice model, but rather start with a continuum $k\cdot p$ model and then discretize it. This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements.
\ No newline at end of file

GitLab
From a46ddb81847c458dd5b0a4485094dc1d320418d5 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Wed, 23 Jan 2019 14:57:25 +0000
Subject: [PATCH 37/64] cleaned some typos

src/w0_background/band_structures.md  14 +++++++
1 file changed, 7 insertions(+), 7 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index eb7203f..23ceafd 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 52,22 +52,22 @@ which can be checked to be the same equation as the linear algebra form.
### Example: Atomic triangle
Let's now work out the simple example of electrons moving in a triangle of atoms, where each atom is assumed to have one orbital. We label the orbitals on the atoms as $0\rangle,1\rangle,2\rangle$. With this labeling, the **hopping** amplitude $t$ of electrons between orbitals is represented by the Hamiltonian $$H=t(0\rangle \langle 1+1\rangle \langle 2+2\rangle \langle 0)+h.c,$$
where $h.c.$ stands for Hermitean conjugate, which means that you reverse the ordering of the labels and take a complex conjugate. We can also write the Hamiltonian in matrix form $$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
You can dump this matrix into Mathematica and it will give you three eigenvectors $\psi^{(n=1,2,3)}_a$ with energy eigenvalues $E^{(n=1,2,3)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$). The corresponding eigenvectors $\psi^{(n=1,2,3)}_a$ are $(1,1,1),(1,\omega,\omega^2),(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
+You can dump this matrix into Mathematica and it will give you three eigenvectors $\psi^{(n=1,2,3)}_a$ with energy eigenvalues $E^{(n=1,2,3)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$). The corresponding eigenvectors $\psi^{(n=1,2,3)}_a$ are $3^{1/2}(1,1,1),3^{1/2}(1,\omega,\omega^2),3^{1/2}(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
## Bloch's theorem for bulk electrons
Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle. We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem. To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal. The defining property of a crystal is that the atomic positions repeat in a periodic manner in space. We can account for ALL the atoms in the crystal by first identifying a group of orbitals labelled by $l$ called the **unitcell**. We construct the crystal by translating the unit cell by a discrete set of vectors called lattice vectors to $n$. By combining the unit cell and the lattice vectors, we can construct positions $a=(l,n)$
of all the orbitals in the crystal. For our example of a atomic ring, $l$ wouldn't be needed and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.

+of all the orbitals in the crystal. For our example of an atomic ring of size $N$, the index $l$ wouldn't be needed since there is only one orbital per unitcell and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
The Hamiltonian for a crystal has matrix elements that satisfy $H_{(l,n),(l',m)}=H_{(l,nm),(l',0)}$ for all pairs of unitcell $n$ and $m$.
+
> Bloch's theorem states that the Schrodinger equation for such Hamiltonians in crystals can be solved by the ansatz: $$\psi_{(l,n)}=e^{i k n}u_l,$$
where $u_l$ is the periodic part of the Bloch function which is identical in each unitcell. The parameter $k$ is called crystal momentum and is quite analogous to momentum
+where $u_l$ is the periodic part of the Bloch function which is identical in each unitcell. The parameter $k$ is called crystal momentum and is quite analogous to momentum (apart from a factor of $\hbar$)
except that it is confined in the range $k\in [\pi,\pi]$ which is referred to as the **Brillouin Zone**.
You can now substitute this ansatz into the Schrodinger equation: $\sum_{l'm}H_{(l,n),(l',m)}u_{l'}e^{i k m}=E_k e^{i k n}u_{l}$.
> Thus the Bloch functions $u_l^{(k)}$ and energies $E^{(k)}$ are obtained from the eigenvalue equation (socalled Bloch equation) $$H^{(k)Bloch}u^{(k)}=E^{(k)}u^{(k)},$$
+> Thus the Bloch functions $u^{(k)}$ and energies $E^{(k)}$ are obtained from the eigenvalue equation (socalled Bloch equation) $$H^{(k,Bloch)}u^{(k)}=E^{(k)}u^{(k)},$$
where $$H^{(k)Bloch}_{ll'}=\sum_{m}H_{(l,m),(l',0)}e^{i k m}.$$
+where $$H^{(k,Bloch)}_{ll'}=\sum_{m}H_{(l,m),(l',0)}e^{i k m}.$$
The Bloch equation written above is an eigenvalue problem at any momentum $k$. The resulting eigenvalues $E^{(n,k)}$ consitute the bandstructure of a material, where the eigenvalue label $n$ is also called a band index.
### Example: SuSchriefferHeeger model
@@ 80,7 +80,7 @@ Let us now work through an example. The SuSchriefferHeeger (SSH) model is the
The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,n\rangle\langle L,n)+t_2(L,n\rangle\langle R,n1+R,n1\rangle\langle L,n)\}.$ This Hamiltonian is clearly periodic with shift of $n$ and the nonzero matrix elements of the Hamiltonian can be written as $H_{(L,0),(R,0)}=H_{(R,0),(L,0)}=t_1$ and $H_{(L,1),(R,0)}=H_{(R,1),(L,0)}=t_2$.
>The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H^{(k,Bloch)}_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, $E^{(k,+)} goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
+We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, $E^{(k,+)}$ goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
> As $k$ varies no energy eigenvalue $E^{k,\pm}$ ever enters the range $(t_1t_2)$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.

GitLab
From 3839c5b19ce3df0071d814bc086dcd8429693f21 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Wed, 23 Jan 2019 15:21:48 +0000
Subject: [PATCH 38/64] Update band_structures.md

src/w0_background/band_structures.md  10 +++++
1 file changed, 5 insertions(+), 5 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 23ceafd..8d3c1f1 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 81,7 +81,7 @@ The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,
>The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H^{(k,Bloch)}_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, $E^{(k,+)}$ goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
> As $k$ varies no energy eigenvalue $E^{k,\pm}$ ever enters the range $(t_1t_2)$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
+> As $k$ varies no energy eigenvalue $E^{(k,\pm)}$ ever enters the range $t_1t_2$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
This notion of an insulator will be rather important in our course. So let us dewell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$. This means that $k$ is allowed $N$ discrete values separated by $2\pi/N$ spanning the range $[\pi,\pi]$. Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{(k,)}$ with ane electron at each $k$ leaving the upper state empty. This describes a state with $N$ electrons. Furthermore, we can see that to excite the system one would need to transfer an electron from a negative energy state to a positive energy state that would cost at least $2(t_1t_2)$ in energy.
@@ 91,8 +91,8 @@ This insulator is rather easy to understand in the $t_2=0$ limit and corresponds
## $k\cdot p$ perturbation theory
Let us now think about how we can use the smoothness of $H^{k,Bloch}$ to predict energies and wavefunctions at finite $k$ from $H^{(k=0,Bloch)}$ and its derivatives. We start by expanding the Bloch Hamiltonian $$H^{(k,Bloch)}=H^{(k=0,Bloch)}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$$. Using standard perturbation theory we can conclude that:
> the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n = u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(n)}$ and $m_n^{1}=u^{(n)\dagger} H^{''(k=0,Bloch)} u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(m)}^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
+Let us now think about how we can use the smoothness of $H^{(k,Bloch)}$ to predict energies and wavefunctions at finite $k$ from $H^{(k=0,Bloch)}$ and its derivatives. We start by expanding the Bloch Hamiltonian $$H^{(k,Bloch)}\approx H^{(k=0,Bloch)}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$$. Using standard perturbation theory we can conclude that:
+> the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(n)}$ and $m_n^{1}=\partial^2_k E^{(k,n)}=u^{(n)\dagger} H^{''(k=0,Bloch)} u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(m)}^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $H^{(k=0,Bloch)}$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(k=0,n)}E^{(k=0,m)}$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{(k,)}\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$.
@@ 100,7 +100,7 @@ where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $
The series expansion of $H^{(k,Bloch)}$ that we discussed in the previous paragraph is often thought of as a continuum description of a material. This is because the series expansion is valid for small $k$ that is much smaller than the Brillouin zone. The continuum Hamiltonian is obtained by replacing $k$ in the series expasion by $\hbar^{1}p$, where $p=i\hbar\partial_x$ is the momentum operator.
A continuum Hamiltonian is sometimes easier to work with analytically then the crystal lattice of orbitals. On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i(2\Lambda)^{1}\sum_n (n+1\rangle\langle nn\rangle\langle n+1).$$ The label $n$ is discrete  analogous to the unitcell label, where the unit cell has size $\Lambda$. To check that this is a representation of the derivative, apply $i k=\partial_x$ to $\psi\rangle$ as $i k\psi\rangle\approx \sum_n \frac{\psi_{n+1}\psi_{n1}}{2\Lambda}n\rangle$. In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
$$H^{(k,Bloch)}\approx \sum_{n,a,b} H^{(k=0,Bloch)}_{ab}n,a\rangle \langle n,b +i H^{'(k=0,Bloch)}_{ab}(n+1, a\rangle\langle n,bn,a\rangle\langle n+1,b),$$
+$$H^{(k,Bloch)}\approx \sum_{n,a,b} H^{(k=0,Bloch)}_{ab}a,n\rangle \langle b,n +i H^{'(k=0,Bloch)}_{ab}(a,n+1\rangle\langle b,na,n\rangle\langle b,n+1),$$
where we have dropped the $k^2$ term for compactness. For future reference, $k^2$ would discretize into $k^2=\sum_n (n\rangle \langle n+2+n+2\rangle\langle n2n\rangle \langle n)$.
But wait! Didn't we just go in a circle by starting in a lattice Hamiltonian and coming back to a discrete Hamiltonian? Well, actually, the lattice in the discretized model from the last paragraph has almost nothing to do with the microscopic lattice we started with. More often then not, the lattice constant $\Lambda$(i.e. effective size of the unitcell) in the latter representation is orders of magnitude larger than the microscopic lattice constant. So, the discrete model following from $k\cdot p$ is orders of more efficient to work with than tht microscopic model, which is why we will most often work with these. Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model. Practically, we will often not even bother with the microscopic lattice model, but rather start with a continuum $k\cdot p$ model and then discretize it. This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements.
\ No newline at end of file
+But wait! Didn't we just go in a circle by starting in a lattice Hamiltonian and coming back to a discrete Hamiltonian? Well, actually, the lattice in the discretized model from the last paragraph has almost nothing to do with the microscopic lattice we started with. More often then not, the lattice constant $\Lambda$ (i.e. effective size of the unitcell) in the latter representation is orders of magnitude larger than the microscopic lattice constant. So the discrete model following from $k\cdot p$ is orders of magnitude more efficient to work with than tht microscopic model, which is why we will most often work with these. Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model. Practically, we will often not even bother with the microscopic lattice model, but rather start with a continuum $k\cdot p$ model and then discretize it. This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements. For example the $k\cdot p$ model for the conduction band minimum state of a GaAs quantum well is $H^{(k)}=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$, where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
\ No newline at end of file

GitLab
From cf1b1c9b824dc448abb3a1e50a46c2fbfc43d0bf Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 24 Jan 2019 16:39:54 +0000
Subject: [PATCH 39/64] Update band_structures.md  response to some Anton
comments

src/w0_background/band_structures.md  14 ++++++++
1 file changed, 8 insertions(+), 6 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 8d3c1f1..949b18b 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 15,9 +15,11 @@ as waves. The equation for any wave can be recast in to the form of the famous
$$i\hbar\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
### Motivating the Schrodinger equation
In case you haven't been indoctrinated (skip this and the next paragraph if you have) with quantum mechanics , let me show you how to
convert a familiar waveequation for a string in to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string. This waveequation is second order in time. Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\infty}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
+### Beyond the Schrodinger equation
+In case you haven't been indoctrinated with quantum mechanics (skip this section if you have), let me show you how to
+convert a familiar waveequation for a string in to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string.
+This waveequation is second order in time.
+Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\infty}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
$$\partial_t h = c\partial_x h_1$$ and
$$\partial_t h_1=c\partial_x h.$$
@@ 29,7 +31,7 @@ The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is
The main things you should remember about wave equations for electrons is that
* $\Psi(x,t)$ is complex,
* H is a Hermitean (clarified later) matrix or operator
+* H is a Hermitian (clarified later) matrix or operator
* density of electrons are related to $\Psi(x,t)^2$.
* If N is the number of electrons, one needs to occupy $N$ orthogonal wavefunctions to occupy.
@@ 41,7 +43,7 @@ $$H\psi=E\psi,$$
which resembles the eigenvalue problem in linear algebra.
In fact, the good news for those of you familiar with linear algebra is that most of what we talk about is ultimately linear algebra. To model materials, we will often consider electrons within the socalled **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. The wavefunction amplitudes $\psi_a$ can be combined into $\psi$, which is then thought of as a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$.
> A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are: (a) if $H$ is an $N\times N$ matrix, the eigenvalue index $n$ goes from $n=1,\dots,N$. (b) $H$ is **Hermitean** i.e. $H_{ab}=H_{ba}^*$. (c) Eigenstates are **orthogonal** i.e. $\psi^{(n)\dagger} \psi^{(m)}=0$ for $m\neq n$.
+> A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are: (a) if $H$ is an $N\times N$ matrix, the eigenvalue index $n$ goes from $n=1,\dots,N$. (b) $H$ is **Hermitian** i.e. $H_{ab}=H_{ba}^*$. (c) Eigenstates are **orthogonal** i.e. $\psi^{(n)\dagger} \psi^{(m)}=0$ for $m\neq n$.
Physicists have a funny but convenient notation for doing linear algebra called the Dirac **braket** notation. In this notation, wavefunctions such as $\psi$ are represented by **kets** i.e. $\psi\rightarrow \psi\rangle$. We construct The "ket" $\psi\rangle$ from the components of the wavefunction $\psi_a$ using the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
@@ 51,7 +53,7 @@ which can be checked to be the same equation as the linear algebra form.
### Example: Atomic triangle
Let's now work out the simple example of electrons moving in a triangle of atoms, where each atom is assumed to have one orbital. We label the orbitals on the atoms as $0\rangle,1\rangle,2\rangle$. With this labeling, the **hopping** amplitude $t$ of electrons between orbitals is represented by the Hamiltonian $$H=t(0\rangle \langle 1+1\rangle \langle 2+2\rangle \langle 0)+h.c,$$
where $h.c.$ stands for Hermitean conjugate, which means that you reverse the ordering of the labels and take a complex conjugate. We can also write the Hamiltonian in matrix form $$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
+where $h.c.$ stands for Hermitian conjugate, which means that you reverse the ordering of the labels and take a complex conjugate. We can also write the Hamiltonian in matrix form $$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
You can dump this matrix into Mathematica and it will give you three eigenvectors $\psi^{(n=1,2,3)}_a$ with energy eigenvalues $E^{(n=1,2,3)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$). The corresponding eigenvectors $\psi^{(n=1,2,3)}_a$ are $3^{1/2}(1,1,1),3^{1/2}(1,\omega,\omega^2),3^{1/2}(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
## Bloch's theorem for bulk electrons

GitLab
From 8314ba481f73a8b1ae9610cb977c243ad91e11e8 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 24 Jan 2019 16:46:17 +0000
Subject: [PATCH 40/64] Update band_structures.md  separated sentences into
different lines

src/w0_background/band_structures.md  63 ++++++++++++++++++++++
1 file changed, 50 insertions(+), 13 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 949b18b..86913a6 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 23,7 +23,7 @@ Let's try to make it first order like the Schrodinger equation by defining $h_1(
$$\partial_t h = c\partial_x h_1$$ and
$$\partial_t h_1=c\partial_x h.$$
We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0\end{array}\right)\partial_x.$$ Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation. But this indeed is the wavefunction for helical Majorana particles that we will encounter later on.
+We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0\end{array}\right)(i\partial_x).$$ Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation. But this indeed is the wavefunction for helical Majorana particles that we will encounter later on.
### Schrodinger equation and wavefunctions
The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is typically a complex though the Hamiltonian is not a matrix (thankfully):$$H=\frac{\hbar^2}{2m}\partial_x^2 + V(x),$$ where $m$ is the mass of the electron and $V(x)$ is the background potential energy over which the electron is moving.
@@ 42,13 +42,22 @@ This ansatz simplifies the Schrodinger equation to a timeindependent form:
$$H\psi=E\psi,$$
which resembles the eigenvalue problem in linear algebra.
In fact, the good news for those of you familiar with linear algebra is that most of what we talk about is ultimately linear algebra. To model materials, we will often consider electrons within the socalled **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals on atoms. We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$. The wavefunction amplitudes $\psi_a$ can be combined into $\psi$, which is then thought of as a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$. With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem. Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$.
+In fact, the good news for those of you familiar with linear algebra is that most of what we talk about is ultimately linear algebra.
+To model materials, we will often consider electrons within the socalled **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals on atoms.
+We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$.
+The wavefunction amplitudes $\psi_a$ can be combined into $\psi$, which is then thought of as a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$.
+With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem.
+Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$.
> A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are: (a) if $H$ is an $N\times N$ matrix, the eigenvalue index $n$ goes from $n=1,\dots,N$. (b) $H$ is **Hermitian** i.e. $H_{ab}=H_{ba}^*$. (c) Eigenstates are **orthogonal** i.e. $\psi^{(n)\dagger} \psi^{(m)}=0$ for $m\neq n$.
Physicists have a funny but convenient notation for doing linear algebra called the Dirac **braket** notation. In this notation, wavefunctions such as $\psi$ are represented by **kets** i.e. $\psi\rightarrow \psi\rangle$. We construct The "ket" $\psi\rangle$ from the components of the wavefunction $\psi_a$ using the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
+Physicists have a funny but convenient notation for doing linear algebra called the Dirac **braket** notation.
+In this notation, wavefunctions such as $\psi$ are represented by **kets** i.e. $\psi\rightarrow \psi\rangle$.
+We construct The "ket" $\psi\rangle$ from the components of the wavefunction $\psi_a$ using the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
Similarly, we turn the Hamiltonian $H$ in to an **operator** using the equation :$$H=\sum_{ab}H_{ab}a\rangle \langle b,$$
where $H_{ab}$ are the elements of the matrix $H$ from the last paragraph. The object $\langle b$ is called a **bra** and together with the ket it forms a "braket" with the property $\langle b a\rangle=\delta_{ab}$. The Schrodinger equation now looks like $$H\psi\rangle = E\psi\rangle,$$
+where $H_{ab}$ are the elements of the matrix $H$ from the last paragraph.
+The object $\langle b$ is called a **bra** and together with the ket it forms a "braket" with the property $\langle b a\rangle=\delta_{ab}$.
+The Schrodinger equation now looks like $$H\psi\rangle = E\psi\rangle,$$
which can be checked to be the same equation as the linear algebra form.
### Example: Atomic triangle
@@ 58,8 +67,14 @@ You can dump this matrix into Mathematica and it will give you three eigenvector
## Bloch's theorem for bulk electrons
Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle. We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem. To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal. The defining property of a crystal is that the atomic positions repeat in a periodic manner in space. We can account for ALL the atoms in the crystal by first identifying a group of orbitals labelled by $l$ called the **unitcell**. We construct the crystal by translating the unit cell by a discrete set of vectors called lattice vectors to $n$. By combining the unit cell and the lattice vectors, we can construct positions $a=(l,n)$
of all the orbitals in the crystal. For our example of an atomic ring of size $N$, the index $l$ wouldn't be needed since there is only one orbital per unitcell and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
+Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle.
+We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem.
+To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal.
+The defining property of a crystal is that the atomic positions repeat in a periodic manner in space.
+We can account for ALL the atoms in the crystal by first identifying a group of orbitals labelled by $l$ called the **unitcell**.
+We construct the crystal by translating the unit cell by a discrete set of vectors called lattice vectors to $n$. By combining the unit cell and the lattice vectors, we can construct positions $a=(l,n)$
+of all the orbitals in the crystal.
+For our example of an atomic ring of size $N$, the index $l$ wouldn't be needed since there is only one orbital per unitcell and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
The Hamiltonian for a crystal has matrix elements that satisfy $H_{(l,n),(l',m)}=H_{(l,nm),(l',0)}$ for all pairs of unitcell $n$ and $m$.
> Bloch's theorem states that the Schrodinger equation for such Hamiltonians in crystals can be solved by the ansatz: $$\psi_{(l,n)}=e^{i k n}u_l,$$
@@ 74,7 +89,11 @@ The Bloch equation written above is an eigenvalue problem at any momentum $k$. T
### Example: SuSchriefferHeeger model
Let us now work through an example. The SuSchriefferHeeger (SSH) model is the simplest model for polyacetylene, which to a physicist can be thought of as a chain of atoms with one orbital per atom. However, the hopping strength alternates (corresponding to the alternating bondlength ) between $t_1$ and $t_2$. Ususally you could assume that since each orbital has one atom there is only one atom per unit cell. But this would mean all the atoms are identical. On the other hand, in polyacetylene, half the atoms are on the right end of a short bond and half of them are on the left.
+Let us now work through an example.
+The SuSchriefferHeeger (SSH) model is the simplest model for polyacetylene, which to a physicist can be thought of as a chain of atoms with one orbital per atom.
+However, the hopping strength alternates (corresponding to the alternating bondlength ) between $t_1$ and $t_2$. Ususally you could assume that since each orbital has one atom there is only one atom per unit cell.
+But this would mean all the atoms are identical.
+On the other hand, in polyacetylene, half the atoms are on the right end of a short bond and half of them are on the left.
> Thus there are two kinds of atoms  the former kind we label $R$ and the latter $L$. Thus there are two orbitals per unit cell that we label $L,n\rangle$ and $R,n\rangle$ with $n$ being the unitcell label.
![](figures/Trans_CH_n.svg)
@@ 86,23 +105,41 @@ We can calculate the eigenvalues of this Hamiltonian by taking determinants and
> As $k$ varies no energy eigenvalue $E^{(k,\pm)}$ ever enters the range $t_1t_2$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
This notion of an insulator will be rather important in our course. So let us dewell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$. This means that $k$ is allowed $N$ discrete values separated by $2\pi/N$ spanning the range $[\pi,\pi]$. Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{(k,)}$ with ane electron at each $k$ leaving the upper state empty. This describes a state with $N$ electrons. Furthermore, we can see that to excite the system one would need to transfer an electron from a negative energy state to a positive energy state that would cost at least $2(t_1t_2)$ in energy.
+This notion of an insulator will be rather important in our course.
+So let us dewell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$.
+This means that $k$ is allowed $N$ discrete values separated by $2\pi/N$ spanning the range $[\pi,\pi]$.
+Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{(k,)}$ with ane electron at each $k$ leaving the upper state empty.
+This describes a state with $N$ electrons. Furthermore, we can see that to excite the system one would need to transfer an electron from a negative energy state to a positive energy state that would cost at least $2(t_1t_2)$ in energy.
> Such a gapped state with a fixed number of electrons cannot respond to an applied voltage and as such must be an insulator.
This insulator is rather easy to understand in the $t_2=0$ limit and corresponds to the double bonds in the polyacetylene chain being occupied by localized electrons.
## $k\cdot p$ perturbation theory
Let us now think about how we can use the smoothness of $H^{(k,Bloch)}$ to predict energies and wavefunctions at finite $k$ from $H^{(k=0,Bloch)}$ and its derivatives. We start by expanding the Bloch Hamiltonian $$H^{(k,Bloch)}\approx H^{(k=0,Bloch)}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$$. Using standard perturbation theory we can conclude that:
+Let us now think about how we can use the smoothness of $H^{(k,Bloch)}$ to predict energies and wavefunctions at finite $k$ from $H^{(k=0,Bloch)}$ and its derivatives.
+We start by expanding the Bloch Hamiltonian $$H^{(k,Bloch)}\approx H^{(k=0,Bloch)}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$$.
+Using standard perturbation theory we can conclude that:
> the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(n)}$ and $m_n^{1}=\partial^2_k E^{(k,n)}=u^{(n)\dagger} H^{''(k=0,Bloch)} u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(m)}^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $H^{(k=0,Bloch)}$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(k=0,n)}E^{(k=0,m)}$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{(k,)}\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$.
### Discretizing continuum models for materials
The series expansion of $H^{(k,Bloch)}$ that we discussed in the previous paragraph is often thought of as a continuum description of a material. This is because the series expansion is valid for small $k$ that is much smaller than the Brillouin zone. The continuum Hamiltonian is obtained by replacing $k$ in the series expasion by $\hbar^{1}p$, where $p=i\hbar\partial_x$ is the momentum operator.

A continuum Hamiltonian is sometimes easier to work with analytically then the crystal lattice of orbitals. On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i(2\Lambda)^{1}\sum_n (n+1\rangle\langle nn\rangle\langle n+1).$$ The label $n$ is discrete  analogous to the unitcell label, where the unit cell has size $\Lambda$. To check that this is a representation of the derivative, apply $i k=\partial_x$ to $\psi\rangle$ as $i k\psi\rangle\approx \sum_n \frac{\psi_{n+1}\psi_{n1}}{2\Lambda}n\rangle$. In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
+The series expansion of $H^{(k,Bloch)}$ that we discussed in the previous paragraph is often thought of as a continuum description of a material.
+This is because the series expansion is valid for small $k$ that is much smaller than the Brillouin zone.
+The continuum Hamiltonian is obtained by replacing $k$ in the series expasion by $\hbar^{1}p$, where $p=i\hbar\partial_x$ is the momentum operator.
+
+A continuum Hamiltonian is sometimes easier to work with analytically then the crystal lattice of orbitals.
+On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i(2\Lambda)^{1}\sum_n (n+1\rangle\langle nn\rangle\langle n+1).$$
+The label $n$ is discrete  analogous to the unitcell label, where the unit cell has size $\Lambda$.
+To check that this is a representation of the derivative, apply $i k=\partial_x$ to $\psi\rangle$ as $i k\psi\rangle\approx \sum_n \frac{\psi_{n+1}\psi_{n1}}{2\Lambda}n\rangle$.
+In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
$$H^{(k,Bloch)}\approx \sum_{n,a,b} H^{(k=0,Bloch)}_{ab}a,n\rangle \langle b,n +i H^{'(k=0,Bloch)}_{ab}(a,n+1\rangle\langle b,na,n\rangle\langle b,n+1),$$
where we have dropped the $k^2$ term for compactness. For future reference, $k^2$ would discretize into $k^2=\sum_n (n\rangle \langle n+2+n+2\rangle\langle n2n\rangle \langle n)$.
But wait! Didn't we just go in a circle by starting in a lattice Hamiltonian and coming back to a discrete Hamiltonian? Well, actually, the lattice in the discretized model from the last paragraph has almost nothing to do with the microscopic lattice we started with. More often then not, the lattice constant $\Lambda$ (i.e. effective size of the unitcell) in the latter representation is orders of magnitude larger than the microscopic lattice constant. So the discrete model following from $k\cdot p$ is orders of magnitude more efficient to work with than tht microscopic model, which is why we will most often work with these. Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model. Practically, we will often not even bother with the microscopic lattice model, but rather start with a continuum $k\cdot p$ model and then discretize it. This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements. For example the $k\cdot p$ model for the conduction band minimum state of a GaAs quantum well is $H^{(k)}=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$, where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
\ No newline at end of file
+But wait! Didn't we just go in a circle by starting in a lattice Hamiltonian and coming back to a discrete Hamiltonian?
+Well, actually, the lattice in the discretized model from the last paragraph has almost nothing to do with the microscopic lattice we started with.
+More often then not, the lattice constant $\Lambda$ (i.e. effective size of the unitcell) in the latter representation is orders of magnitude larger than the microscopic lattice constant.
+So the discrete model following from $k\cdot p$ is orders of magnitude more efficient to work with than tht microscopic model, which is why we will most often work with these. Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model.
+Practically, we will often not even bother with the microscopic lattice model, but rather start with a continuum $k\cdot p$ model and then discretize it.
+This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements.
+For example the $k\cdot p$ model for the conduction band minimum state of a GaAs quantum well is $H^{(k)}=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$, where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
\ No newline at end of file

GitLab
From a02f3edc967767498c7ee13d5b85a5b2ff61321a Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 24 Jan 2019 21:26:41 +0000
Subject: [PATCH 41/64] Update band_structures.md  got rid of "me" and wills
and block quotes

src/w0_background/band_structures.md  73 +++++++++++++++++
1 file changed, 44 insertions(+), 29 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 86913a6..d9d579b 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 16,14 +16,17 @@ $$i\hbar\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
### Beyond the Schrodinger equation
In case you haven't been indoctrinated with quantum mechanics (skip this section if you have), let me show you how to
convert a familiar waveequation for a string in to a Schrodingerlike form. You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string.
+In case you haven't been indoctrinated with quantum mechanics (skip this section if you have), let us see how to
+convert a familiar waveequation for a string in to a Schrodingerlike form.
+You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string.
This waveequation is second order in time.
Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\infty}^x dx_1 \partial_t h(x_1,t)$. After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
+Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\infty}^x dx_1 \partial_t h(x_1,t)$.
+After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
$$\partial_t h = c\partial_x h_1$$ and
$$\partial_t h_1=c\partial_x h.$$
We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0\end{array}\right)(i\partial_x).$$ Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation. But this indeed is the wavefunction for helical Majorana particles that we will encounter later on.
+We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0\end{array}\right)(i\partial_x).$$ Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation.
+But this indeed is the wavefunction for helical Majorana particles that we encounter later on.
### Schrodinger equation and wavefunctions
The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is typically a complex though the Hamiltonian is not a matrix (thankfully):$$H=\frac{\hbar^2}{2m}\partial_x^2 + V(x),$$ where $m$ is the mass of the electron and $V(x)$ is the background potential energy over which the electron is moving.
@@ 35,35 +38,41 @@ The main things you should remember about wave equations for electrons is that
* density of electrons are related to $\Psi(x,t)^2$.
* If N is the number of electrons, one needs to occupy $N$ orthogonal wavefunctions to occupy.
The last point is more subtle and is called the **Pauli exclusion principle**. We will elaborate on orthogonality later.
+The last point is more subtle and is called the **Pauli exclusion principle**. We elaborate on orthogonality later.
Since we will be interested in static properties of electrons in materials for much of our course, it helps to make the simplifying ansatz: $\Psi=e^{i E t/\hbar}\psi$.
+Since we are interested in static properties of electrons in materials for much of our course, it helps to make the simplifying ansatz: $\Psi=e^{i E t/\hbar}\psi$.
This ansatz simplifies the Schrodinger equation to a timeindependent form:
$$H\psi=E\psi,$$
which resembles the eigenvalue problem in linear algebra.
In fact, the good news for those of you familiar with linear algebra is that most of what we talk about is ultimately linear algebra.
To model materials, we will often consider electrons within the socalled **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals on atoms.
We will then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$.
The wavefunction amplitudes $\psi_a$ can be combined into $\psi$, which is then thought of as a vector. In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$.
+We can often model electrons in materials within the socalled **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals on atoms.
+We then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$.
+The wavefunction amplitudes $\psi_a$ can be combined into $\psi$, which is then thought of as a vector.
+In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$.
With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem.
Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$.
> A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are: (a) if $H$ is an $N\times N$ matrix, the eigenvalue index $n$ goes from $n=1,\dots,N$. (b) $H$ is **Hermitian** i.e. $H_{ab}=H_{ba}^*$. (c) Eigenstates are **orthogonal** i.e. $\psi^{(n)\dagger} \psi^{(m)}=0$ for $m\neq n$.
+A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are:
+* if $H$ is an $N\times N$ matrix, the eigenvalue index $n$ goes from $n=1,\dots,N$.
+* $H$ is **Hermitian** i.e. $H_{ab}=H_{ba}^*$.
+* Eigenstates are **orthogonal** i.e. $\psi^{(n)\dagger} \psi^{(m)}=0$ for $m\neq n$.
Physicists have a funny but convenient notation for doing linear algebra called the Dirac **braket** notation.
In this notation, wavefunctions such as $\psi$ are represented by **kets** i.e. $\psi\rightarrow \psi\rangle$.
We construct The "ket" $\psi\rangle$ from the components of the wavefunction $\psi_a$ using the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
+We construct the ket $\psi\rangle$ from the components of the wavefunction $\psi_a$ using the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
Similarly, we turn the Hamiltonian $H$ in to an **operator** using the equation :$$H=\sum_{ab}H_{ab}a\rangle \langle b,$$
where $H_{ab}$ are the elements of the matrix $H$ from the last paragraph.
The object $\langle b$ is called a **bra** and together with the ket it forms a "braket" with the property $\langle b a\rangle=\delta_{ab}$.
+We call the object $\langle b$ a **bra** and together with the ket it forms a braket with the property $\langle b a\rangle=\delta_{ab}$.
The Schrodinger equation now looks like $$H\psi\rangle = E\psi\rangle,$$
which can be checked to be the same equation as the linear algebra form.
### Example: Atomic triangle
Let's now work out the simple example of electrons moving in a triangle of atoms, where each atom is assumed to have one orbital. We label the orbitals on the atoms as $0\rangle,1\rangle,2\rangle$. With this labeling, the **hopping** amplitude $t$ of electrons between orbitals is represented by the Hamiltonian $$H=t(0\rangle \langle 1+1\rangle \langle 2+2\rangle \langle 0)+h.c,$$
where $h.c.$ stands for Hermitian conjugate, which means that you reverse the ordering of the labels and take a complex conjugate. We can also write the Hamiltonian in matrix form $$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
You can dump this matrix into Mathematica and it will give you three eigenvectors $\psi^{(n=1,2,3)}_a$ with energy eigenvalues $E^{(n=1,2,3)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$). The corresponding eigenvectors $\psi^{(n=1,2,3)}_a$ are $3^{1/2}(1,1,1),3^{1/2}(1,\omega,\omega^2),3^{1/2}(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
+Let's now work out the simple example of electrons moving in a triangle of atoms, where each atom is assumed to have one orbital. We label the orbitals on the atoms as $0\rangle,1\rangle,2\rangle$.
+With this labeling, the **hopping** amplitude $t$ of electrons between orbitals is represented by the Hamiltonian $$H=t(0\rangle \langle 1+1\rangle \langle 2+2\rangle \langle 0)+h.c,$$
+where $h.c.$ stands for Hermitian conjugate, which means that you reverse the ordering of the labels and take a complex conjugate.
+We can also write the Hamiltonian in matrix form $$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
+You can dump this matrix into Mathematica to get the three eigenvectors $\psi^{(n=1,2,3)}_a$ corresponding to energy eigenvalues $E^{(n=1,2,3)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$). The corresponding eigenvectors $\psi^{(n=1,2,3)}_a$ are $3^{1/2}(1,1,1),3^{1/2}(1,\omega,\omega^2),3^{1/2}(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
## Bloch's theorem for bulk electrons
@@ 72,45 +81,50 @@ We can even solve an N site ring (triangle being $N=3$). The trick is a neat the
To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal.
The defining property of a crystal is that the atomic positions repeat in a periodic manner in space.
We can account for ALL the atoms in the crystal by first identifying a group of orbitals labelled by $l$ called the **unitcell**.
We construct the crystal by translating the unit cell by a discrete set of vectors called lattice vectors to $n$. By combining the unit cell and the lattice vectors, we can construct positions $a=(l,n)$
+We construct the crystal by translating the unit cell by a discrete set of vectors called lattice vectors to $n$.
+By combining the unit cell and the lattice vectors, we can construct positions $a=(l,n)$
of all the orbitals in the crystal.
For our example of an atomic ring of size $N$, the index $l$ wouldn't be needed since there is only one orbital per unitcell and $n$ would take values $1$ to $N$. In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
+For our example of an atomic ring of size $N$, the index $l$ wouldn't be needed since there is only one orbital per unitcell and $n$ would take values $1$ to $N$.
+In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.
The Hamiltonian for a crystal has matrix elements that satisfy $H_{(l,n),(l',m)}=H_{(l,nm),(l',0)}$ for all pairs of unitcell $n$ and $m$.
> Bloch's theorem states that the Schrodinger equation for such Hamiltonians in crystals can be solved by the ansatz: $$\psi_{(l,n)}=e^{i k n}u_l,$$
+where $u_l$ is the periodic part of the Bloch function which is identical in each unitcell.
where $u_l$ is the periodic part of the Bloch function which is identical in each unitcell. The parameter $k$ is called crystal momentum and is quite analogous to momentum (apart from a factor of $\hbar$)
+The parameter $k$ is called crystal momentum and is quite analogous to momentum (apart from a factor of $\hbar$)
except that it is confined in the range $k\in [\pi,\pi]$ which is referred to as the **Brillouin Zone**.
You can now substitute this ansatz into the Schrodinger equation: $\sum_{l'm}H_{(l,n),(l',m)}u_{l'}e^{i k m}=E_k e^{i k n}u_{l}$.
> Thus the Bloch functions $u^{(k)}$ and energies $E^{(k)}$ are obtained from the eigenvalue equation (socalled Bloch equation) $$H^{(k,Bloch)}u^{(k)}=E^{(k)}u^{(k)},$$

+ Thus the Bloch functions $u^{(k)}$ and energies $E^{(k)}$ are obtained from the eigenvalue equation (socalled Bloch equation) $$H^{(k,Bloch)}u^{(k)}=E^{(k)}u^{(k)},$$
where $$H^{(k,Bloch)}_{ll'}=\sum_{m}H_{(l,m),(l',0)}e^{i k m}.$$
The Bloch equation written above is an eigenvalue problem at any momentum $k$. The resulting eigenvalues $E^{(n,k)}$ consitute the bandstructure of a material, where the eigenvalue label $n$ is also called a band index.
+The Bloch equation written above is an eigenvalue problem at any momentum $k$.
+The resulting eigenvalues $E^{(n,k)}$ consitute the bandstructure of a material, where the eigenvalue label $n$ is also called a band index.
### Example: SuSchriefferHeeger model
Let us now work through an example.
The SuSchriefferHeeger (SSH) model is the simplest model for polyacetylene, which to a physicist can be thought of as a chain of atoms with one orbital per atom.
However, the hopping strength alternates (corresponding to the alternating bondlength ) between $t_1$ and $t_2$. Ususally you could assume that since each orbital has one atom there is only one atom per unit cell.
+However, the hopping strength alternates (corresponding to the alternating bondlength ) between $t_1$ and $t_2$.
+Ususally you could assume that since each orbital has one atom there is only one atom per unit cell.
But this would mean all the atoms are identical.
On the other hand, in polyacetylene, half the atoms are on the right end of a short bond and half of them are on the left.
> Thus there are two kinds of atoms  the former kind we label $R$ and the latter $L$. Thus there are two orbitals per unit cell that we label $L,n\rangle$ and $R,n\rangle$ with $n$ being the unitcell label.
+Thus there are two kinds of atoms  the former kind we label $R$ and the latter $L$. Thus there are two orbitals per unit cell that we label $L,n\rangle$ and $R,n\rangle$ with $n$ being the unitcell label.
![](figures/Trans_CH_n.svg)
The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,n\rangle\langle L,n)+t_2(L,n\rangle\langle R,n1+R,n1\rangle\langle L,n)\}.$ This Hamiltonian is clearly periodic with shift of $n$ and the nonzero matrix elements of the Hamiltonian can be written as $H_{(L,0),(R,0)}=H_{(R,0),(L,0)}=t_1$ and $H_{(L,1),(R,0)}=H_{(R,1),(L,0)}=t_2$.
>The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H^{(k,Bloch)}_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
+The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H^{(k,Bloch)}_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, $E^{(k,+)}$ goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
+We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$
+Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, $E^{(k,+)}$ goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
> As $k$ varies no energy eigenvalue $E^{(k,\pm)}$ ever enters the range $t_1t_2$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
This notion of an insulator will be rather important in our course.
+This notion of an insulator is rather important in our course.
So let us dewell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$.
This means that $k$ is allowed $N$ discrete values separated by $2\pi/N$ spanning the range $[\pi,\pi]$.
Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{(k,)}$ with ane electron at each $k$ leaving the upper state empty.
This describes a state with $N$ electrons. Furthermore, we can see that to excite the system one would need to transfer an electron from a negative energy state to a positive energy state that would cost at least $2(t_1t_2)$ in energy.
> Such a gapped state with a fixed number of electrons cannot respond to an applied voltage and as such must be an insulator.
+ Such a gapped state with a fixed number of electrons cannot respond to an applied voltage and as such must be an insulator.
This insulator is rather easy to understand in the $t_2=0$ limit and corresponds to the double bonds in the polyacetylene chain being occupied by localized electrons.
@@ 139,7 +153,8 @@ where we have dropped the $k^2$ term for compactness. For future reference, $k^2
But wait! Didn't we just go in a circle by starting in a lattice Hamiltonian and coming back to a discrete Hamiltonian?
Well, actually, the lattice in the discretized model from the last paragraph has almost nothing to do with the microscopic lattice we started with.
More often then not, the lattice constant $\Lambda$ (i.e. effective size of the unitcell) in the latter representation is orders of magnitude larger than the microscopic lattice constant.
So the discrete model following from $k\cdot p$ is orders of magnitude more efficient to work with than tht microscopic model, which is why we will most often work with these. Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model.
Practically, we will often not even bother with the microscopic lattice model, but rather start with a continuum $k\cdot p$ model and then discretize it.
+So the discrete model following from $k\cdot p$ is orders of magnitude more efficient to work with than tht microscopic model, which is why we most often work with these.
+Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model.
+Practically, we often do not start with an atomistic lattice model, but rather with a continuum $k\cdot p$ model and then discretize it.
This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements.
For example the $k\cdot p$ model for the conduction band minimum state of a GaAs quantum well is $H^{(k)}=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$, where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
\ No newline at end of file

GitLab
From 9f56852f30b3d18430c8c8508dee810af1590e2b Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 24 Jan 2019 22:11:14 +0000
Subject: [PATCH 42/64] Update band_structures.md  removed Bloch and k
superscripts from H  some E superscripts need fixing

src/w0_background/band_structures.md  23 ++++++++++++
1 file changed, 12 insertions(+), 11 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index d9d579b..1637534 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 94,8 +94,8 @@ where $u_l$ is the periodic part of the Bloch function which is identical in eac
The parameter $k$ is called crystal momentum and is quite analogous to momentum (apart from a factor of $\hbar$)
except that it is confined in the range $k\in [\pi,\pi]$ which is referred to as the **Brillouin Zone**.
You can now substitute this ansatz into the Schrodinger equation: $\sum_{l'm}H_{(l,n),(l',m)}u_{l'}e^{i k m}=E_k e^{i k n}u_{l}$.
 Thus the Bloch functions $u^{(k)}$ and energies $E^{(k)}$ are obtained from the eigenvalue equation (socalled Bloch equation) $$H^{(k,Bloch)}u^{(k)}=E^{(k)}u^{(k)},$$
where $$H^{(k,Bloch)}_{ll'}=\sum_{m}H_{(l,m),(l',0)}e^{i k m}.$$
+ Thus the Bloch functions $u(k)$ and energies $E(k)$ are obtained from the eigenvalue equation (socalled Bloch equation) $$H(k)u(k)=E(k)u(k),$$
+where $$H(k)_{ll'}=\sum_{m}H_{(l,m),(l',0)}e^{i k m}.$$
The Bloch equation written above is an eigenvalue problem at any momentum $k$.
The resulting eigenvalues $E^{(n,k)}$ consitute the bandstructure of a material, where the eigenvalue label $n$ is also called a band index.
@@ 112,11 +112,11 @@ Thus there are two kinds of atoms  the former kind we label $R$ and the latter
![](figures/Trans_CH_n.svg)
The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,n\rangle\langle L,n)+t_2(L,n\rangle\langle R,n1+R,n1\rangle\langle L,n)\}.$ This Hamiltonian is clearly periodic with shift of $n$ and the nonzero matrix elements of the Hamiltonian can be written as $H_{(L,0),(R,0)}=H_{(R,0),(L,0)}=t_1$ and $H_{(L,1),(R,0)}=H_{(R,1),(L,0)}=t_2$.
The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H^{(k,Bloch)}_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
+The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H(k)_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(k,\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$
+We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E(k)^{(\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$
Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, $E^{(k,+)}$ goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
> As $k$ varies no energy eigenvalue $E^{(k,\pm)}$ ever enters the range $t_1t_2$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
+> As $k$ varies no energy eigenvalue $E(k)^{(\pm)}$ ever enters the range $t_1t_2$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
This notion of an insulator is rather important in our course.
@@ 130,12 +130,12 @@ This insulator is rather easy to understand in the $t_2=0$ limit and corresponds
## $k\cdot p$ perturbation theory
Let us now think about how we can use the smoothness of $H^{(k,Bloch)}$ to predict energies and wavefunctions at finite $k$ from $H^{(k=0,Bloch)}$ and its derivatives.
We start by expanding the Bloch Hamiltonian $$H^{(k,Bloch)}\approx H^{(k=0,Bloch)}+k H^{'(k=0,Bloch)}+(k^2/2)H^{''(k=0,Bloch)}$$.
+Let us now think about how we can use the smoothness of $H(k)$ to predict energies and wavefunctions at finite $k$ from $H(k=0)$ and its derivatives.
+We start by expanding the Bloch Hamiltonian $$H(k)\approx H(k=0)+k H^{'}(k=0)+(k^2/2)H^{''}(k=0)$$.
Using standard perturbation theory we can conclude that:
> the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(n)}$ and $m_n^{1}=\partial^2_k E^{(k,n)}=u^{(n)\dagger} H^{''(k=0,Bloch)} u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'(k=0,Bloch)} u^{(m)}^2}{E^{(k=0,n)}E^{(k=0,m)}}$,
+> the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$ and $m_n^{1}=\partial^2_k E^{(k,n)}=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E(k=0)^{(n)}E(k=0)^{(m)}}$,
where $E^{(k=0,n)}$ and $u^{(n)}$ are energy eigenvalues and eigenfunctions of $H^{(k=0,Bloch)}$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(k=0,n)}E^{(k=0,m)}$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{(k,)}\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$.
+where $E(k=0)^{(n)}$ and $u^{(n)}(k=0)$ are energy eigenvalues and eigenfunctions of $H(k=0)$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E(k=0)^{(n)}E^{(m)}(k=0)$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{()}(k)\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$.
### Discretizing continuum models for materials
The series expansion of $H^{(k,Bloch)}$ that we discussed in the previous paragraph is often thought of as a continuum description of a material.
@@ 147,8 +147,9 @@ On the other hand, we need to discretize the continuum Hamiltonian to simulate i
The label $n$ is discrete  analogous to the unitcell label, where the unit cell has size $\Lambda$.
To check that this is a representation of the derivative, apply $i k=\partial_x$ to $\psi\rangle$ as $i k\psi\rangle\approx \sum_n \frac{\psi_{n+1}\psi_{n1}}{2\Lambda}n\rangle$.
In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
$$H^{(k,Bloch)}\approx \sum_{n,a,b} H^{(k=0,Bloch)}_{ab}a,n\rangle \langle b,n +i H^{'(k=0,Bloch)}_{ab}(a,n+1\rangle\langle b,na,n\rangle\langle b,n+1),$$
where we have dropped the $k^2$ term for compactness. For future reference, $k^2$ would discretize into $k^2=\sum_n (n\rangle \langle n+2+n+2\rangle\langle n2n\rangle \langle n)$.
+$$H(k)\approx \sum_{n,a,b} H(k=0)_{ab}a,n\rangle \langle b,n +i H^{'}(k=0)_{ab}(a,n+1\rangle\langle b,na,n\rangle\langle b,n+1),$$
+where we have dropped the $k^2$ term for compactness.
+For future reference, $k^2$ would discretize into $k^2=\sum_n (n\rangle \langle n+2+n+2\rangle\langle n2n\rangle \langle n)$.
But wait! Didn't we just go in a circle by starting in a lattice Hamiltonian and coming back to a discrete Hamiltonian?
Well, actually, the lattice in the discretized model from the last paragraph has almost nothing to do with the microscopic lattice we started with.

GitLab
From 05f2a726e0a1a0c0f64f975a351ace7aebee1fc3 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Fri, 25 Jan 2019 03:20:30 +0000
Subject: [PATCH 43/64] Update band_structures.md  cleaned up rest of Bloch
and extra superscripts

src/w0_background/band_structures.md  16 +++++++++
1 file changed, 9 insertions(+), 7 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 1637534..da09fcb 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 114,15 +114,15 @@ Thus there are two kinds of atoms  the former kind we label $R$ and the latter
The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,n\rangle\langle L,n)+t_2(L,n\rangle\langle R,n1+R,n1\rangle\langle L,n)\}.$ This Hamiltonian is clearly periodic with shift of $n$ and the nonzero matrix elements of the Hamiltonian can be written as $H_{(L,0),(R,0)}=H_{(R,0),(L,0)}=t_1$ and $H_{(L,1),(R,0)}=H_{(R,1),(L,0)}=t_2$.
The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H(k)_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E(k)^{(\pm)}=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$
Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, $E^{(k,+)}$ goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{k,}=E^{(+,k)}$.
+We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(\pm)}(k)=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$
+Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, $E^{(+)}(k)$ goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{()}(k)=E^{(+)}(k)$.
> As $k$ varies no energy eigenvalue $E(k)^{(\pm)}$ ever enters the range $t_1t_2$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
This notion of an insulator is rather important in our course.
So let us dewell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$.
This means that $k$ is allowed $N$ discrete values separated by $2\pi/N$ spanning the range $[\pi,\pi]$.
Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{(k,)}$ with ane electron at each $k$ leaving the upper state empty.
+Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{()}(k)$ with ane electron at each $k$ leaving the upper state empty.
This describes a state with $N$ electrons. Furthermore, we can see that to excite the system one would need to transfer an electron from a negative energy state to a positive energy state that would cost at least $2(t_1t_2)$ in energy.
Such a gapped state with a fixed number of electrons cannot respond to an applied voltage and as such must be an insulator.
@@ 133,12 +133,12 @@ This insulator is rather easy to understand in the $t_2=0$ limit and corresponds
Let us now think about how we can use the smoothness of $H(k)$ to predict energies and wavefunctions at finite $k$ from $H(k=0)$ and its derivatives.
We start by expanding the Bloch Hamiltonian $$H(k)\approx H(k=0)+k H^{'}(k=0)+(k^2/2)H^{''}(k=0)$$.
Using standard perturbation theory we can conclude that:
> the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$ and $m_n^{1}=\partial^2_k E^{(k,n)}=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E(k=0)^{(n)}E(k=0)^{(m)}}$,
+> the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$ and $m_n^{1}=\partial^2_k E^{(n)}(k)=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E^{(n)}(k=0)E^{(m)}(k=0)}$,
where $E(k=0)^{(n)}$ and $u^{(n)}(k=0)$ are energy eigenvalues and eigenfunctions of $H(k=0)$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E(k=0)^{(n)}E^{(m)}(k=0)$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{()}(k)\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$.
+where $E^{(n)}(k=0)$ and $u^{(n)}(k=0)$ are energy eigenvalues and eigenfunctions of $H(k=0)$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E(k=0)^{(n)}E^{(m)}(k=0)$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{()}(k)\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$.
### Discretizing continuum models for materials
The series expansion of $H^{(k,Bloch)}$ that we discussed in the previous paragraph is often thought of as a continuum description of a material.
+The series expansion of $H(k)$ that we discussed in the previous paragraph is often thought of as a continuum description of a material.
This is because the series expansion is valid for small $k$ that is much smaller than the Brillouin zone.
The continuum Hamiltonian is obtained by replacing $k$ in the series expasion by $\hbar^{1}p$, where $p=i\hbar\partial_x$ is the momentum operator.
@@ 146,7 +146,9 @@ A continuum Hamiltonian is sometimes easier to work with analytically then the c
On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i(2\Lambda)^{1}\sum_n (n+1\rangle\langle nn\rangle\langle n+1).$$
The label $n$ is discrete  analogous to the unitcell label, where the unit cell has size $\Lambda$.
To check that this is a representation of the derivative, apply $i k=\partial_x$ to $\psi\rangle$ as $i k\psi\rangle\approx \sum_n \frac{\psi_{n+1}\psi_{n1}}{2\Lambda}n\rangle$.
In addition, we need to represent the $N\times N$ matrix structure of $H^{(k=0,Bloch)}$. This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$. Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
+In addition, we need to represent the $N\times N$ matrix structure of $H(k=0)$.
+This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$.
+Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
$$H(k)\approx \sum_{n,a,b} H(k=0)_{ab}a,n\rangle \langle b,n +i H^{'}(k=0)_{ab}(a,n+1\rangle\langle b,na,n\rangle\langle b,n+1),$$
where we have dropped the $k^2$ term for compactness.
For future reference, $k^2$ would discretize into $k^2=\sum_n (n\rangle \langle n+2+n+2\rangle\langle n2n\rangle \langle n)$.

GitLab
From 558ba37dff35177f0107383f0200286112996c3d Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Fri, 25 Jan 2019 03:27:00 +0000
Subject: [PATCH 44/64] Update band_structures.md

src/w0_background/band_structures.md  2 +
1 file changed, 1 insertion(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index da09fcb..360c263 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 135,7 +135,7 @@ We start by expanding the Bloch Hamiltonian $$H(k)\approx H(k=0)+k H^{'}(k=0)+(k
Using standard perturbation theory we can conclude that:
> the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$ and $m_n^{1}=\partial^2_k E^{(n)}(k)=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E^{(n)}(k=0)E^{(m)}(k=0)}$,
where $E^{(n)}(k=0)$ and $u^{(n)}(k=0)$ are energy eigenvalues and eigenfunctions of $H(k=0)$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E(k=0)^{(n)}E^{(m)}(k=0)$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{()}(k)\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$.
+where $E^{(n)}(k=0)$ and $u^{(n)}(k=0)$ are energy eigenvalues and eigenfunctions of $H(k=0)$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(n)}(k=0)E^{(m)}(k=0)$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{()}(k)\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$.
### Discretizing continuum models for materials
The series expansion of $H(k)$ that we discussed in the previous paragraph is often thought of as a continuum description of a material.

GitLab
From a87d3f3200701985dd92d09a429cc3898d0dc6f7 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Fri, 25 Jan 2019 03:37:14 +0000
Subject: [PATCH 45/64] Update band_structures.md

src/w0_background/band_structures.md  2 +
1 file changed, 1 insertion(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 360c263..df66481 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 160,4 +160,4 @@ So the discrete model following from $k\cdot p$ is orders of magnitude more effi
Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model.
Practically, we often do not start with an atomistic lattice model, but rather with a continuum $k\cdot p$ model and then discretize it.
This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements.
For example the $k\cdot p$ model for the conduction band minimum state of a GaAs quantum well is $H^{(k)}=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$, where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
\ No newline at end of file
+For example the $k\cdot p$ model for the conduction band minimum state of a GaAs quantum well is $H(k)=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$, where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
\ No newline at end of file

GitLab
From 319e0163ffe01783d45dbf26d27d471e4f652310 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 02:57:08 +0000
Subject: [PATCH 46/64] Update titles

src/w0_background/band_structures.md  6 +++
1 file changed, 3 insertions(+), 3 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index df66481..d64cec9 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 8,14 +8,14 @@ init_notebook()
# A quick review of band structures
## Quicker intro to quantum mechanics from waves to electrons
+## Quantum mechanics: electrons as waves
For most of this course, all you would need to know about
quantum mechanics is that particles should really be treated
as waves. The equation for any wave can be recast in to the form of the famous Schrodinger equation
$$i\hbar\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
### Beyond the Schrodinger equation
+### Schrodinger equation besides electrons
In case you haven't been indoctrinated with quantum mechanics (skip this section if you have), let us see how to
convert a familiar waveequation for a string in to a Schrodingerlike form.
You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string.
@@ 28,7 +28,7 @@ $$\partial_t h_1=c\partial_x h.$$
We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0\end{array}\right)(i\partial_x).$$ Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation.
But this indeed is the wavefunction for helical Majorana particles that we encounter later on.
### Schrodinger equation and wavefunctions
+### Applying the Schrodinger equation
The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is typically a complex though the Hamiltonian is not a matrix (thankfully):$$H=\frac{\hbar^2}{2m}\partial_x^2 + V(x),$$ where $m$ is the mass of the electron and $V(x)$ is the background potential energy over which the electron is moving.
The main things you should remember about wave equations for electrons is that

GitLab
From c957cd2c0339fed00fae0b7d00dfc7d336ef403e Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 03:06:58 +0000
Subject: [PATCH 47/64] added line breaks around displaymath

src/w0_background/band_structures.md  21 +++++++++++++++
1 file changed, 15 insertions(+), 6 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index d64cec9..68d0439 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 18,18 +18,24 @@ where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
### Schrodinger equation besides electrons
In case you haven't been indoctrinated with quantum mechanics (skip this section if you have), let us see how to
convert a familiar waveequation for a string in to a Schrodingerlike form.
You must have seen a waveequation for a string that looks like $$\partial_t^2 hc^2\partial_x^2 h=0,$$ where $h(x,t)$ is the vertical displacement of the string.
+You must have seen a waveequation for a string that looks like
+$$\partial_t^2 hc^2\partial_x^2 h=0,$$
+where $h(x,t)$ is the vertical displacement of the string.
This waveequation is second order in time.
Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\infty}^x dx_1 \partial_t h(x_1,t)$.
After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
$$\partial_t h = c\partial_x h_1$$ and
$$\partial_t h_1=c\partial_x h.$$
We can turn this into the Schrodinger equation if we define: $$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0\end{array}\right)(i\partial_x).$$ Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation.
+We can turn this into the Schrodinger equation if we define:
+$$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0\end{array}\right)(i\partial_x).$$
+Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation.
But this indeed is the wavefunction for helical Majorana particles that we encounter later on.
### Applying the Schrodinger equation
The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is typically a complex though the Hamiltonian is not a matrix (thankfully):$$H=\frac{\hbar^2}{2m}\partial_x^2 + V(x),$$ where $m$ is the mass of the electron and $V(x)$ is the background potential energy over which the electron is moving.
+The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is typically a complex though the Hamiltonian is not a matrix (thankfully):
+$$H=\frac{\hbar^2}{2m}\partial_x^2 + V(x),$$
+where $m$ is the mass of the electron and $V(x)$ is the background potential energy over which the electron is moving.
The main things you should remember about wave equations for electrons is that
@@ 69,9 +75,11 @@ which can be checked to be the same equation as the linear algebra form.
### Example: Atomic triangle
Let's now work out the simple example of electrons moving in a triangle of atoms, where each atom is assumed to have one orbital. We label the orbitals on the atoms as $0\rangle,1\rangle,2\rangle$.
With this labeling, the **hopping** amplitude $t$ of electrons between orbitals is represented by the Hamiltonian $$H=t(0\rangle \langle 1+1\rangle \langle 2+2\rangle \langle 0)+h.c,$$
+With this labeling, the **hopping** amplitude $t$ of electrons between orbitals is represented by the Hamiltonian
+$$H=t(0\rangle \langle 1+1\rangle \langle 2+2\rangle \langle 0)+h.c,$$
where $h.c.$ stands for Hermitian conjugate, which means that you reverse the ordering of the labels and take a complex conjugate.
We can also write the Hamiltonian in matrix form $$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
+We can also write the Hamiltonian in matrix form
+$$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
You can dump this matrix into Mathematica to get the three eigenvectors $\psi^{(n=1,2,3)}_a$ corresponding to energy eigenvalues $E^{(n=1,2,3)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$). The corresponding eigenvectors $\psi^{(n=1,2,3)}_a$ are $3^{1/2}(1,1,1),3^{1/2}(1,\omega,\omega^2),3^{1/2}(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
## Bloch's theorem for bulk electrons
@@ 131,7 +139,8 @@ This insulator is rather easy to understand in the $t_2=0$ limit and corresponds
## $k\cdot p$ perturbation theory
Let us now think about how we can use the smoothness of $H(k)$ to predict energies and wavefunctions at finite $k$ from $H(k=0)$ and its derivatives.
We start by expanding the Bloch Hamiltonian $$H(k)\approx H(k=0)+k H^{'}(k=0)+(k^2/2)H^{''}(k=0)$$.
+We start by expanding the Bloch Hamiltonian
+$$H(k)\approx H(k=0)+k H^{'}(k=0)+(k^2/2)H^{''}(k=0)$$.
Using standard perturbation theory we can conclude that:
> the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$ and $m_n^{1}=\partial^2_k E^{(n)}(k)=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E^{(n)}(k=0)E^{(m)}(k=0)}$,

GitLab
From 87812fa1ad316ca65a20c447096790531aa02101 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 03:08:35 +0000
Subject: [PATCH 48/64] Update band_structures.md

src/w0_background/band_structures.md  3 ++
1 file changed, 2 insertions(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 68d0439..91301f4 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 24,7 +24,8 @@ where $h(x,t)$ is the vertical displacement of the string.
This waveequation is second order in time.
Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\infty}^x dx_1 \partial_t h(x_1,t)$.
After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
$$\partial_t h = c\partial_x h_1$$ and
+$$\partial_t h = c\partial_x h_1$$
+and
$$\partial_t h_1=c\partial_x h.$$
We can turn this into the Schrodinger equation if we define:

GitLab
From 48c49919dd9b3f2be550730f29e9a0599bd61a05 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 03:21:52 +0000
Subject: [PATCH 49/64] Update band_structures.md

src/w0_background/band_structures.md  12 +++++++
1 file changed, 7 insertions(+), 5 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 91301f4..55dba16 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 11,12 +11,15 @@ init_notebook()
## Quantum mechanics: electrons as waves
For most of this course, all you would need to know about
quantum mechanics is that particles should really be treated
as waves. The equation for any wave can be recast in to the form of the famous Schrodinger equation
+as waves. These waves are described by the famous Schrodinger equation
$$i\hbar\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
+The problem of analyzing this Schrodinger equation can be reduced to the
+eigenvalue problem in linear algebra. In the following, we assume
+familiarity with basic linear (matrix) algebra.
### Schrodinger equation besides electrons
In case you haven't been indoctrinated with quantum mechanics (skip this section if you have), let us see how to
+In case you haven't been indoctrinated with quantum mechanics (skip this subsection if you have), let us see how to
convert a familiar waveequation for a string in to a Schrodingerlike form.
You must have seen a waveequation for a string that looks like
$$\partial_t^2 hc^2\partial_x^2 h=0,$$
@@ 41,7 +44,7 @@ where $m$ is the mass of the electron and $V(x)$ is the background potential ene
The main things you should remember about wave equations for electrons is that
* $\Psi(x,t)$ is complex,
* H is a Hermitian (clarified later) matrix or operator
+* H is a Hermitian matrix or operator
* density of electrons are related to $\Psi(x,t)^2$.
* If N is the number of electrons, one needs to occupy $N$ orthogonal wavefunctions to occupy.
@@ 50,9 +53,8 @@ The last point is more subtle and is called the **Pauli exclusion principle**. W
Since we are interested in static properties of electrons in materials for much of our course, it helps to make the simplifying ansatz: $\Psi=e^{i E t/\hbar}\psi$.
This ansatz simplifies the Schrodinger equation to a timeindependent form:
$$H\psi=E\psi,$$
which resembles the eigenvalue problem in linear algebra.
+which is an eigenvalue problem in linear algebra.
In fact, the good news for those of you familiar with linear algebra is that most of what we talk about is ultimately linear algebra.
We can often model electrons in materials within the socalled **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals on atoms.
We then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$.
The wavefunction amplitudes $\psi_a$ can be combined into $\psi$, which is then thought of as a vector.

GitLab
From d08b7f01d21f0133841d7cf787ccff0e8a979116 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 03:45:09 +0000
Subject: [PATCH 50/64] Update band_structures.md

src/w0_background/band_structures.md  18 +++++++++++
1 file changed, 11 insertions(+), 7 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 55dba16..d6835ac 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 8,9 +8,12 @@ init_notebook()
# A quick review of band structures
+For the material of this course we assume familiarity with basic linear
+algebra, quantum mechanics and solid state physics. In this chapter,
+we briefly review the concepts most relevant to this course.
+
## Quantum mechanics: electrons as waves
For most of this course, all you would need to know about
quantum mechanics is that particles should really be treated
+Quantum mechanics begins with stating that particles such as electrons should really be treated
as waves. These waves are described by the famous Schrodinger equation
$$i\hbar\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
@@ 19,7 +22,8 @@ eigenvalue problem in linear algebra. In the following, we assume
familiarity with basic linear (matrix) algebra.
### Schrodinger equation besides electrons
In case you haven't been indoctrinated with quantum mechanics (skip this subsection if you have), let us see how to
+Our main focus is quantummechanical systems, however, as we will see, many ideas apply also in completely classical context of sound propagation and elasticity.
+To see this, let us
convert a familiar waveequation for a string in to a Schrodingerlike form.
You must have seen a waveequation for a string that looks like
$$\partial_t^2 hc^2\partial_x^2 h=0,$$
@@ 55,10 +59,10 @@ This ansatz simplifies the Schrodinger equation to a timeindependent form:
$$H\psi=E\psi,$$
which is an eigenvalue problem in linear algebra.
We can often model electrons in materials within the socalled **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals on atoms.
We then take $\psi_a$ to denote the wavefunction amplitude of the electron on orbital $a$.
The wavefunction amplitudes $\psi_a$ can be combined into $\psi$, which is then thought of as a vector.
In this linear algebra analogy the Hamiltonian $H$ is seen as a matrix with components $H_{ab}$.
+We can often model electrons in materials within the **tightbinding** approximation where electrons are assumed to occupy a discrete set of orbitals.
+We then take $\psi_a$ to be the wavefunction of the electron on orbital $a$.
+The wavefunctions $\psi_a$ can be combined into $\psi$, which is then a vector.
+In this case, the Hamiltonian $H$ becomes a matrix with components $H_{ab}$.
With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem.
Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$.
A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are:

GitLab
From de1bcca147865f76a1c977733cf89685b3cc7a4e Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 03:55:46 +0000
Subject: [PATCH 51/64] Update band_structures.md

src/w0_background/band_structures.md  6 +++
1 file changed, 3 insertions(+), 3 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index d6835ac..1c496e7 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 63,12 +63,12 @@ We can often model electrons in materials within the **tightbinding** approxim
We then take $\psi_a$ to be the wavefunction of the electron on orbital $a$.
The wavefunctions $\psi_a$ can be combined into $\psi$, which is then a vector.
In this case, the Hamiltonian $H$ becomes a matrix with components $H_{ab}$.
With these definitions, the timeindependent Schrodinger equation from the last paragraph really becomes an eigenvalue problem.
+These definitions transform the timeindependent Schrodinger equation into a matrix eigenvalue problem from linear algebra.
Once we know how to setup the matrix $H_{ab}$ to model a particular material, we can extract the properties of the material from the wavefunction components $\psi_a$ and energy (eigenvalue) $E$.
A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$ are:
* if $H$ is an $N\times N$ matrix, the eigenvalue index $n$ goes from $n=1,\dots,N$.
* $H$ is **Hermitian** i.e. $H_{ab}=H_{ba}^*$.
* Eigenstates are **orthogonal** i.e. $\psi^{(n)\dagger} \psi^{(m)}=0$ for $m\neq n$.
+* $H$ is Hermitian i.e. $H_{ab}=H_{ba}^*$.
+* Eigenstates are orthogonal i.e. $\psi^{(n)\dagger} \psi^{(m)}=0$ for $m\neq n$.
Physicists have a funny but convenient notation for doing linear algebra called the Dirac **braket** notation.

GitLab
From 170906ae3042986cc57ba336137dcf6748e7d435 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 04:09:11 +0000
Subject: [PATCH 52/64] Update band_structures.md

src/w0_background/band_structures.md  14 ++++++++
1 file changed, 8 insertions(+), 6 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 1c496e7..ab787ae 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 71,7 +71,7 @@ A few key properties of the Schrodinger equation $H\psi^{(n)}=E^{(n)}\psi^{(n)}$
* Eigenstates are orthogonal i.e. $\psi^{(n)\dagger} \psi^{(m)}=0$ for $m\neq n$.
Physicists have a funny but convenient notation for doing linear algebra called the Dirac **braket** notation.
+Physicists have a convenient notation for doing linear algebra called the Dirac **braket** notation.
In this notation, wavefunctions such as $\psi$ are represented by **kets** i.e. $\psi\rightarrow \psi\rangle$.
We construct the ket $\psi\rangle$ from the components of the wavefunction $\psi_a$ using the equation: $$\psi\rangle=\sum_a \psi_a a\rangle.$$
Similarly, we turn the Hamiltonian $H$ in to an **operator** using the equation :$$H=\sum_{ab}H_{ab}a\rangle \langle b,$$
@@ 81,13 +81,15 @@ The Schrodinger equation now looks like $$H\psi\rangle = E\psi\rangle,$$
which can be checked to be the same equation as the linear algebra form.
### Example: Atomic triangle
Let's now work out the simple example of electrons moving in a triangle of atoms, where each atom is assumed to have one orbital. We label the orbitals on the atoms as $0\rangle,1\rangle,2\rangle$.
With this labeling, the **hopping** amplitude $t$ of electrons between orbitals is represented by the Hamiltonian
+Let's now work out the simple example of electrons moving in a triangle of atoms, where each atom has one orbital. We label the orbitals as $0\rangle,1\rangle,2\rangle$.
+With this labeling, the **hopping** amplitude $t$ of electrons between orbitals has the Hamiltonian
$$H=t(0\rangle \langle 1+1\rangle \langle 2+2\rangle \langle 0)+h.c,$$
where $h.c.$ stands for Hermitian conjugate, which means that you reverse the ordering of the labels and take a complex conjugate.
We can also write the Hamiltonian in matrix form
$$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
You can dump this matrix into Mathematica to get the three eigenvectors $\psi^{(n=1,2,3)}_a$ corresponding to energy eigenvalues $E^{(n=1,2,3)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$). The corresponding eigenvectors $\psi^{(n=1,2,3)}_a$ are $3^{1/2}(1,1,1),3^{1/2}(1,\omega,\omega^2),3^{1/2}(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
+Diagonalizing this matrix is a straightforward exercise that results in three eigenvectors $\psi^{(n)}_a$ (with $n=1,2,3$)
+corresponding to energy eigenvalues $E^{(n)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$).
+The corresponding eigenvectors $\psi^{(n)}_a$ are $3^{1/2}(1,1,1),3^{1/2}(1,\omega,\omega^2),3^{1/2}(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
## Bloch's theorem for bulk electrons
@@ 95,9 +97,9 @@ Actually, we didn't really need Mathematica to solve the problem of an electron
We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem.
To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal.
The defining property of a crystal is that the atomic positions repeat in a periodic manner in space.
We can account for ALL the atoms in the crystal by first identifying a group of orbitals labelled by $l$ called the **unitcell**.
+We account for ALL the atoms in the crystal by first identifying a group of orbitals labelled by $l$ called the **unitcell**.
We construct the crystal by translating the unit cell by a discrete set of vectors called lattice vectors to $n$.
By combining the unit cell and the lattice vectors, we can construct positions $a=(l,n)$
+By combining the unit cell and the lattice vectors, we construct positions $a=(l,n)$
of all the orbitals in the crystal.
For our example of an atomic ring of size $N$, the index $l$ wouldn't be needed since there is only one orbital per unitcell and $n$ would take values $1$ to $N$.
In a threedimensional crystal, $n=(n_x,n_y,n_z)$ would be a vector of integers.

GitLab
From 5490d05e3c777c50e555227fce7e370c2decfcaf Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 04:31:52 +0000
Subject: [PATCH 53/64] Update band_structures.md

src/w0_background/band_structures.md  20 ++++++++++
1 file changed, 10 insertions(+), 10 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index ab787ae..46a9055 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 93,9 +93,9 @@ The corresponding eigenvectors $\psi^{(n)}_a$ are $3^{1/2}(1,1,1),3^{1/2}(1,\o
## Bloch's theorem for bulk electrons
Actually, we didn't really need Mathematica to solve the problem of an electron in a triangle.
We can even solve an N site ring (triangle being $N=3$). The trick is a neat theorem called Bloch's theorem.
To understand this model in the context of the tightbinding approximation, let us consider electrons in a crystal.
+Actually, we can even solve the problem of an electron in an N site ring (triangle being $N=3$).
+The trick to doing this is a neat theorem called Bloch's theorem.
+Bloch's theorem is the key to understanding electrons in a crystal.
The defining property of a crystal is that the atomic positions repeat in a periodic manner in space.
We account for ALL the atoms in the crystal by first identifying a group of orbitals labelled by $l$ called the **unitcell**.
We construct the crystal by translating the unit cell by a discrete set of vectors called lattice vectors to $n$.
@@ 137,7 +137,7 @@ Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e.
This notion of an insulator is rather important in our course.
So let us dewell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$.
+So let us dwell on this a bit further. Assuming we have a periodic ring with $2N$ atoms so that $n$ takes $N$ values, single valuedness of the wavefunction $\psi_{(l,n)}$ requires that $e^{i k N}=1$.
This means that $k$ is allowed $N$ discrete values separated by $2\pi/N$ spanning the range $[\pi,\pi]$.
Next to describe the lowerenergy state of the electrons we can fill only the lower eigenvalue $E^{()}(k)$ with ane electron at each $k$ leaving the upper state empty.
This describes a state with $N$ electrons. Furthermore, we can see that to excite the system one would need to transfer an electron from a negative energy state to a positive energy state that would cost at least $2(t_1t_2)$ in energy.
@@ 151,29 +151,29 @@ Let us now think about how we can use the smoothness of $H(k)$ to predict energi
We start by expanding the Bloch Hamiltonian
$$H(k)\approx H(k=0)+k H^{'}(k=0)+(k^2/2)H^{''}(k=0)$$.
Using standard perturbation theory we can conclude that:
> the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$ and $m_n^{1}=\partial^2_k E^{(n)}(k)=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E^{(n)}(k=0)E^{(m)}(k=0)}$,
+ the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$ and $m_n^{1}=\partial^2_k E^{(n)}(k)=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E^{(n)}(k=0)E^{(m)}(k=0)}$,
where $E^{(n)}(k=0)$ and $u^{(n)}(k=0)$ are energy eigenvalues and eigenfunctions of $H(k=0)$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(n)}(k=0)E^{(m)}(k=0)$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{()}(k)\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$.
### Discretizing continuum models for materials
The series expansion of $H(k)$ that we discussed in the previous paragraph is often thought of as a continuum description of a material.
+The series expansion of $H(k)$ that we discussed in the previous paragraph is a continuum description of a material.
This is because the series expansion is valid for small $k$ that is much smaller than the Brillouin zone.
The continuum Hamiltonian is obtained by replacing $k$ in the series expasion by $\hbar^{1}p$, where $p=i\hbar\partial_x$ is the momentum operator.
A continuum Hamiltonian is sometimes easier to work with analytically then the crystal lattice of orbitals.
On the other hand, we need to discretize the continuum Hamiltonian to simulate it numerically. We can do this representing $k$ as a discrete derivative operator: $$k=i\partial_x\approx i(2\Lambda)^{1}\sum_n (n+1\rangle\langle nn\rangle\langle n+1).$$
The label $n$ is discrete  analogous to the unitcell label, where the unit cell has size $\Lambda$.
+The label $n$ is discreteanalogous to the unitcell label, where the unit cell has size $\Lambda$.
To check that this is a representation of the derivative, apply $i k=\partial_x$ to $\psi\rangle$ as $i k\psi\rangle\approx \sum_n \frac{\psi_{n+1}\psi_{n1}}{2\Lambda}n\rangle$.
In addition, we need to represent the $N\times N$ matrix structure of $H(k=0)$.
This is done by introducing label $a=1,\dots N$ so that the Hamiltonian is defined on a space labeled by $a,n\rangle$.
Applying these steps to the Hamiltonian within the $k\cdot p$ approximation takes the discrete form:
+Applying these steps to the the $k\cdot p$ Hamiltonian takes the discrete form:
$$H(k)\approx \sum_{n,a,b} H(k=0)_{ab}a,n\rangle \langle b,n +i H^{'}(k=0)_{ab}(a,n+1\rangle\langle b,na,n\rangle\langle b,n+1),$$
where we have dropped the $k^2$ term for compactness.
For future reference, $k^2$ would discretize into $k^2=\sum_n (n\rangle \langle n+2+n+2\rangle\langle n2n\rangle \langle n)$.
But wait! Didn't we just go in a circle by starting in a lattice Hamiltonian and coming back to a discrete Hamiltonian?
Well, actually, the lattice in the discretized model from the last paragraph has almost nothing to do with the microscopic lattice we started with.
More often then not, the lattice constant $\Lambda$ (i.e. effective size of the unitcell) in the latter representation is orders of magnitude larger than the microscopic lattice constant.
+Well, actually, the lattice in the newly discretized model has almost nothing to do with the microscopic lattice we started with.
+More often than not, the lattice constant $\Lambda$ (i.e. effective size of the unitcell) in the latter representation is orders of magnitude larger than the microscopic lattice constant.
So the discrete model following from $k\cdot p$ is orders of magnitude more efficient to work with than tht microscopic model, which is why we most often work with these.
Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model.
Practically, we often do not start with an atomistic lattice model, but rather with a continuum $k\cdot p$ model and then discretize it.

GitLab
From 4e868be85ffaac01ca55cd5e49e4bc7e825eca64 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 04:44:00 +0000
Subject: [PATCH 54/64] added summary

src/w0_background/band_structures.md  13 ++++++++++++
1 file changed, 12 insertions(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 46a9055..fe3ebba 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 178,4 +178,15 @@ So the discrete model following from $k\cdot p$ is orders of magnitude more effi
Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model.
Practically, we often do not start with an atomistic lattice model, but rather with a continuum $k\cdot p$ model and then discretize it.
This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements.
For example the $k\cdot p$ model for the conduction band minimum state of a GaAs quantum well is $H(k)=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$, where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
\ No newline at end of file
+For example the $k\cdot p$ model for the conduction band minimum state of a GaAs quantum well is $H(k)=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$, where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
+
+## Summary
+
+Let us summarize this review of bandstructures.
+The main goal of this section was to review the simplest models for how electrons in crystals can be described quantum mechanically.
+Quantum mechanics views electrons as waves described by the Schrodinger equation.
+The Schrodinger equation when written in a basis of orbitals becomes a matrix eigenvalue problem from linear algebra.
+The Schrodinger equation for electrons in crystals can be solved using Bloch's theorem, where crystal momentum $k$ is a good quantum number.
+We can treat the crystal moemntum $k$ as a derivative when $k$ is small.
+This leads to the $k\cdot p$ Hamiltonian for many materials.
+We solve this Hamiltonian numerically by discretizing the derivative.
\ No newline at end of file

GitLab
From 207a011dc504d4f8d670d90b7d8291cb9ad4b6f3 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 19:23:51 +0000
Subject: [PATCH 55/64] Update band_structures.md

src/w0_background/band_structures.md  14 +++++++
1 file changed, 7 insertions(+), 7 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index fe3ebba..6e2f798 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 17,9 +17,8 @@ Quantum mechanics begins with stating that particles such as electrons should re
as waves. These waves are described by the famous Schrodinger equation
$$i\hbar\partial_t \Psi = H\Psi,$$
where at this point $\Psi$ is the "wavefunction" and $H$ is the Hamiltonian.
The problem of analyzing this Schrodinger equation can be reduced to the
eigenvalue problem in linear algebra. In the following, we assume
familiarity with basic linear (matrix) algebra.
+The problem of analyzing this Schrodinger equation can be reduced to the eigenvalue problem in linear algebra, though in many cases the vector space might be infinite dimensional.
+In the following, we assume familiarity with basic finite dimensional linear (matrix) algebra.
### Schrodinger equation besides electrons
Our main focus is quantummechanical systems, however, as we will see, many ideas apply also in completely classical context of sound propagation and elasticity.
@@ 48,9 +47,9 @@ where $m$ is the mass of the electron and $V(x)$ is the background potential ene
The main things you should remember about wave equations for electrons is that
* $\Psi(x,t)$ is complex,
* H is a Hermitian matrix or operator
+* $H$ is a Hermitian matrix or operator
* density of electrons are related to $\Psi(x,t)^2$.
* If N is the number of electrons, one needs to occupy $N$ orthogonal wavefunctions to occupy.
+* If $N$ is the number of electrons, one must occupy $N$ orthogonal wavefunctions.
The last point is more subtle and is called the **Pauli exclusion principle**. We elaborate on orthogonality later.
@@ 97,8 +96,9 @@ Actually, we can even solve the problem of an electron in an N site ring (triang
The trick to doing this is a neat theorem called Bloch's theorem.
Bloch's theorem is the key to understanding electrons in a crystal.
The defining property of a crystal is that the atomic positions repeat in a periodic manner in space.
We account for ALL the atoms in the crystal by first identifying a group of orbitals labelled by $l$ called the **unitcell**.
We construct the crystal by translating the unit cell by a discrete set of vectors called lattice vectors to $n$.
+We account for ALL the atoms in the crystal by first identifying a finite group of orbitals called the **unitcell**.
+We choose the unitcell so that we can construct the crystal by translating the unit cell by a discrete set of vectors called lattice vectors to $n$.
+We label the orbitals in the unitcell by the index $l$, which takes a finite set of values.
By combining the unit cell and the lattice vectors, we construct positions $a=(l,n)$
of all the orbitals in the crystal.
For our example of an atomic ring of size $N$, the index $l$ wouldn't be needed since there is only one orbital per unitcell and $n$ would take values $1$ to $N$.

GitLab
From 54a381b0bab1eaecff6064dd904439e4a46d7b0a Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 19:34:03 +0000
Subject: [PATCH 56/64] removed long equations from being inline

src/w0_background/band_structures.md  28 ++++++++++++++++++++
1 file changed, 20 insertions(+), 8 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 6e2f798..99c6bde 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 87,8 +87,12 @@ where $h.c.$ stands for Hermitian conjugate, which means that you reverse the or
We can also write the Hamiltonian in matrix form
$$H_{ab}=\left(\begin{array}{ccc}0&t&t^*\\t^*&0&t\\t&t^*&0\end{array}\right).$$
Diagonalizing this matrix is a straightforward exercise that results in three eigenvectors $\psi^{(n)}_a$ (with $n=1,2,3$)
corresponding to energy eigenvalues $E^{(n)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$ (where $t=te^{i\theta}$).
The corresponding eigenvectors $\psi^{(n)}_a$ are $3^{1/2}(1,1,1),3^{1/2}(1,\omega,\omega^2),3^{1/2}(1,\omega^2,\omega)$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
+corresponding to energy eigenvalues
+$$E^{(n)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$$
+(where $t=te^{i\theta}$).
+The corresponding eigenvectors
+$$\psi^{(n)}_a=3^{1/2}(1,1,1),3^{1/2}(1,\omega,\omega^2),3^{1/2}(1,\omega^2,\omega)$
+$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
## Bloch's theorem for bulk electrons
@@ 128,10 +132,13 @@ Thus there are two kinds of atoms  the former kind we label $R$ and the latter
![](figures/Trans_CH_n.svg)
The Hamiltonian for the SSH model is $H=\sum_n \{t_1(L,n\rangle\langle R,n+R,n\rangle\langle L,n)+t_2(L,n\rangle\langle R,n1+R,n1\rangle\langle L,n)\}.$ This Hamiltonian is clearly periodic with shift of $n$ and the nonzero matrix elements of the Hamiltonian can be written as $H_{(L,0),(R,0)}=H_{(R,0),(L,0)}=t_1$ and $H_{(L,1),(R,0)}=H_{(R,1),(L,0)}=t_2$.
+The Hamiltonian for the SSH model is
+$$H=\sum_n \{t_1(L,n\rangle\langle R,n+R,n\rangle\langle L,n)+t_2(L,n\rangle\langle R,n1+R,n1\rangle\langle L,n)\}.$$
+This Hamiltonian is clearly periodic with shift of $n$ and the nonzero matrix elements of the Hamiltonian can be written as $H_{(L,0),(R,0)}=H_{(R,0),(L,0)}=t_1$ and $H_{(L,1),(R,0)}=H_{(R,1),(L,0)}=t_2$.
The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H(k)_{ll'=1,2}=\left(\begin{array}{cc}0& t_1+t_2 e^{i k}\\t_1+t_2 e^{ik}&0\end{array}\right).$$
We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are $E^{(\pm)}(k)=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$
+We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are
+$$E^{(\pm)}(k)=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$$
Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, $E^{(+)}(k)$ goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{()}(k)=E^{(+)}(k)$.
> As $k$ varies no energy eigenvalue $E(k)^{(\pm)}$ ever enters the range $t_1t_2$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
@@ 151,9 +158,12 @@ Let us now think about how we can use the smoothness of $H(k)$ to predict energi
We start by expanding the Bloch Hamiltonian
$$H(k)\approx H(k=0)+k H^{'}(k=0)+(k^2/2)H^{''}(k=0)$$.
Using standard perturbation theory we can conclude that:
 the velocity and mass of a nondegenerate band near $k\sim 0$ is written as $v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$ and $m_n^{1}=\partial^2_k E^{(n)}(k)=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E^{(n)}(k=0)E^{(m)}(k=0)}$,

where $E^{(n)}(k=0)$ and $u^{(n)}(k=0)$ are energy eigenvalues and eigenfunctions of $H(k=0)$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(n)}(k=0)E^{(m)}(k=0)$ (i.e. gap ) becomes small. This can be checked to be the case by expanding $E^{()}(k)\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$.
+ the velocity and mass of a nondegenerate band near $k\sim 0$ is written as
+ $$v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$$
+ and
+ $$m_n^{1}=\partial^2_k E^{(n)}(k)=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E^{(n)}(k=0)E^{(m)}(k=0)}$$,
+where $E^{(n)}(k=0)$ and $u^{(n)}(k=0)$ are energy eigenvalues and eigenfunctions of $H(k=0)$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(n)}(k=0)E^{(m)}(k=0)$ (i.e. gap ) becomes small. This can be checked to be the case by expanding
+$$E^{()}(k)\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$$.
### Discretizing continuum models for materials
The series expansion of $H(k)$ that we discussed in the previous paragraph is a continuum description of a material.
@@ 178,7 +188,9 @@ So the discrete model following from $k\cdot p$ is orders of magnitude more effi
Of course, there is always a danger of missing certain lattice level phenomena in such a coarsegrained model.
Practically, we often do not start with an atomistic lattice model, but rather with a continuum $k\cdot p$ model and then discretize it.
This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements.
For example the $k\cdot p$ model for the conduction band minimum state of a GaAs quantum well is $H(k)=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$, where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
+For example the $k\cdot p$ model for the conduction band minimum state of a GaAs quantum well is
+$$H(k)=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$$,
+where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
## Summary

GitLab
From ecd998d45503c03638281682eec22c02a5c7d7c8 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 19:42:00 +0000
Subject: [PATCH 57/64] Update band_structures.md

src/w0_background/band_structures.md  16 ++++++++
1 file changed, 8 insertions(+), 8 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 99c6bde..e596f9f 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 193,12 +193,12 @@ $$H(k)=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$$,
where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
## Summary

Let us summarize this review of bandstructures.
The main goal of this section was to review the simplest models for how electrons in crystals can be described quantum mechanically.
Quantum mechanics views electrons as waves described by the Schrodinger equation.
The Schrodinger equation when written in a basis of orbitals becomes a matrix eigenvalue problem from linear algebra.
The Schrodinger equation for electrons in crystals can be solved using Bloch's theorem, where crystal momentum $k$ is a good quantum number.
We can treat the crystal moemntum $k$ as a derivative when $k$ is small.
This leads to the $k\cdot p$ Hamiltonian for many materials.
We solve this Hamiltonian numerically by discretizing the derivative.
\ No newline at end of file
+
+Let us summarize this review of bandstructures:
+* Quantum mechanics views electrons as waves described by the Schrodinger equation.
+* The Schrodinger equation when written in a basis of orbitals becomes a matrix eigenvalue problem from linear algebra.
+* The Schrodinger equation for electrons in crystals can be solved using Bloch's theorem, where crystal momentum $k$ is a good quantum number.
+* The crystal momentum $k$ is periodic within the Brillouin zone.
+* We can treat the crystal momentum $k$ as a derivative when $k$ is small  called the $k\cdot p$ approximation.
+* We solve this Hamiltonian numerically by discretizing the derivative $k$.
\ No newline at end of file

GitLab
From 0126447dca2a9dcdcb98a46fdc33fe6fa6dfb65f Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 19:47:37 +0000
Subject: [PATCH 58/64] Update band_structures.md

src/w0_background/band_structures.md  8 ++++
1 file changed, 4 insertions(+), 4 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index e596f9f..e50a8eb 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 8,9 +8,9 @@ init_notebook()
# A quick review of band structures
For the material of this course we assume familiarity with basic linear
algebra, quantum mechanics and solid state physics. In this chapter,
we briefly review the concepts most relevant to this course.
+For the material of this course we assume familiarity with basic linear algebra, quantum mechanics and solid state physics.
+In this chapter, we briefly review the concepts most relevant to this course.
+If you think you know how you would proceed if you are given to compute the bandstructure of a model can skip this chapter.
## Quantum mechanics: electrons as waves
Quantum mechanics begins with stating that particles such as electrons should really be treated
@@ 197,7 +197,7 @@ The main goal of this section was to review the simplest models for how electron
Let us summarize this review of bandstructures:
* Quantum mechanics views electrons as waves described by the Schrodinger equation.
* The Schrodinger equation when written in a basis of orbitals becomes a matrix eigenvalue problem from linear algebra.
+* The Schrodinger equation written in a basis of orbitals becomes a matrix eigenvalue problem from linear algebra.
* The Schrodinger equation for electrons in crystals can be solved using Bloch's theorem, where crystal momentum $k$ is a good quantum number.
* The crystal momentum $k$ is periodic within the Brillouin zone.
* We can treat the crystal momentum $k$ as a derivative when $k$ is small  called the $k\cdot p$ approximation.

GitLab
From bf2bdefbfbc12048b590be8fe9bcce76e70ab3b3 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 19:49:15 +0000
Subject: [PATCH 59/64] Update band_structures.md

src/w0_background/band_structures.md  2 +
1 file changed, 1 insertion(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index e50a8eb..8435fad 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 10,7 +10,7 @@ init_notebook()
For the material of this course we assume familiarity with basic linear algebra, quantum mechanics and solid state physics.
In this chapter, we briefly review the concepts most relevant to this course.
If you think you know how you would proceed if you are given to compute the bandstructure of a model can skip this chapter.
+If you think you know how you would proceed if you are given to compute the bandstructure of graphene can skip this chapter.
## Quantum mechanics: electrons as waves
Quantum mechanics begins with stating that particles such as electrons should really be treated

GitLab
From de79a4d4cde578d5a0f3af454068d6ef8d30e16f Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 20:02:17 +0000
Subject: [PATCH 60/64] Update band_structures.md

src/w0_background/band_structures.md  2 +
1 file changed, 1 insertion(+), 1 deletion()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 8435fad..a3682e0 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 10,7 +10,7 @@ init_notebook()
For the material of this course we assume familiarity with basic linear algebra, quantum mechanics and solid state physics.
In this chapter, we briefly review the concepts most relevant to this course.
If you think you know how you would proceed if you are given to compute the bandstructure of graphene can skip this chapter.
+If you think you know how you would proceed if you are given to compute the bandstructure of graphene then you can skip this chapter.
## Quantum mechanics: electrons as waves
Quantum mechanics begins with stating that particles such as electrons should really be treated

GitLab
From e2950a6c46c90af1a4762a5192a66df305402292 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 20:11:02 +0000
Subject: [PATCH 61/64] Update band_structures.md

src/w0_background/band_structures.md  15 +++++++
1 file changed, 7 insertions(+), 8 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index a3682e0..57351b4 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 10,7 +10,7 @@ init_notebook()
For the material of this course we assume familiarity with basic linear algebra, quantum mechanics and solid state physics.
In this chapter, we briefly review the concepts most relevant to this course.
If you think you know how you would proceed if you are given to compute the bandstructure of graphene then you can skip this chapter.
+If you think you know how you would proceed if you are given to compute the bandstructure of graphene then you can likely skip this chapter.
## Quantum mechanics: electrons as waves
Quantum mechanics begins with stating that particles such as electrons should really be treated
@@ 22,20 +22,19 @@ In the following, we assume familiarity with basic finite dimensional linear (ma
### Schrodinger equation besides electrons
Our main focus is quantummechanical systems, however, as we will see, many ideas apply also in completely classical context of sound propagation and elasticity.
To see this, let us
convert a familiar waveequation for a string in to a Schrodingerlike form.
+To see this, let us convert a familiar waveequation for a string in to a Schrodingerlike form.
You must have seen a waveequation for a string that looks like
$$\partial_t^2 hc^2\partial_x^2 h=0,$$
where $h(x,t)$ is the vertical displacement of the string.
This waveequation is second order in time.
Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1}\int_{\infty}^x dx_1 \partial_t h(x_1,t)$.
+Let's try to make it first order like the Schrodinger equation by defining $h_1(x,t)=c^{1} \partial_t h(x,t)$ and $h_2(x,t)=\partial_x h(x,t)$.
After doing this we see that our waveequation turns into a pair of equations that are linear order in time:
$$\partial_t h = c\partial_x h_1$$
+$$\partial_t h_2 = c\partial_x h_1$$
and
$$\partial_t h_1=c\partial_x h.$$
+$$\partial_t h_1=c\partial_x h_2.$$
We can turn this into the Schrodinger equation if we define:
$$\Psi(x,t)=\left(\begin{array}{c}h(x,t)\\h_1(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0\end{array}\right)(i\partial_x).$$
+$$\Psi(x,t)=\left(\begin{array}{c}h_1(x,t)\\h_2(x,t)\end{array}\right)\quad H=c\left(\begin{array}{cc}0& i\\i & 0\end{array}\right)(i\partial_x).$$
Now those of you who know basic quantum mechanics might say this is a very strange Schrodinger equation.
But this indeed is the wavefunction for helical Majorana particles that we encounter later on.
@@ 44,7 +43,7 @@ The wavefunction $\Psi$ in the Schrodinger equation that describes electrons is
$$H=\frac{\hbar^2}{2m}\partial_x^2 + V(x),$$
where $m$ is the mass of the electron and $V(x)$ is the background potential energy over which the electron is moving.
The main things you should remember about wave equations for electrons is that
+The main things that you should remember about wave equations for electrons are:
* $\Psi(x,t)$ is complex,
* $H$ is a Hermitian matrix or operator

GitLab
From f47630ffc15e038a063f28f6c788ec42cdacdc50 Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 20:12:29 +0000
Subject: [PATCH 62/64] Update band_structures.md

src/w0_background/band_structures.md  4 ++
1 file changed, 2 insertions(+), 2 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 57351b4..8ef311f 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 90,8 +90,8 @@ corresponding to energy eigenvalues
$$E^{(n)}=2 t \cos{\theta},t\cos{\theta}\pm t\sqrt{3}\sin{\theta}$$
(where $t=te^{i\theta}$).
The corresponding eigenvectors
$$\psi^{(n)}_a=3^{1/2}(1,1,1),3^{1/2}(1,\omega,\omega^2),3^{1/2}(1,\omega^2,\omega)$
$ where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
+$$\psi^{(n)}_a=3^{1/2}(1,1,1),3^{1/2}(1,\omega,\omega^2),3^{1/2}(1,\omega^2,\omega)$$
+where $\omega$ is the cuberoot of unity (i.e. $\omega^3=1$).
## Bloch's theorem for bulk electrons

GitLab
From 4f60034d208e3fb393fcf9eb60e575fd513661ba Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 20:17:26 +0000
Subject: [PATCH 63/64] Update band_structures.md

src/w0_background/band_structures.md  8 ++++
1 file changed, 4 insertions(+), 4 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 8ef311f..14ce6ee 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 113,11 +113,11 @@ where $u_l$ is the periodic part of the Bloch function which is identical in eac
The parameter $k$ is called crystal momentum and is quite analogous to momentum (apart from a factor of $\hbar$)
except that it is confined in the range $k\in [\pi,\pi]$ which is referred to as the **Brillouin Zone**.
You can now substitute this ansatz into the Schrodinger equation: $\sum_{l'm}H_{(l,n),(l',m)}u_{l'}e^{i k m}=E_k e^{i k n}u_{l}$.
+You can now substitute this ansatz into the Schrodinger equation: $\sum_{l'm}H_{(l,n),(l',m)}u_{l'}e^{i k m}=E(k) e^{i k n}u_{l}(k)$.
Thus the Bloch functions $u(k)$ and energies $E(k)$ are obtained from the eigenvalue equation (socalled Bloch equation) $$H(k)u(k)=E(k)u(k),$$
where $$H(k)_{ll'}=\sum_{m}H_{(l,m),(l',0)}e^{i k m}.$$
The Bloch equation written above is an eigenvalue problem at any momentum $k$.
The resulting eigenvalues $E^{(n,k)}$ consitute the bandstructure of a material, where the eigenvalue label $n$ is also called a band index.
+The resulting eigenvalues $E^{(n)}(k)$ consitute the bandstructure of a material, where the eigenvalue label $n$ is also called a band index.
### Example: SuSchriefferHeeger model
@@ 139,7 +139,7 @@ The $2\times 2$ Bloch Hamiltonian is calculated to be: $$H(k)_{ll'=1,2}=\left(\b
We can calculate the eigenvalues of this Hamiltonian by taking determinants and we find that the eigenvalues are
$$E^{(\pm)}(k)=\pm \sqrt{t_1^2+t_2^2+2 t_1 t_2\cos{k}}.$$
Since $L$ and $R$ on a given unitcell surrounded one of the shorter bonds (i.e. with larger hopping ) we expect $t_1>t_2$. As $k$ varies across $[\pi,\pi]$, $E^{(+)}(k)$ goes from $t_1t_2$ to $t_1+t_2$. Note that the other energy eigenvalue is just the negative $E^{()}(k)=E^{(+)}(k)$.
> As $k$ varies no energy eigenvalue $E(k)^{(\pm)}$ ever enters the range $t_1t_2$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
+> As $k$ varies no energy eigenvalue $E^{(\pm)}(k)$ ever enters the range $t_1t_2$ to $t_1t_2$. This range is called an **band gap**, which is the first seminal prediction of Bloch theory that explains insulators.
This notion of an insulator is rather important in our course.
@@ 158,7 +158,7 @@ We start by expanding the Bloch Hamiltonian
$$H(k)\approx H(k=0)+k H^{'}(k=0)+(k^2/2)H^{''}(k=0)$$.
Using standard perturbation theory we can conclude that:
the velocity and mass of a nondegenerate band near $k\sim 0$ is written as
 $$v_n =\partial_k E^{(k,n)}= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$$
+ $$v_n =\partial_k E^{(n)}(k)= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$$
and
$$m_n^{1}=\partial^2_k E^{(n)}(k)=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E^{(n)}(k=0)E^{(m)}(k=0)}$$,
where $E^{(n)}(k=0)$ and $u^{(n)}(k=0)$ are energy eigenvalues and eigenfunctions of $H(k=0)$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(n)}(k=0)E^{(m)}(k=0)$ (i.e. gap ) becomes small. This can be checked to be the case by expanding

GitLab
From f476097baf88bb7c8edc4a9ec57b04d9df72b45b Mon Sep 17 00:00:00 2001
From: Jaydeep Sau
Date: Thu, 31 Jan 2019 20:24:40 +0000
Subject: [PATCH 64/64] Update band_structures.md

src/w0_background/band_structures.md  4 ++
1 file changed, 2 insertions(+), 2 deletions()
diff git a/src/w0_background/band_structures.md b/src/w0_background/band_structures.md
index 14ce6ee..4185480 100644
 a/src/w0_background/band_structures.md
+++ b/src/w0_background/band_structures.md
@@ 160,7 +160,7 @@ Using standard perturbation theory we can conclude that:
the velocity and mass of a nondegenerate band near $k\sim 0$ is written as
$$v_n =\partial_k E^{(n)}(k)= u^{(n)\dagger} H^{'}(k=0) u^{(n)}$$
and
 $$m_n^{1}=\partial^2_k E^{(n)}(k)=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E^{(n)}(k=0)E^{(m)}(k=0)}$$,
+ $$m_n^{1}=\partial^2_k E^{(n)}(k)=u^{(n)\dagger} H^{''}(k=0) u^{(n)}+\sum_{m\neq n}\frac{u^{(n)\dagger} H^{'}(k=0) u^{(m)}^2}{E^{(n)}(k=0)E^{(m)}(k=0)},$$
where $E^{(n)}(k=0)$ and $u^{(n)}(k=0)$ are energy eigenvalues and eigenfunctions of $H(k=0)$. One of the immediate consequences of this is that the effective mass $m_n $ vanishes as the energy denominator $E^{(n)}(k=0)E^{(m)}(k=0)$ (i.e. gap ) becomes small. This can be checked to be the case by expanding
$$E^{()}(k)\simeq (t_1t_2)\frac{t_2^2}{(t_1t_2)}k^2$$.
@@ 188,7 +188,7 @@ Of course, there is always a danger of missing certain lattice level phenomena i
Practically, we often do not start with an atomistic lattice model, but rather with a continuum $k\cdot p$ model and then discretize it.
This is because, the latter models can often be constrained quite well by a combination symmetry arguments as well as experimental measurements.
For example the $k\cdot p$ model for the conduction band minimum state of a GaAs quantum well is
$$H(k)=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x)$$,
+$$H(k)=\hbar^2 k^2/2m^*+\alpha_R (\sigma_x k_y\sigma_y k_x),$$
where $m^*$ is the electron effective mass, $\sigma_{x,y}$ are Pauli matrices and $\alpha_R$ is the Rashba spinorbit coupling. This model is rather complicated to derive from the atomistic level (though it can be done). On the hand, it has also been checked experimentally through transport.
## Summary

GitLab