summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrefetch2021-02-20 20:21:32 +0100
committerPrefetch2021-02-20 20:21:32 +0100
commit88d42030530abeba4f3ceaf63da71e6cdfa71267 (patch)
treef16d7f173d8cc4c0ba9eaaf8467099a2bd90555e
parent92a86d01c4837901fa433158294a9ce23cbfcefa (diff)
Stop tracking the knowledge base's index.html files
-rw-r--r--.gitignore1
-rw-r--r--latex/Makefile4
-rw-r--r--static/know/concept/blochs-theorem/index.html103
-rw-r--r--static/know/concept/dirac-notation/index.html137
-rw-r--r--static/know/concept/pauli-exclusion-principle/index.html107
-rw-r--r--static/know/concept/probability-current/index.html108
-rw-r--r--static/know/concept/time-independent-perturbation-theory/index.html230
7 files changed, 3 insertions, 687 deletions
diff --git a/.gitignore b/.gitignore
index dbacc51..7ff419e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
/public/
/mathjax/
/static/mathjax/
+/latex/know/concept/*/index.html
diff --git a/latex/Makefile b/latex/Makefile
index 590d33d..69bf59f 100644
--- a/latex/Makefile
+++ b/latex/Makefile
@@ -4,8 +4,8 @@ CONVFLAGS = --from markdown --to html --standalone --template template.html --ma
know: $(shell find ./know/concept -mindepth 1 -maxdepth 1 -type d -printf "%p/index.html\\n")
for file in $^; do \
- mkdir -p ../static/`dirname $$file` ; \
- cp -v $$file ../static/`dirname $$file`/ ; \
+ mkdir -p ../public/`dirname $$file` ; \
+ cp -v $$file ../public/`dirname $$file`/ ; \
done
know/concept/%/index.html: know/concept/%/source.md template.html main.css
diff --git a/static/know/concept/blochs-theorem/index.html b/static/know/concept/blochs-theorem/index.html
deleted file mode 100644
index f977739..0000000
--- a/static/know/concept/blochs-theorem/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
-<head>
- <meta charset="utf-8" />
- <meta name="generator" content="pandoc" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
- <title>Prefetch | Bloch’s theorem</title>
- <link rel="icon" href="data:,">
- <style>
- body {
- background:#ddd;
- color:#222;
- max-width:80ch;
- text-align:justify;
- margin:auto;
- padding:1em 0;
- font-family:sans-serif;
- line-height:1.3;
- }
- a {text-decoration:none;color:#00f;}
- h1,h2,h3 {text-align:center}
- h1 {font-size:200%;}
- h2 {font-size:160%;}
- h3 {font-size:120%;}
- .nav {height:3rem;font-size:250%;}
- .nav a:link,a:visited {color:#222;}
- .nav a:hover,a:focus,a:active {color:#00f;}
- .navl {width:30%;float:left;text-align:left;}
- .navr {width:70%;float:left;text-align:right;}
- pre {filter:invert(100%);}
- @media (prefers-color-scheme: dark) {
- body {background:#222;filter:invert(100%);}
- } </style>
- <script>
- MathJax = {
- loader: {load: ["[tex]/physics"]},
- tex: {packages: {"[+]": ["physics"]}}
- };
- </script>
- <script src="/mathjax/tex-svg.js" type="text/javascript"></script>
- </head>
-<body>
-<div class="nav">
-<div class="navl"><a href="/">PREFETCH</a></div>
-<div class="navr">
-<a href="/blog/">blog</a>&emsp;
-<a href="/code/">code</a>&emsp;
-<a href="/know/">know</a>
-</div>
-</div>
-<hr>
-<h1 id="blochs-theorem">Bloch’s theorem</h1>
-<p>In quantum mechanics, <em>Bloch’s theorem</em> states that, given a potential <span class="math inline">\(V(\vec{r})\)</span> which is periodic on a lattice, i.e. <span class="math inline">\(V(\vec{r}) = V(\vec{r} + \vec{a})\)</span> for a primitive lattice vector <span class="math inline">\(\vec{a}\)</span>, then it follows that the solutions <span class="math inline">\(\psi(\vec{r})\)</span> to the time-independent Schrödinger equation take the following form, where the function <span class="math inline">\(u(\vec{r})\)</span> is periodic on the same lattice, i.e. <span class="math inline">\(u(\vec{r}) = u(\vec{r} + \vec{a})\)</span>:</p>
-<p><span class="math display">\[
-\begin{aligned}
- \boxed{
- \psi(\vec{r}) = u(\vec{r}) e^{i \vec{k} \cdot \vec{r}}
- }
-\end{aligned}
-\]</span></p>
-<p>In other words, in a periodic potential, the solutions are simply plane waves with a periodic modulation, known as <em>Bloch functions</em> or <em>Bloch states</em>.</p>
-<p>This is suprisingly easy to prove: if the Hamiltonian <span class="math inline">\(\hat{H}\)</span> is lattice-periodic, then it will commute with the unitary translation operator <span class="math inline">\(\hat{T}(\vec{a})\)</span>, i.e. <span class="math inline">\([\hat{H}, \hat{T}(\vec{a})] = 0\)</span>. Therefore <span class="math inline">\(\hat{H}\)</span> and <span class="math inline">\(\hat{T}(\vec{a})\)</span> must share eigenstates <span class="math inline">\(\psi(\vec{r})\)</span>:</p>
-<p><span class="math display">\[
-\begin{aligned}
- \hat{H} \:\psi(\vec{r}) = E \:\psi(\vec{r})
- \qquad
- \hat{T}(\vec{a}) \:\psi(\vec{r}) = \tau \:\psi(\vec{r})
-\end{aligned}
-\]</span></p>
-<p>Since <span class="math inline">\(\hat{T}\)</span> is unitary, its eigenvalues <span class="math inline">\(\tau\)</span> must have the form <span class="math inline">\(e^{i \theta}\)</span>, with <span class="math inline">\(\theta\)</span> real. Therefore a translation by <span class="math inline">\(\vec{a}\)</span> causes a phase shift, for some vector <span class="math inline">\(\vec{k}\)</span>:</p>
-<p><span class="math display">\[
-\begin{aligned}
- \psi(\vec{r} + \vec{a})
- = \hat{T}(\vec{a}) \:\psi(\vec{r})
- = e^{i \theta} \:\psi(\vec{r})
- = e^{i \vec{k} \cdot \vec{a}} \:\psi(\vec{r})
-\end{aligned}
-\]</span></p>
-<p>Let us now define the following function, keeping our arbitrary choice of <span class="math inline">\(\vec{k}\)</span>:</p>
-<p><span class="math display">\[
-\begin{aligned}
- u(\vec{r})
- = e^{- i \vec{k} \cdot \vec{r}} \:\psi(\vec{r})
-\end{aligned}
-\]</span></p>
-<p>As it turns out, this function is guaranteed to be lattice-periodic for any <span class="math inline">\(\vec{k}\)</span>:</p>
-<p><span class="math display">\[
-\begin{aligned}
- u(\vec{r} + \vec{a})
- &amp;= e^{- i \vec{k} \cdot (\vec{r} + \vec{a})} \:\psi(\vec{r} + \vec{a})
- \\
- &amp;= e^{- i \vec{k} \cdot \vec{r}} e^{- i \vec{k} \cdot \vec{a}} e^{i \vec{k} \cdot \vec{a}} \:\psi(\vec{r})
- \\
- &amp;= e^{- i \vec{k} \cdot \vec{r}} \:\psi(\vec{r})
- \\
- &amp;= u(\vec{r})
-\end{aligned}
-\]</span></p>
-<p>Then Bloch’s theorem follows from isolating the definition of <span class="math inline">\(u(\vec{r})\)</span> for <span class="math inline">\(\psi(\vec{r})\)</span>.</p>
-<hr>
-&copy; &quot;Prefetch&quot;. Licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.
-</body>
-</html>
diff --git a/static/know/concept/dirac-notation/index.html b/static/know/concept/dirac-notation/index.html
deleted file mode 100644
index 5da8c1b..0000000
--- a/static/know/concept/dirac-notation/index.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
-<head>
- <meta charset="utf-8" />
- <meta name="generator" content="pandoc" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
- <title>Prefetch | Dirac notation</title>
- <link rel="icon" href="data:,">
- <style>
- body {
- background:#ddd;
- color:#222;
- max-width:80ch;
- text-align:justify;
- margin:auto;
- padding:1em 0;
- font-family:sans-serif;
- line-height:1.3;
- }
- a {text-decoration:none;color:#00f;}
- h1,h2,h3 {text-align:center}
- h1 {font-size:200%;}
- h2 {font-size:160%;}
- h3 {font-size:120%;}
- .nav {height:3rem;font-size:250%;}
- .nav a:link,a:visited {color:#222;}
- .nav a:hover,a:focus,a:active {color:#00f;}
- .navl {width:30%;float:left;text-align:left;}
- .navr {width:70%;float:left;text-align:right;}
- pre {filter:invert(100%);}
- @media (prefers-color-scheme: dark) {
- body {background:#222;filter:invert(100%);}
- } </style>
- <script>
- MathJax = {
- loader: {load: ["[tex]/physics"]},
- tex: {packages: {"[+]": ["physics"]}}
- };
- </script>
- <script src="/mathjax/tex-svg.js" type="text/javascript"></script>
- </head>
-<body>
-<div class="nav">
-<div class="navl"><a href="/">PREFETCH</a></div>
-<div class="navr">
-<a href="/blog/">blog</a>&emsp;
-<a href="/code/">code</a>&emsp;
-<a href="/know/">know</a>
-</div>
-</div>
-<hr>
-<h1 id="dirac-notation">Dirac notation</h1>
-<p><em>Dirac notation</em> is a notation to do calculations in a Hilbert space without needing to worry about the space’s representation. It is basically the <em>lingua franca</em> of quantum mechanics.</p>
-<p>In Dirac notation there are <em>kets</em> <span class="math inline">\(\ket{V}\)</span> from the Hilbert space <span class="math inline">\(\mathbb{H}\)</span> and <em>bras</em> <span class="math inline">\(\bra{V}\)</span> from a dual <span class="math inline">\(\mathbb{H}&#39;\)</span> of the former. Crucially, the bras and kets are from different Hilbert spaces and therefore cannot be added, but every bra has a corresponding ket and vice versa.</p>
-<p>Bras and kets can only be combined in two ways: the <em>inner product</em> <span class="math inline">\(\braket{V}{W}\)</span>, which returns a scalar, and the <em>outer product</em> <span class="math inline">\(\ket{V} \bra{W}\)</span>, which returns a mapping <span class="math inline">\(\hat{L}\)</span> from kets <span class="math inline">\(\ket{V}\)</span> to other kets <span class="math inline">\(\ket{V&#39;}\)</span>, i.e. a linear operator. Recall that the Hilbert inner product must satisfy:</p>
-<p><span class="math display">\[\begin{aligned}
- \braket{V}{W} = \braket{W}{V}^*
-\end{aligned}\]</span></p>
-<p>So far, nothing has been said about the actual representation of bras or kets. If we represent kets as <span class="math inline">\(N\)</span>-dimensional columns vectors, the corresponding bras are given by the kets’ adjoints, i.e. their transpose conjugates:</p>
-<p><span class="math display">\[\begin{aligned}
- \ket{V} =
- \begin{bmatrix}
- v_1 \\ \vdots \\ v_N
- \end{bmatrix}
- \quad \implies \quad
- \bra{V} =
- \begin{bmatrix}
- v_1^* &amp; \cdots &amp; v_N^*
- \end{bmatrix}
-\end{aligned}\]</span></p>
-<p>The inner product <span class="math inline">\(\braket{V}{W}\)</span> is then just the familiar dot product <span class="math inline">\(V \cdot W\)</span>:</p>
-<p><span class="math display">\[\begin{gathered}
- \braket{V}{W}
- =
- \begin{bmatrix}
- v_1^* &amp; \cdots &amp; v_N^*
- \end{bmatrix}
- \cdot
- \begin{bmatrix}
- w_1 \\ \vdots \\ w_N
- \end{bmatrix}
- = v_1^* w_1 + ... + v_N^* w_N
-\end{gathered}\]</span></p>
-<p>Meanwhile, the outer product <span class="math inline">\(\ket{V} \bra{W}\)</span> creates an <span class="math inline">\(N \cross N\)</span> matrix:</p>
-<p><span class="math display">\[\begin{gathered}
- \ket{V} \bra{W}
- =
- \begin{bmatrix}
- v_1 \\ \vdots \\ v_N
- \end{bmatrix}
- \cdot
- \begin{bmatrix}
- w_1^* &amp; \cdots &amp; w_N^*
- \end{bmatrix}
- =
- \begin{bmatrix}
- v_1 w_1^* &amp; \cdots &amp; v_1 w_N^* \\
- \vdots &amp; \ddots &amp; \vdots \\
- v_N w_1^* &amp; \cdots &amp; v_N w_N^*
- \end{bmatrix}
-\end{gathered}\]</span></p>
-<p>If the kets are instead represented by functions <span class="math inline">\(f(x)\)</span> of <span class="math inline">\(x \in [a, b]\)</span>, then the bras represent <em>functionals</em> <span class="math inline">\(F[u(x)]\)</span> which take an unknown function <span class="math inline">\(u(x)\)</span> as an argument and turn it into a scalar using integration:</p>
-<p><span class="math display">\[\begin{aligned}
- \ket{f} = f(x)
- \quad \implies \quad
- \bra{f}
- = F[u(x)]
- = \int_a^b f^*(x) \: u(x) \dd{x}
-\end{aligned}\]</span></p>
-<p>Consequently, the inner product is simply the following familiar integral:</p>
-<p><span class="math display">\[\begin{gathered}
- \braket{f}{g}
- = F[g(x)]
- = \int_a^b f^*(x) \: g(x) \dd{x}
-\end{gathered}\]</span></p>
-<p>However, the outer product becomes something rather abstract:</p>
-<p><span class="math display">\[\begin{gathered}
- \ket{f} \bra{g}
- = f(x) \: G[u(x)]
- = f(x) \int_a^b g^*(\xi) \: u(\xi) \dd{\xi}
-\end{gathered}\]</span></p>
-<p>This result makes more sense if we surround it by a bra and a ket:</p>
-<p><span class="math display">\[\begin{aligned}
- \bra{u} \!\Big(\!\ket{f} \bra{g}\!\Big)\! \ket{w}
- &amp;= U\big[f(x) \: G[w(x)]\big]
- = U\Big[ f(x) \int_a^b g^*(\xi) \: w(\xi) \dd{\xi} \Big]
- \\
- &amp;= \int_a^b u^*(x) \: f(x) \: \Big(\int_a^b g^*(\xi) \: w(\xi) \dd{\xi} \Big) \dd{x}
- \\
- &amp;= \Big( \int_a^b u^*(x) \: f(x) \dd{x} \Big) \Big( \int_a^b g^*(\xi) \: w(\xi) \dd{\xi} \Big)
- \\
- &amp;= \braket{u}{f} \braket{g}{w}
-\end{aligned}\]</span></p>
-<hr>
-&copy; &quot;Prefetch&quot;. Licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.
-</body>
-</html>
diff --git a/static/know/concept/pauli-exclusion-principle/index.html b/static/know/concept/pauli-exclusion-principle/index.html
deleted file mode 100644
index 5389c02..0000000
--- a/static/know/concept/pauli-exclusion-principle/index.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
-<head>
- <meta charset="utf-8" />
- <meta name="generator" content="pandoc" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
- <title>Prefetch | Pauli exclusion principle</title>
- <link rel="icon" href="data:,">
- <style>
- body {
- background:#ddd;
- color:#222;
- max-width:80ch;
- text-align:justify;
- margin:auto;
- padding:1em 0;
- font-family:sans-serif;
- line-height:1.3;
- }
- a {text-decoration:none;color:#00f;}
- h1,h2,h3 {text-align:center}
- h1 {font-size:200%;}
- h2 {font-size:160%;}
- h3 {font-size:120%;}
- .nav {height:3rem;font-size:250%;}
- .nav a:link,a:visited {color:#222;}
- .nav a:hover,a:focus,a:active {color:#00f;}
- .navl {width:30%;float:left;text-align:left;}
- .navr {width:70%;float:left;text-align:right;}
- pre {filter:invert(100%);}
- @media (prefers-color-scheme: dark) {
- body {background:#222;filter:invert(100%);}
- } </style>
- <script>
- MathJax = {
- loader: {load: ["[tex]/physics"]},
- tex: {packages: {"[+]": ["physics"]}}
- };
- </script>
- <script src="/mathjax/tex-svg.js" type="text/javascript"></script>
- </head>
-<body>
-<div class="nav">
-<div class="navl"><a href="/">PREFETCH</a></div>
-<div class="navr">
-<a href="/blog/">blog</a>&emsp;
-<a href="/code/">code</a>&emsp;
-<a href="/know/">know</a>
-</div>
-</div>
-<hr>
-<h1 id="pauli-exclusion-principle">Pauli exclusion principle</h1>
-<p>In quantum mechanics, the <em>Pauli exclusion principle</em> is a theorem that has profound consequences for how the world works.</p>
-<p>Suppose we have a composite state <span class="math inline">\(\ket*{x_1}\ket*{x_2} = \ket*{x_1} \otimes \ket*{x_2}\)</span>, where the two identical particles <span class="math inline">\(x_1\)</span> and <span class="math inline">\(x_2\)</span> each can occupy the same two allowed states <span class="math inline">\(a\)</span> and <span class="math inline">\(b\)</span>. We then define the permutation operator <span class="math inline">\(\hat{P}\)</span> as follows:</p>
-<p><span class="math display">\[\begin{aligned}
- \hat{P} \ket{a}\ket{b} = \ket{b}\ket{a}
-\end{aligned}\]</span></p>
-<p>That is, it swaps the states of the particles. Obviously, swapping the states twice simply gives the original configuration again, so:</p>
-<p><span class="math display">\[\begin{aligned}
- \hat{P}^2 \ket{a}\ket{b} = \ket{a}\ket{b}
-\end{aligned}\]</span></p>
-<p>Therefore, <span class="math inline">\(\ket{a}\ket{b}\)</span> is an eigenvector of <span class="math inline">\(\hat{P}^2\)</span> with eigenvalue <span class="math inline">\(1\)</span>. Since <span class="math inline">\([\hat{P}, \hat{P}^2] = 0\)</span>, <span class="math inline">\(\ket{a}\ket{b}\)</span> must also be an eigenket of <span class="math inline">\(\hat{P}\)</span> with eigenvalue <span class="math inline">\(\lambda\)</span>, satisfying <span class="math inline">\(\lambda^2 = 1\)</span>, so we know that <span class="math inline">\(\lambda = 1\)</span> or <span class="math inline">\(\lambda = -1\)</span>.</p>
-<p>As it turns out, in nature, each class of particle has a single associated permutation eigenvalue <span class="math inline">\(\lambda\)</span>, or in other words: whether <span class="math inline">\(\lambda\)</span> is <span class="math inline">\(-1\)</span> or <span class="math inline">\(1\)</span> depends on the species of particle that <span class="math inline">\(x_1\)</span> and <span class="math inline">\(x_2\)</span> represent. Particles with <span class="math inline">\(\lambda = -1\)</span> are called <em>fermions</em>, and those with <span class="math inline">\(\lambda = 1\)</span> are known as <em>bosons</em>. We define <span class="math inline">\(\hat{P}_f\)</span> with <span class="math inline">\(\lambda = -1\)</span> and <span class="math inline">\(\hat{P}_b\)</span> with <span class="math inline">\(\lambda = 1\)</span>, such that:</p>
-<p><span class="math display">\[\begin{aligned}
- \hat{P}_f \ket{a}\ket{b} = \ket{b}\ket{a} = - \ket{a}\ket{b}
- \qquad
- \hat{P}_b \ket{a}\ket{b} = \ket{b}\ket{a} = \ket{a}\ket{b}
-\end{aligned}\]</span></p>
-<p>Another fundamental fact of nature is that identical particles cannot be distinguished by any observation. Therefore it is impossible to tell apart <span class="math inline">\(\ket{a}\ket{b}\)</span> and the permuted state <span class="math inline">\(\ket{b}\ket{a}\)</span>, regardless of the eigenvalue <span class="math inline">\(\lambda\)</span>. There is no physical difference!</p>
-<p>But this does not mean that <span class="math inline">\(\hat{P}\)</span> is useless: despite not having any observable effect, the resulting difference between fermions and bosons is absolutely fundamental. Consider the following superposition state, where <span class="math inline">\(\alpha\)</span> and <span class="math inline">\(\beta\)</span> are unknown:</p>
-<p><span class="math display">\[\begin{aligned}
- \ket{\Psi(a, b)}
- = \alpha \ket{a}\ket{b} + \beta \ket{b}\ket{a}
-\end{aligned}\]</span></p>
-<p>When we apply <span class="math inline">\(\hat{P}\)</span>, we can “choose” between two “intepretations” of its action, both shown below. Obviously, since the left-hand sides are equal, the right-hand sides must be equal too:</p>
-<p><span class="math display">\[\begin{aligned}
- \hat{P} \ket{\Psi(a, b)}
- &amp;= \lambda \alpha \ket{a}\ket{b} + \lambda \beta \ket{b}\ket{a}
- \\
- \hat{P} \ket{\Psi(a, b)}
- &amp;= \alpha \ket{b}\ket{a} + \beta \ket{a}\ket{b}
-\end{aligned}\]</span></p>
-<p>This gives us the equations <span class="math inline">\(\lambda \alpha = \beta\)</span> and <span class="math inline">\(\lambda \beta = \alpha\)</span>. In fact, just from this we could have deduced that <span class="math inline">\(\lambda\)</span> can be either <span class="math inline">\(-1\)</span> or <span class="math inline">\(1\)</span>. In any case, for bosons (<span class="math inline">\(\lambda = 1\)</span>), we thus find that <span class="math inline">\(\alpha = \beta\)</span>:</p>
-<p><span class="math display">\[\begin{aligned}
- \ket{\Psi(a, b)}_b = C \big( \ket{a}\ket{b} + \ket{b}\ket{a} \big)
-\end{aligned}\]</span></p>
-<p>Where <span class="math inline">\(C\)</span> is a normalization constant. As expected, this state is <em>symmetric</em>: switching <span class="math inline">\(a\)</span> and <span class="math inline">\(b\)</span> gives the same result. Meanwhile, for fermions (<span class="math inline">\(\lambda = -1\)</span>), we find that <span class="math inline">\(\alpha = -\beta\)</span>:</p>
-<p><span class="math display">\[\begin{aligned}
- \ket{\Psi(a, b)}_f = C \big( \ket{a}\ket{b} - \ket{b}\ket{a} \big)
-\end{aligned}\]</span></p>
-<p>This state called <em>antisymmetric</em> under exchange: switching <span class="math inline">\(a\)</span> and <span class="math inline">\(b\)</span> causes a sign change, as we would expect for fermions.</p>
-<p>Now, what if the particles <span class="math inline">\(x_1\)</span> and <span class="math inline">\(x_2\)</span> are in the same state <span class="math inline">\(a\)</span>? For bosons, we just need to update the normalization constant <span class="math inline">\(C\)</span>:</p>
-<p><span class="math display">\[\begin{aligned}
- \ket{\Psi(a, a)}_b
- = C \ket{a}\ket{a}
-\end{aligned}\]</span></p>
-<p>However, for fermions, the state is unnormalizable and thus unphysical:</p>
-<p><span class="math display">\[\begin{aligned}
- \ket{\Psi(a, a)}_f
- = C \big( \ket{a}\ket{a} - \ket{a}\ket{a} \big)
- = 0
-\end{aligned}\]</span></p>
-<p>At last, this is the Pauli exclusion principle: fermions may never occupy the same quantum state. One of the many notable consequences of this is that the shells of an atom only fit a limited number of electrons, since each must have a different quantum number.</p>
-<hr>
-&copy; &quot;Prefetch&quot;. Licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.
-</body>
-</html>
diff --git a/static/know/concept/probability-current/index.html b/static/know/concept/probability-current/index.html
deleted file mode 100644
index b256e52..0000000
--- a/static/know/concept/probability-current/index.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
-<head>
- <meta charset="utf-8" />
- <meta name="generator" content="pandoc" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
- <title>Prefetch | Probability current</title>
- <link rel="icon" href="data:,">
- <style>
- body {
- background:#ddd;
- color:#222;
- max-width:80ch;
- text-align:justify;
- margin:auto;
- padding:1em 0;
- font-family:sans-serif;
- line-height:1.3;
- }
- a {text-decoration:none;color:#00f;}
- h1,h2,h3 {text-align:center}
- h1 {font-size:200%;}
- h2 {font-size:160%;}
- h3 {font-size:120%;}
- .nav {height:3rem;font-size:250%;}
- .nav a:link,a:visited {color:#222;}
- .nav a:hover,a:focus,a:active {color:#00f;}
- .navl {width:30%;float:left;text-align:left;}
- .navr {width:70%;float:left;text-align:right;}
- pre {filter:invert(100%);}
- @media (prefers-color-scheme: dark) {
- body {background:#222;filter:invert(100%);}
- } </style>
- <script>
- MathJax = {
- loader: {load: ["[tex]/physics"]},
- tex: {packages: {"[+]": ["physics"]}}
- };
- </script>
- <script src="/mathjax/tex-svg.js" type="text/javascript"></script>
- </head>
-<body>
-<div class="nav">
-<div class="navl"><a href="/">PREFETCH</a></div>
-<div class="navr">
-<a href="/blog/">blog</a>&emsp;
-<a href="/code/">code</a>&emsp;
-<a href="/know/">know</a>
-</div>
-</div>
-<hr>
-<h1 id="probability-current">Probability current</h1>
-<p>In quantum mechanics, the <em>probability current</em> describes the movement of the probability of finding a particle at given point in space. In other words, it treats the particle as a heterogeneous fluid with density <span class="math inline">\(|\psi|^2\)</span>. Now, the probability of finding the particle within a volume <span class="math inline">\(V\)</span> is:</p>
-<p><span class="math display">\[\begin{aligned}
- P = \int_{V} | \psi |^2 \dd[3]{\vec{r}}
-\end{aligned}\]</span></p>
-<p>As the system evolves in time, this probability may change, so we take its derivative with respect to time <span class="math inline">\(t\)</span>, and when necessary substitute in the other side of the Schrödinger equation to get:</p>
-<p><span class="math display">\[\begin{aligned}
- \pdv{P}{t}
- &amp;= \int_{V} \psi \pdv{\psi^*}{t} + \psi^* \pdv{\psi}{t} \dd[3]{\vec{r}}
- = \frac{i}{\hbar} \int_{V} \psi (\hat{H} \psi^*) - \psi^* (\hat{H} \psi) \dd[3]{\vec{r}}
- \\
- &amp;= \frac{i}{\hbar} \int_{V} \psi \Big( \!-\! \frac{\hbar^2}{2 m} \nabla^2 \psi^* + V(\vec{r}) \psi^* \Big)
- - \psi^* \Big( \!-\! \frac{\hbar^2}{2 m} \nabla^2 \psi + V(\vec{r}) \psi \Big) \dd[3]{\vec{r}}
- \\
- &amp;= \frac{i \hbar}{2 m} \int_{V} - \psi \nabla^2 \psi^* + \psi^* \nabla^2 \psi \dd[3]{\vec{r}}
- = - \int_{V} \nabla \cdot \vec{J} \dd[3]{\vec{r}}
-\end{aligned}\]</span></p>
-<p>Where we have defined the probability current <span class="math inline">\(\vec{J}\)</span> as follows in the <span class="math inline">\(\vec{r}\)</span>-basis:</p>
-<p><span class="math display">\[\begin{aligned}
- \vec{J}
- = \frac{i \hbar}{2 m} (\psi \nabla \psi^* - \psi^* \nabla \psi)
- = \mathrm{Re} \Big\{ \psi \frac{i \hbar}{m} \psi^* \Big\}
-\end{aligned}\]</span></p>
-<p>Let us rewrite this using the momentum operator <span class="math inline">\(\hat{p} = -i \hbar \nabla\)</span> as follows, noting that <span class="math inline">\(\hat{p} / m\)</span> is simply the velocity operator <span class="math inline">\(\hat{v}\)</span>:</p>
-<p><span class="math display">\[\begin{aligned}
- \boxed{
- \vec{J}
- = \frac{1}{2 m} ( \psi^* \hat{p} \psi - \psi \hat{p} \psi^*)
- = \mathrm{Re} \Big\{ \psi^* \frac{\hat{p}}{m} \psi \Big\}
- = \mathrm{Re} \{ \psi^* \hat{v} \psi \}
- }
-\end{aligned}\]</span></p>
-<p>Returning to the derivation of <span class="math inline">\(\vec{J}\)</span>, we now have the following equation:</p>
-<p><span class="math display">\[\begin{aligned}
- \pdv{P}{t}
- = \int_{V} \pdv{|\psi|^2}{t} \dd[3]{\vec{r}}
- = - \int_{V} \nabla \cdot \vec{J} \dd[3]{\vec{r}}
-\end{aligned}\]</span></p>
-<p>By removing the integrals, we thus arrive at the <em>continuity equation</em> for <span class="math inline">\(\vec{J}\)</span>:</p>
-<p><span class="math display">\[\begin{aligned}
- \boxed{
- \nabla \cdot \vec{J}
- = - \pdv{|\psi|^2}{t}
- }
-\end{aligned}\]</span></p>
-<p>This states that the total probability is conserved, and is reminiscent of charge conservation in electromagnetism. In other words, the probability at a point can only change by letting it “flow” towards or away from it. Thus <span class="math inline">\(\vec{J}\)</span> represents the flow of probability, which is analogous to the motion of a particle.</p>
-<p>As a bonus, this still holds for a particle in an electromagnetic vector potential <span class="math inline">\(\vec{A}\)</span>, thanks to the gauge invariance of the Schrödinger equation. We can thus extend the definition to a particle with charge <span class="math inline">\(q\)</span> in an SI-unit field, neglecting spin:</p>
-<p><span class="math display">\[\begin{aligned}
- \boxed{
- \vec{J}
- = \mathrm{Re} \Big\{ \psi^* \frac{\hat{p} - q \vec{A}}{m} \psi \Big\}
- }
-\end{aligned}\]</span></p>
-<hr>
-&copy; &quot;Prefetch&quot;. Licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.
-</body>
-</html>
diff --git a/static/know/concept/time-independent-perturbation-theory/index.html b/static/know/concept/time-independent-perturbation-theory/index.html
deleted file mode 100644
index aeaa570..0000000
--- a/static/know/concept/time-independent-perturbation-theory/index.html
+++ /dev/null
@@ -1,230 +0,0 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
-<head>
- <meta charset="utf-8" />
- <meta name="generator" content="pandoc" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
- <title>Prefetch | Time-independent perturbation theory</title>
- <link rel="icon" href="data:,">
- <style>
- body {
- background:#ddd;
- color:#222;
- max-width:80ch;
- text-align:justify;
- margin:auto;
- padding:1em 0;
- font-family:sans-serif;
- line-height:1.3;
- }
- a {text-decoration:none;color:#00f;}
- h1,h2,h3 {text-align:center}
- h1 {font-size:200%;}
- h2 {font-size:160%;}
- h3 {font-size:120%;}
- .nav {height:3rem;font-size:250%;}
- .nav a:link,a:visited {color:#222;}
- .nav a:hover,a:focus,a:active {color:#00f;}
- .navl {width:30%;float:left;text-align:left;}
- .navr {width:70%;float:left;text-align:right;}
- pre {filter:invert(100%);}
- @media (prefers-color-scheme: dark) {
- body {background:#222;filter:invert(100%);}
- } </style>
- <script>
- MathJax = {
- loader: {load: ["[tex]/physics"]},
- tex: {packages: {"[+]": ["physics"]}}
- };
- </script>
- <script src="/mathjax/tex-svg.js" type="text/javascript"></script>
- </head>
-<body>
-<div class="nav">
-<div class="navl"><a href="/">PREFETCH</a></div>
-<div class="navr">
-<a href="/blog/">blog</a>&emsp;
-<a href="/code/">code</a>&emsp;
-<a href="/know/">know</a>
-</div>
-</div>
-<hr>
-<h1 id="time-independent-perturbation-theory">Time-independent perturbation theory</h1>
-<p><em>Time-independent perturbation theory</em>, sometimes also called <em>stationary state perturbation theory</em>, is a specific application of perturbation theory to the time-independent Schrödinger equation in quantum physics, for Hamiltonians of the following form:</p>
-<p><span class="math display">\[\begin{aligned}
- \hat{H} = \hat{H}_0 + \lambda \hat{H}_1
-\end{aligned}\]</span></p>
-<p>Where <span class="math inline">\(\hat{H}_0\)</span> is a Hamiltonian for which the time-independent Schrödinger equation has a known solution, and <span class="math inline">\(\hat{H}_1\)</span> is a small perturbing Hamiltonian. The eigenenergies <span class="math inline">\(E_n\)</span> and eigenstates <span class="math inline">\(\ket{\psi_n}\)</span> of the composite problem are expanded in the perturbation “bookkeeping” parameter <span class="math inline">\(\lambda\)</span>:</p>
-<p><span class="math display">\[\begin{aligned}
- \ket{\psi_n}
- &amp;= \ket*{\psi_n^{(0)}} + \lambda \ket*{\psi_n^{(1)}} + \lambda^2 \ket*{\psi_n^{(2)}} + ...
- \\
- E_n
- &amp;= E_n^{(0)} + \lambda E_n^{(1)} + \lambda^2 E_n^{(2)} + ...
-\end{aligned}\]</span></p>
-<p>Where <span class="math inline">\(E_n^{(1)}\)</span> and <span class="math inline">\(\ket*{\psi_n^{(1)}}\)</span> are called the <em>first-order corrections</em>, and so on for higher orders. We insert this into the Schrödinger equation:</p>
-<p><span class="math display">\[\begin{aligned}
- \hat{H} \ket{\psi_n}
- &amp;= \hat{H}_0 \ket*{\psi_n^{(0)}}
- + \lambda \big( \hat{H}_1 \ket*{\psi_n^{(0)}} + \hat{H}_0 \ket*{\psi_n^{(1)}} \big) \\
- &amp;\qquad + \lambda^2 \big( \hat{H}_1 \ket*{\psi_n^{(1)}} + \hat{H}_0 \ket*{\psi_n^{(2)}} \big) + ...
- \\
- E_n \ket{\psi_n}
- &amp;= E_n^{(0)} \ket*{\psi_n^{(0)}}
- + \lambda \big( E_n^{(1)} \ket*{\psi_n^{(0)}} + E_n^{(0)} \ket*{\psi_n^{(1)}} \big) \\
- &amp;\qquad + \lambda^2 \big( E_n^{(2)} \ket*{\psi_n^{(0)}} + E_n^{(1)} \ket*{\psi_n^{(1)}} + E_n^{(0)} \ket*{\psi_n^{(2)}} \big) + ...
-\end{aligned}\]</span></p>
-<p>If we collect the terms according to the order of <span class="math inline">\(\lambda\)</span>, we arrive at the following endless series of equations, of which in practice only the first three are typically used:</p>
-<p><span class="math display">\[\begin{aligned}
- \hat{H}_0 \ket*{\psi_n^{(0)}}
- &amp;= E_n^{(0)} \ket*{\psi_n^{(0)}}
- \\
- \hat{H}_1 \ket*{\psi_n^{(0)}} + \hat{H}_0 \ket*{\psi_n^{(1)}}
- &amp;= E_n^{(1)} \ket*{\psi_n^{(0)}} + E_n^{(0)} \ket*{\psi_n^{(1)}}
- \\
- \hat{H}_1 \ket*{\psi_n^{(1)}} + \hat{H}_0 \ket*{\psi_n^{(2)}}
- &amp;= E_n^{(2)} \ket*{\psi_n^{(0)}} + E_n^{(1)} \ket*{\psi_n^{(1)}} + E_n^{(0)} \ket*{\psi_n^{(2)}}
- \\
- ...
- &amp;= ...
-\end{aligned}\]</span></p>
-<p>The first equation is the unperturbed problem, which we assume has already been solved, with eigenvalues <span class="math inline">\(E_n^{(0)} = \varepsilon_n\)</span> and eigenvectors <span class="math inline">\(\ket*{\psi_n^{(0)}} = \ket{n}\)</span>:</p>
-<p><span class="math display">\[\begin{aligned}
- \hat{H}_0 \ket{n} = \varepsilon_n \ket{n}
-\end{aligned}\]</span></p>
-<p>The approach to solving the other two equations varies depending on whether this <span class="math inline">\(\hat{H}_0\)</span> has a degenerate spectrum or not.</p>
-<h2 id="without-degeneracy">Without degeneracy</h2>
-<p>We start by assuming that there is no degeneracy, in other words, each <span class="math inline">\(\varepsilon_n\)</span> corresponds to one <span class="math inline">\(\ket{n}\)</span>. At order <span class="math inline">\(\lambda^1\)</span>, we rewrite the equation as follows:</p>
-<p><span class="math display">\[\begin{aligned}
- (\hat{H}_1 - E_n^{(1)}) \ket{n} + (\hat{H}_0 - \varepsilon_n) \ket*{\psi_n^{(1)}} = 0
-\end{aligned}\]</span></p>
-<p>Since <span class="math inline">\(\ket{n}\)</span> form a complete basis, we can express <span class="math inline">\(\ket*{\psi_n^{(1)}}\)</span> in terms of them:</p>
-<p><span class="math display">\[\begin{aligned}
- \ket*{\psi_n^{(1)}} = \sum_{m \neq n} c_m \ket{m}
-\end{aligned}\]</span></p>
-<p>Importantly, <span class="math inline">\(n\)</span> has been removed from the summation to prevent dividing by zero later. We are allowed to do this, because <span class="math inline">\(\ket*{\psi_n^{(1)}} - c_n \ket{n}\)</span> also satisfies the order-<span class="math inline">\(\lambda^1\)</span> equation for any value of <span class="math inline">\(c_n\)</span>, as demonstrated here:</p>
-<p><span class="math display">\[\begin{aligned}
- (\hat{H}_1 - E_n^{(1)}) \ket{n} + (\hat{H}_0 - \varepsilon_n) \ket*{\psi_n^{(1)}} - (\varepsilon_n - \varepsilon_n) c_n \ket{n} = 0
-\end{aligned}\]</span></p>
-<p>Where we used <span class="math inline">\(\hat{H}_0 \ket{n} = \varepsilon_n \ket{n}\)</span>. We insert the series form of <span class="math inline">\(\ket*{\psi_n^{(1)}}\)</span> into the <span class="math inline">\(\lambda^1\)</span>-equation:</p>
-<p><span class="math display">\[\begin{aligned}
- (\hat{H}_1 - E_n^{(1)}) \ket{n} + \sum_{m \neq n} c_m (\varepsilon_m - \varepsilon_n) \ket{m} = 0
-\end{aligned}\]</span></p>
-<p>We then put an arbitrary basis vector <span class="math inline">\(\bra{k}\)</span> in front of this equation to get:</p>
-<p><span class="math display">\[\begin{aligned}
- \matrixel{k}{\hat{H}_1}{n} - E_n^{(1)} \braket{k}{n} + \sum_{m \neq n} c_m (\varepsilon_m - \varepsilon_n) \braket{k}{m} = 0
-\end{aligned}\]</span></p>
-<p>Suppose that <span class="math inline">\(k = n\)</span>. Since <span class="math inline">\(\ket{n}\)</span> form an orthonormal basis, we end up with:</p>
-<p><span class="math display">\[\begin{aligned}
- \boxed{
- E_n^{(1)} = \matrixel{n}{\hat{H}_1}{n}
- }
-\end{aligned}\]</span></p>
-<p>In other words, the first-order energy correction <span class="math inline">\(E_n^{(1)}\)</span> is the expectation value of the perturbation <span class="math inline">\(\hat{H}_1\)</span> for the unperturbed state <span class="math inline">\(\ket{n}\)</span>.</p>
-<p>Suppose now that <span class="math inline">\(k \neq n\)</span>, then only one term of the summation survives, and we are left with the following equation, which tells us <span class="math inline">\(c_l\)</span>:</p>
-<p><span class="math display">\[\begin{aligned}
- \matrixel{k}{\hat{H}_1}{n} + c_k (\varepsilon_k - \varepsilon_n) = 0
-\end{aligned}\]</span></p>
-<p>We isolate this result for <span class="math inline">\(c_k\)</span> and insert it into the series form of <span class="math inline">\(\ket*{\psi_n^{(1)}}\)</span> to get the full first-order correction to the wave function:</p>
-<p><span class="math display">\[\begin{aligned}
- \boxed{
- \ket*{\psi_n^{(1)}}
- = \sum_{m \neq n} \frac{\matrixel{m}{\hat{H}_1}{n}}{\varepsilon_n - \varepsilon_m} \ket{m}
- }
-\end{aligned}\]</span></p>
-<p>Here it is clear why this is only valid in the non-degenerate case: otherwise we would divide by zero in the denominator.</p>
-<p>Next, to find the second-order correction to the energy <span class="math inline">\(E_n^{(2)}\)</span>, we take the corresponding equation and put <span class="math inline">\(\bra{n}\)</span> in front of it:</p>
-<p><span class="math display">\[\begin{aligned}
- \matrixel{n}{\hat{H}_1}{\psi_n^{(1)}} + \matrixel{n}{\hat{H}_0}{\psi_n^{(2)}}
- &a