summaryrefslogtreecommitdiff
path: root/latex
diff options
context:
space:
mode:
authorPrefetch2021-02-20 13:46:18 +0100
committerPrefetch2021-02-20 13:46:18 +0100
commite71c14aa725d71a2ea7310c69b3d11a8bc12c0b0 (patch)
tree987d344c8758d3250cf5c997891b8e645dd00594 /latex
parentf7d88d0ae1c5544cc517ae6b25970f82d82b1496 (diff)
Add latex/ directory + fix MathJax renderer
Diffstat (limited to 'latex')
-rw-r--r--latex/Makefile13
-rw-r--r--latex/know/concept/blochs-theorem/source.md81
-rw-r--r--latex/main.css24
-rw-r--r--latex/template.html36
4 files changed, 154 insertions, 0 deletions
diff --git a/latex/Makefile b/latex/Makefile
new file mode 100644
index 0000000..590d33d
--- /dev/null
+++ b/latex/Makefile
@@ -0,0 +1,13 @@
+
+CONV = pandoc
+CONVFLAGS = --from markdown --to html --standalone --template template.html --mathjax=/mathjax/tex-svg.js
+
+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`/ ; \
+ done
+
+know/concept/%/index.html: know/concept/%/source.md template.html main.css
+ $(CONV) $(CONVFLAGS) $< -o $@
+
diff --git a/latex/know/concept/blochs-theorem/source.md b/latex/know/concept/blochs-theorem/source.md
new file mode 100644
index 0000000..2307d2e
--- /dev/null
+++ b/latex/know/concept/blochs-theorem/source.md
@@ -0,0 +1,81 @@
+% Bloch's theorem
+
+
+# Bloch's theorem
+In quantum mechanics, *Bloch's theorem* states that,
+given a potential $V(\vec{r})$ which is periodic on a lattice,
+i.e. $V(\vec{r}) = V(\vec{r} + \vec{a})$
+for a primitive lattice vector $\vec{a}$,
+then it follows that the solutions $\psi(\vec{r})$
+to the time-independent Schrödinger equation
+take the following form,
+where the function $u(\vec{r})$ is periodic on the same lattice,
+i.e. $u(\vec{r}) = u(\vec{r} + \vec{a})$:
+
+$$
+\begin{aligned}
+ \boxed{
+ \psi(\vec{r}) = u(\vec{r}) e^{i \vec{k} \cdot \vec{r}}
+ }
+\end{aligned}
+$$
+
+In other words, in a periodic potential,
+the solutions are simply plane waves with a periodic modulation,
+known as *Bloch functions* or *Bloch states*.
+
+This is suprisingly easy to prove:
+if the Hamiltonian $\hat{H}$ is lattice-periodic,
+then it will commute with the unitary translation operator $\hat{T}(\vec{a})$,
+i.e. $\comm{\hat{H}}{\hat{T}(\vec{a})} = 0$.
+Therefore $\hat{H}$ and $\hat{T}(\vec{a})$ must share eigenstates $\psi(\vec{r})$:
+
+$$
+\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}
+$$
+
+Since $\hat{T}$ is unitary,
+its eigenvalues $\tau$ must have the form $e^{i \theta}$, with $\theta$ real.
+Therefore a translation by $\vec{a}$ causes a phase shift,
+for some vector $\vec{k}$:
+
+$$
+\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}
+$$
+
+Let us now define the following function,
+keeping our arbitrary choice of $\vec{k}$:
+
+$$
+\begin{aligned}
+ u(\vec{r})
+ = e^{- i \vec{k} \cdot \vec{r}} \:\psi(\vec{r})
+\end{aligned}
+$$
+
+As it turns out, this function is guaranteed to be lattice-periodic for any $\vec{k}$:
+
+$$
+\begin{aligned}
+ u(\vec{r} + \vec{a})
+ &= e^{- i \vec{k} \cdot (\vec{r} + \vec{a})} \:\psi(\vec{r} + \vec{a})
+ \\
+ &= e^{- i \vec{k} \cdot \vec{r}} e^{- i \vec{k} \cdot \vec{a}} e^{i \vec{k} \cdot \vec{a}} \:\psi(\vec{r})
+ \\
+ &= e^{- i \vec{k} \cdot \vec{r}} \:\psi(\vec{r})
+ \\
+ &= u(\vec{r})
+\end{aligned}
+$$
+
+Then Bloch's theorem follows from
+isolating the definition of $u(\vec{r})$ for $\psi(\vec{r})$.
diff --git a/latex/main.css b/latex/main.css
new file mode 100644
index 0000000..390858b
--- /dev/null
+++ b/latex/main.css
@@ -0,0 +1,24 @@
+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%);}
+}
diff --git a/latex/template.html b/latex/template.html
new file mode 100644
index 0000000..3764f3a
--- /dev/null
+++ b/latex/template.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="$lang$" xml:lang="$lang$"$if(dir)$ dir="$dir$"$endif$>
+<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 | $pagetitle$</title>
+ <link rel="icon" href="data:,">
+ <style>
+ $main.css()$
+ </style>
+ <script>
+ MathJax = {
+ loader: {load: ["[tex]/physics"]},
+ tex: {packages: {"[+]": ["physics"]}}
+ };
+ </script>
+ $if(math)$
+ $math$
+ $endif$
+</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>
+$body$
+<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>