diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..dd9c1d4
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+.aux
+out
+*.virtual_documents*
+*ipynb_checkpoints*
+*__pycache__*
+**.pdf
diff --git a/src/analysis.tex b/src/analysis.tex
new file mode 100644
index 0000000..2ca4dd8
--- /dev/null
+++ b/src/analysis.tex
@@ -0,0 +1,125 @@
+\Part[
+ \eng{Calculus}
+ \ger{Analysis}
+ ]{cal}
+
+ \Subsection[
+ \eng{Convolution}
+ \ger{Faltung / Konvolution}
+ ]{conv}
+ \begin{ttext}
+ \eng{Convolution is \textbf{commutative}, \textbf{associative} and \textbf{distributive}.}
+ \ger{Die Faltung ist \textbf{kommutativ}, \textbf{assoziativ} und \textbf{distributiv}}
+ \end{ttext}
+ \begin{formula}{def}
+ \desc{Definition}{}{}
+ \desc[german]{Definition}{}{}
+ \eq{(f*g)(t) = f(t) * g(t) = int_{-\infty}^\infty f(\tau) g(t-\tau) \d \tau}
+ \end{formula}
+ \begin{formula}{notation}
+ \desc{Notation}{}{}
+ \desc[german]{Notation}{}{}
+ \eq{
+ f(t) * g(t-t_0) &= (f*g)(t-t_0) \\
+ f(t-t_0) * g(t-t_0) &= (f*g)(t-2t_0)
+ }
+ \end{formula}
+ \begin{formula}{commutativity}
+ \desc{Commutativity}{}{}
+ \desc[german]{Kommutativität}{}{}
+ \eq{f * g = g * f}
+ \end{formula}
+
+ \begin{formula}{associativity}
+ \desc{Associativity}{}{}
+ \desc[german]{Assoziativität]}{}{}
+ \eq{(f*g)*h = f*(g*h)}
+ \end{formula}
+
+ \begin{formula}{distributivity}
+ \desc{Distributivity}{}{}
+ \desc[german]{Distributivität}{}{}
+ \eq{f * (g + h) = f*g + f*h}
+ \end{formula}
+
+ \begin{formula}{complex_conjugate}
+ \desc{Complex conjugate}{}{}
+ \desc[german]{Komplexe konjugation}{}{}
+ \eq{(f*g)^* = f^* * g^*}
+ \end{formula}
+
+ \Subsection[
+ \eng{Fourier analysis}
+ \ger{Fourieranalyse}
+ ]{fourier}
+ \Subsubsection[
+ \eng{Fourier series}
+ \ger{Fourierreihe}
+ ]{series}
+ \begin{formula}{series}
+ \desc{Fourier series}{Complex representation}{$f\in \Lebesgue^2(\R,\C)$ $T$-\GT{periodic}}
+ \desc[german]{Fourierreihe}{Komplexe Darstellung}{}
+ \eq{f(t) = \sum_{k=-\infty}^{\infty} c_k \Exp{\frac{2\pi \I kt}{T}}}
+ \end{formula}
+ \Eng[real]{real}
+ \Ger[real]{reellwertig}
+ \begin{formula}{coefficient}
+ \desc{Fourier coefficients}{Complex representation}{}
+ \desc[german]{Fourierkoeffizienten}{Komplexe Darstellung}{}
+ \eq{
+ c_k &= \frac{1}{T} \int_{-\frac{T}{2}}^{\frac{T}{2}} f(t)\,\Exp{-\frac{2\pi \I}{T}kt}\d t \quad\text{\GT{for}}\,k\ge0\\
+ c_{-k} &= \overline{c_k} \quad \text{\GT{if} $f$ \GT{real}}
+ }
+ \end{formula}
+
+ \begin{formula}{series_sincos}
+ \desc{Fourier series}{Sine and cosine representation}{$f\in \Lebesgue^2(\R,\C)$ $T$-\GT{periodic}}
+ \desc[german]{Fourierreihe}{Sinus und Kosinus Darstellung}{}
+ \eq{f(t) = \frac{a_0}{2} + \sum_{k=1}^{\infty} \left(a_k \Cos{\frac{2\pi}{T}kt} + b_k\Sin{\frac{2\pi}{T}kt}\right)}
+ \end{formula}
+ \begin{formula}{coefficient}
+ \desc{Fourier coefficients}{Sine and cosine representation\\If $f$ has point symmetry: $a_{k>0}=0$, if $f$ has axial symmetry: $b_k=0$}{}
+ \desc[german]{Fourierkoeffizienten}{Sinus und Kosinus Darstellung\\Wenn $f$ punktsymmetrisch: $a_{k>0}=0$, wenn $f$ achsensymmetrisch: $b_k=0$}{}
+ \eq{
+ a_k &= \frac{2}{T} \int_{-\frac{T}{2}}^{\frac{T}{2}} f(t)\,\Cos{-\frac{2\pi}{T}kt}\d t \quad\text{\GT{for}}\,k\ge0\\
+ b_k &= \frac{2}{T} \int_{-\frac{T}{2}}^{\frac{T}{2}} f(t)\,\Sin{-\frac{2\pi}{T}kt}\d t \quad\text{\GT{for}}\,k\ge1\\
+ a_k &= c_k + c_{-k} \quad\text{\GT{for}}\,k\ge0\\
+ b_k &= \I(c_k - c_{-k}) \quad\text{\GT{for}}\,k\ge1
+ }
+ \end{formula}
+ \TODO{cleanup}
+
+
+
+ \Subsubsection[
+ \eng{Fourier transformation}
+ \ger{Fouriertransformation}
+ ]{trafo}
+ \begin{formula}{transform}
+ \desc{Fourier transform}{}{$\hat{f}:\R^n \mapsto \C$, $\forall f\in L^1(\R^n)$}
+ \desc[german]{Fouriertransformierte}{}{}
+ \eq{\hat{f}(k) \coloneq \frac{1}{\sqrt{2\pi}^n} \int_{\R^n} \e^{-\I kx}f(x)\d x}
+ \end{formula}
+
+ \Eng[linear_in]{linear in}
+ \Ger[linear_in]{linear in}
+ \GT{for} $f\in L^1(\R^n)$:
+ \begin{enumerate}[i)]
+ \item $f \mapsto \hat{f}$ \GT{linear_in} $f$
+ \item $g(x) = f(x-h) \qRarrow \hat{g}(k) = \e^{-\I kn}\hat{f}(k)$
+ \item $g(x) = \e^{ih\cdot x}f(x) \qRarrow \hat{g}(k) = \hat{f}(k-h)$
+ \item $g(\lambda) = f\left(\frac{x}{\lambda}\right) \qRarrow \hat{g}(k)\lambda^n \hat{f}(\lambda k)$
+ \end{enumerate}
+
+
+\Section[
+ \eng{List of common integrals}
+ \ger{Liste nützlicher Integrale}
+ ]{integrals}
+
+ \begin{formula}{riemann_zeta}
+ \desc{Riemann Zeta Function}{}{}
+ \desc[german]{Riemannsche Zeta-Funktion}{}{}
+ \eq{\zeta(s) = \sum_{n=1}^{\infty} \frac{1}{n^s} = \frac{1}{(1-2^{(1-s)})\Gamma(s)} \int_0^\infty \d\eta \frac{\eta^{(s-1)}}{\e^\eta + 1}}
+ \end{formula}
+
diff --git a/src/atom.tex b/src/atom.tex
index c20b1c2..39b5782 100644
--- a/src/atom.tex
+++ b/src/atom.tex
@@ -1,7 +1,6 @@
-\def\masse{m_\textrm{e}}
-\def\grad{\vec{\nabla}}
-\def\vecr{\vec{r}}
-\def\abohr{a_\textrm{B}}
+\def\vecr{{\vec{r}}}
+\kef\abohr{a_\textrm{B}}
+
\Section[
\eng{Hydrogen Atom}
\ger{Wasserstoffatom}
@@ -23,9 +22,8 @@
\desc[german]{Hamiltonian}{}{}
% \eq{V(\vecr) = \frac{Z\,e^2}{4\pi\epsilon_0 r}}
\eq{
-
- % \hat{H} &= -\frac{\hbar^2}{2\mu} {\grad_\vecr}^2 - V(\vecr)
- % &= \frac{\hat{p}_r^2}{2\mu} + \frac{\hat{L}^2}{2\mu r} + V(r)
+ \hat{H} &= -\frac{\hbar^2}{2\mu} {\Grad_\vecr}^2 - V(\vecr) \\
+ &= \frac{\hat{p}_r^2}{2\mu} + \frac{\hat{L}^2}{2\mu r} + V(r)
}
\end{formula}
@@ -67,7 +65,7 @@
\eng{Darwin term}
\ger{Darwin-Term}
]{darwin}
- \begin{ttext}{desc}
+ \begin{ttext}[desc]
\eng{Relativisitc correction: Because of the electrons zitterbewegung, it is not entirely localised. \TODO{fact check}}
\ger{Relativistische Korrektur: Elektronen führen eine Zitterbewegung aus und sind nicht vollständig lokalisiert.}
\end{ttext}
@@ -87,7 +85,7 @@
\eng{Spin-orbit coupling (LS-coupling)}
\ger{Spin-Bahn-Kopplung (LS-Kopplung)}
]{ls_coupling}
- \begin{ttext}{desc}
+ \begin{ttext}[desc]
\eng{The interaction of the electron spin with the electrostatic field of the nuclei lead to energy shifts.}
\ger{The Wechselwirkung zwischen dem Elektronenspin und dem elektrostatischen Feld des Kerns führt zu Energieverschiebungen.}
\end{ttext}
@@ -95,7 +93,7 @@
\begin{formula}{energy_shift}
\desc{Energy shift}{}{}
\desc[german]{Energieverschiebung}{}{}
- \eq{\Delta E_\text{LS} = \frac{\mu_0 Z e^2}{8\pi m^2 e\,r^3} \braket{\vec{S} \cdot \vec{L}}}
+ \eq{\Delta E_\text{LS} = \frac{\mu_0 Z e^2}{8\pi \masse^2\,r^3} \braket{\vec{S} \cdot \vec{L}}}
\end{formula}
\begin{formula}{sl}
\desc{\TODO{name}}{}{}
@@ -108,7 +106,7 @@
\eng{Fine-structure}
\ger{Feinstruktur}
]{fine_structure}
- \begin{ttext}{desc}
+ \begin{ttext}[desc]
\eng{The fine-structure combines relativistic corrections \ref{sec:qm:h:corrections:darwin} and the spin-orbit coupling \ref{sec:qm:h:corrections:ls_coupling}.}
\ger{Die Feinstruktur vereint relativistische Korrekturen \ref{sec:qm:h:corrections:darwin} und die Spin-Orbit-Kupplung \ref{sec:qm:h:corrections:ls_coupling}.}
\end{ttext}
@@ -122,8 +120,8 @@
\Subsubsection[
\eng{Lamb-shift}
\ger{Lamb-Shift}
- ]{lamb_shift}
- \begin{ttext}{desc}
+ ]{lamb_shift}
+ \begin{ttext}[desc]
\eng{The interaction of the electron with virtual photons emitted/absorbed by the nucleus leads to a (very small) shift in the energy level.}
\ger{The Wechselwirkung zwischen dem Elektron und vom Kern absorbierten/emittierten virtuellen Photonen führt zu einer (sehr kleinen) Energieverschiebung.}
\end{ttext}
@@ -136,11 +134,10 @@
\Subsubsection[
\eng{Hyperfine structure}
\ger{Hyperfeinstruktur}
- ]{hyperfine_structure}
- \begin{ttext}{desc}
- \eng{Interaction of the nucleus spin with the magnetic field created by the electron leads to energy shifts. (Lifts degenaracy) }
+ ]{hyperfine_structure}
+ \begin{ttext}[desc]
+ \eng{Interaction of the nucleus spin with the magnetic field created by the electron leads to energy shifts. (Lifts degeneracy) }
\ger{Wechselwirkung von Kernspin mit dem vom Elektron erzeugten Magnetfeld spaltet Energieniveaus}
-
\end{ttext}
\begin{formula}{nuclear_spin}
\desc{Nuclear spin}{}{}
diff --git a/src/calculus.tex b/src/calculus.tex
new file mode 100644
index 0000000..3593a9c
--- /dev/null
+++ b/src/calculus.tex
@@ -0,0 +1,55 @@
+\Part[
+ \eng{Analysis}
+ \ger{Analysis}
+ ]{ana}
+
+ \Subsection[
+ \eng{Convolution}
+ \ger{Faltung / Konvolution}
+ ]{conv}
+ \begin{ttext}
+ \eng{Convolution is \textbf{commutative}, \textbf{associative} and \textbf{distributive}.}
+ \ger{Die Faltung ist \textbf{kommutativ}, \textbf{assoziativ} und \textbf{distributiv}}
+ \end{ttext}
+ \begin{formula}{def}
+ \desc{Definition}{}{}
+ \desc[german]{Definition}{}{}
+ \eq{(f*g)(t) = f(t) * g(t) = int_{-\infty}^\infty f(\tau) g(t-\tau) \d \tau}
+ \end{formula}
+ \begin{formula}{notation}
+ \desc{Notation}{}{}
+ \desc[german]{Notation}{}{}
+ \eq{
+ f(t) * g(t-t_0) &= (f*g)(t-t_0) \\
+ f(t-t_0) * g(t-t_0) &= (f*g)(t-2t_0)
+ }
+ \end{formula}
+ \begin{formula}{commutativity}
+ \desc{Commutativity}{}{}
+ \desc[german]{Kommutativität}{}{}
+ \eq{f * g = g * f}
+ \end{formula}
+
+ \begin{formula}{associativity}
+ \desc{Associativity}{}{}
+ \desc[german]{Assoziativität]}{}{}
+ \eq{(f*g)*h = f*(g*h)}
+ \end{formula}
+
+ \begin{formula}{distributivity}
+ \desc{Distributivity}{}{}
+ \desc[german]{Distributivität}{}{}
+ \eq{f * (g + h) = f*g + f*h}
+ \end{formula}
+
+ \begin{formula}{complex_conjugate}
+ \desc{Complex conjugate}{}{}
+ \desc[german]{Komplexe konjugation}{}{}
+ \eq{(f*g)^* = f^* * g^*}
+ \end{formula}
+
+ \Subsection[
+ \eng{Fourier analysis}
+ \ger{Fourieranalyse}
+ ]{fourier}
+
diff --git a/src/circuit.tex b/src/circuit.tex
new file mode 100644
index 0000000..35e32f0
--- /dev/null
+++ b/src/circuit.tex
@@ -0,0 +1,79 @@
+
+% Josephson junction
+\makeatletter
+\pgfcircdeclarebipolescaled{instruments}
+{
+ % put the node text above and centered
+ \anchor{text}{\pgfextracty{\pgf@circ@res@up}{\northeast}
+ \pgfpoint{-.5\wd\pgfnodeparttextbox}{
+ \dimexpr.5\dp\pgfnodeparttextbox+.5\ht\pgfnodeparttextbox+\pgf@circ@res@up\relax
+ }
+ }
+}
+{\ctikzvalof{bipoles/oscope/height}}
+{josephson}
+{\ctikzvalof{bipoles/oscope/height}}
+{\ctikzvalof{bipoles/oscope/width}}
+{
+ % ?
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfextracty{\pgf@circ@res@up}{\northeast}
+ \pgfextractx{\pgf@circ@res@right}{\northeast}
+ \pgfextractx{\pgf@circ@res@left}{\southwest}
+ \pgfextracty{\pgf@circ@res@down}{\southwest}
+ \pgfmathsetlength{\pgf@circ@res@step}{0.25*\pgf@circ@res@up}
+
+ % \pgfscope % box
+ % \pgfpathrectanglecorners{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@down}}{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@up}}
+ % \pgf@circ@draworfill
+ % \endpgfscope
+ \pgfscope % cross
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@up}}%
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@down}}%
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@up}}%
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@down}}%
+ \pgfusepath{draw}
+ \endpgfscope
+}
+\def\pgf@circ@josephson@path#1{\pgf@circ@bipole@path{josephson}{#1}}
+\tikzset{josephson/.style = {\circuitikzbasekey, /tikz/to path=\pgf@circ@josephson@path, l=#1}}
+
+
+\pgfcircdeclarebipolescaled{instruments}
+{
+ % put the node text above and centered
+ \anchor{text}{\pgfextracty{\pgf@circ@res@up}{\northeast}
+ \pgfpoint{-.5\wd\pgfnodeparttextbox}{
+ \dimexpr.5\dp\pgfnodeparttextbox+.5\ht\pgfnodeparttextbox+\pgf@circ@res@up\relax
+ }
+ }
+}
+{\ctikzvalof{bipoles/oscope/height}}
+{josephsoncap}
+{\ctikzvalof{bipoles/oscope/height}}
+{\ctikzvalof{bipoles/oscope/width}}
+{
+ % ?
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfextracty{\pgf@circ@res@up}{\northeast}
+ \pgfextractx{\pgf@circ@res@right}{\northeast}
+ \pgfextractx{\pgf@circ@res@left}{\southwest}
+ \pgfextracty{\pgf@circ@res@down}{\southwest}
+ \pgfmathsetlength{\pgf@circ@res@step}{0.25*\pgf@circ@res@up}
+
+ \pgfscope % box
+ \pgfpathrectanglecorners{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@down}}{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@up}}
+ \pgf@circ@draworfill
+ \endpgfscope
+ \pgfscope % cross
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@up}}%
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@down}}%
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@up}}%
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@down}}%
+ \pgfusepath{draw}
+ \endpgfscope
+}
+\def\pgf@circ@josephsoncap@path#1{\pgf@circ@bipole@path{josephsoncap}{#1}}
+\tikzset{josephsoncap/.style = {\circuitikzbasekey, /tikz/to path=\pgf@circ@josephsoncap@path, l=#1}}
+
+
diff --git a/src/condensed_matter.tex b/src/condensed_matter.tex
new file mode 100644
index 0000000..fdac857
--- /dev/null
+++ b/src/condensed_matter.tex
@@ -0,0 +1,231 @@
+\Part[
+ \eng{Condensed matter physics}
+ \ger{Festkörperphysik}
+ ]{cm}
+\Section[
+ \eng{Bravais lattice}
+ \ger{Bravais-Gitter}
+ ]{bravais}
+
+ % \begin{ttext}
+ % \eng{
+
+ % }
+ % \ger{
+
+ % }
+ % \end{ttext}
+
+ \eng[bravais_table2]{In 2D, there are 5 different Bravais lattices}
+ \ger[bravais_table2]{In 2D gibt es 5 verschiedene Bravais-Gitter}
+
+ \eng[bravais_table3]{In 3D, there are 14 different Bravais lattices}
+ \ger[bravais_table3]{In 3D gibt es 14 verschiedene Bravais-Gitter}
+
+ \Eng[lattice_system]{Lattice system}
+ \Ger[lattice_system]{Gittersystem}
+ \Eng[crystal_family]{Crystal system}
+ \Ger[crystal_family]{Kristall-system}
+ \Eng[point_group]{Point group}
+ \Ger[point_group]{Punktgruppe}
+ \eng[bravais_lattices]{Bravais lattices}
+ \ger[bravais_lattices]{Bravais Gitter}
+
+ \newcommand\bvimg[1]{\begin{center}\includegraphics[width=0.1\textwidth]{img/bravais/#1.pdf}\end{center}}
+ \renewcommand\tabularxcolumn[1]{m{#1}}
+ \newcolumntype{Z}{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}X}
+ \begin{table}[H]
+ \centering
+ \caption{\gt{bravais_table2}}
+ \label{tab:bravais2}
+
+ \begin{adjustbox}{width=\textwidth}
+ \begin{tabularx}{\textwidth}{||Z|c|Z|Z||}
+ \hline
+ \multirow{2}{*}{\GT{lattice_system}} & \multirow{2}{*}{\GT{point_group}} & \multicolumn{2}{c||}{5 \gt{bravais_lattices}} \\ \cline{3-4}
+ & & \GT{primitive} (p) & \GT{centered} (c) \\ \hline
+ \GT{monoclinic} (m) & $\text{C}_\text{2}$ & \bvimg{mp} & \\ \hline
+ \GT{orthorhombic} (o) & $\text{D}_\text{2}$ & \bvimg{op} & \bvimg{oc} \\ \hline
+ \GT{tetragonal} (t) & $\text{D}_\text{4}$ & \bvimg{tp} & \\ \hline
+ \GT{hexagonal} (h) & $\text{D}_\text{6}$ & \bvimg{hp} & \\ \hline
+ \end{tabularx}
+ \end{adjustbox}
+ \end{table}
+
+
+
+ \begin{table}[H]
+ \centering
+ \caption{\gt{bravais_table3}}
+ \label{tab:bravais3}
+
+ % \newcolumntype{g}{>{\columncolor[]{0.8}}}
+ \begin{adjustbox}{width=\textwidth}
+ % \begin{tabularx}{\textwidth}{|c|}
+ % asdfasdfadslfasdfaasdofiuapsdoifuapodisufpaoidsufpaoidsufpaoisdfaoisdfpaosidfupaoidsufpaoidsufpaoidsufpaoisdufpaoidsufpoaiudsfpioaspdoifuaposidufpaoisudpfoiaupsdoifupasodf \\
+ % asdfasdfadslfasdfaasdofiuapsdoifuapodisufpaoidsufpaoidsufpaoisdfaoisdfpaosidfupaoidsufpaoidsufpaoidsufpaoisdufpaoidsufpoaiudsfpioaspdoifuaposidufpaoisudpfoiaupsdoifupasodf \\
+ % \end{tabularx}
+ % \begin{tabular}{|c|}
+ % asdfasdfadslfasdfaasdofiuapsdoifuapodisufpaoidsufpaoidsufpaoisdfaoisdfpaosidfupaoidsufpaoidsufpaoidsufpaoisdufpaoidsufpoaiudsfpioaspdoifuaposidufpaoisudpfoiaupsdoifupasodf \\
+ % asdfasdfadslfasdfaasdofiuapsdoifuapodisufpaoidsufpaoidsufpaoisdfaoisdfpaosidfupaoidsufpaoidsufpaoidsufpaoisdufpaoidsufpoaiudsfpioaspdoifuaposidufpaoisudpfoiaupsdoifupasodf \\
+ % \end{tabular}
+ % \\
+ \begin{tabularx}{\textwidth}{||Z|Z|c|Z|Z|Z|Z||}
+ \hline
+ \multirow{2}{*}{\GT{crystal_family}} & \multirow{2}{*}{\GT{lattice_system}} & \multirow{2}{*}{\GT{point_group}} & \multicolumn{4}{c||}{14 \gt{bravais_lattices}} \\ \cline{4-7}
+ & & & \GT{primitive} (P) & \GT{base_centered} (S) & \GT{body_centered} (I) & \GT{face_centered} (F) \\ \hline
+ \multicolumn{2}{||c|}{\GT{triclinic} (a)} & $\text{C}_\text{i}$ & \bvimg{tP} & & & \\ \hline
+ \multicolumn{2}{||c|}{\GT{monoclinic} (m)} & $\text{C}_\text{2h}$ & \bvimg{mP} & \bvimg{mS} & & \\ \hline
+ \multicolumn{2}{||c|}{\GT{orthorhombic} (o)} & $\text{D}_\text{2h}$ & \bvimg{oP} & \bvimg{oS} & \bvimg{oI} & \bvimg{oF} \\ \hline
+ \multicolumn{2}{||c|}{\GT{tetragonal} (t)} & $\text{D}_\text{4h}$ & \bvimg{tP} & & \bvimg{tI} & \\ \hline
+ \multirow{2}{*}{\GT{hexagonal} (h)} & \GT{rhombohedral} & $\text{D}_\text{3d}$ & \bvimg{hR} & & & \\ \cline{2-7}
+ & \GT{hexagonal} & $\text{D}_\text{6h}$ & \bvimg{hP} & & & \\ \hline
+ \multicolumn{2}{||c|}{\GT{cubic} (c)} & $\text{O}_\text{h}$ & \bvimg{cP} & & \bvimg{cI} & \bvimg{cF} \\ \hline
+ \end{tabularx}
+ \end{adjustbox}
+ \end{table}
+
+
+\Section[
+ \eng{Reciprocal lattice}
+ \ger{Reziprokes Gitter}
+ ]{reci}
+ \begin{ttext}
+ \eng{The reciprokal lattice is made up of all the wave vectors $\vec{k}$ that ressemble standing waves with the periodicity of the Bravais lattice.}
+ \ger{Das rezioproke Gitter besteht aus dem dem Satz aller Wellenvektoren $\vec{k}$, die ebene Wellen mit der Periodizität des Bravais-Gitters ergeben.}
+ \end{ttext}
+
+ \begin{formula}{vectors}
+ \desc{Reciprocal lattice vectors}{}{$a_i$ real-space lattice vectors, $V_c$ volume of the primitive lattice cell}
+ \desc[german]{Reziproke Gittervektoren}{}{$a_i$ Bravais-Gitter Vektoren, $V_c$ Volumen der primitiven Gitterzelle}
+ \eq{
+ \vec{b_1} &= \frac{2\pi}{V_c} \vec{a_2} \times \vec{a_3} \\
+ \vec{b_2} &= \frac{2\pi}{V_c} \vec{a_3} \times \vec{a_1} \\
+ \vec{b_3} &= \frac{2\pi}{V_c} \vec{a_1} \times \vec{a_2}
+ }
+ \end{formula}
+
+
+\Section[
+ \eng{Free electron gas}
+ \ger{Freies Elektronengase}
+]{free_e_gas}
+ \begin{ttext}
+ \eng{Assumptions: electrons can move freely and independent of each other.}
+ \ger{Annahmen: Elektronen bewegen sich frei und unabhänig voneinander.}
+ \end{ttext}
+
+ \begin{formula}{drift_velocity}
+ \desc{Drift velocity}{Velocity component induced by an external force (eg. electric field)}{$v_\text{th}$ thermal velocity}
+ \desc[german]{Driftgeschwindgkeit}{Geschwindigkeitskomponente durch eine externe Kraft (z.B. ein elektrisches Feld)}{$v_\text{th}$ thermische Geschwindigkeit}
+ \eq{\vec{v}_\text{D} = \vec{v} - \vec{v}_\text{th}}
+ \end{formula}
+
+ \begin{formula}{mean_free_time}
+ \desc{Mean free time}{}{}
+ \desc[german]{Streuzeit}{}{}
+ \eq{\tau}
+ \end{formula}
+
+ \begin{formula}{mean_free_path}
+ \desc{Mean free path}{}{}
+ \desc[german]{Mittlere freie Weglänge}{}{}
+ \eq{\ell = \braket{v} \tau}
+ \end{formula}
+
+ \begin{formula}{mobility}
+ \desc{Electrical mobility}{}{$q$ charge, $m$ mass}
+ \desc[german]{Beweglichkeit}{}{$q$ Ladung, $m$ Masse}
+ \eq{\mu = \frac{q \tau}{m}}
+ \end{formula}
+
+ \Subsection[
+ \eng{Drude model}
+ \ger{Drude-Modell}
+ ]{drude}
+ \begin{ttext}
+ \eng{Classical model describing the transport properties of electrons in materials (metals):
+ The material is assumed to be an ion lattice and with freely moving electrons (electron gas). The electrons are
+ accelerated by an electric field and decelerated through collisions with the lattice ions.
+ The model disregards the Fermi-Dirac partition of the conducting electrons.
+ }
+ \ger{Ein klassisches Model zur Beschreibung der Transporteigenschaften von Elektronen in (v.a.) Metallen:
+ Der Festkörper wird als Ionenkristall mit frei beweglichen Elektronen (Elektronengas).
+ Die Elektronen werden durch ein Elektrisches Feld $E$ beschleunigt und durch Stöße mit den Gitterionen gebremst.
+ Das Modell vernachlässigt die Fermi-Dirac Verteilung der Leitungselektronen.
+ }
+ \end{ttext}
+ \begin{formula}{motion}
+ \desc{Equation of motion}{}{$v$ electron speed, $\vec{v}_\text{D}$ drift velocity, $\tau$ mean free time between collisions}
+ \desc[german]{Bewegungsgleichung}{}{$v$ Elektronengeschwindigkeit, $\vec{v}_\text{D}$ Driftgeschwindigkeit, $\tau$ Stoßzeit}
+ \eq{\masse \odv{\vec{v}}{t} + \frac{\masse}{\tau} \vec{v}_\text{D} = -e \vec{E}}
+ \end{formula}
+ \begin{formula}{current_density}
+ \desc{Current density}{Ohm's law}{$n$ charge particle density}
+ \desc[german]{Stromdichte}{Ohmsches Gesetz}{$n$ Ladungsträgerdichte}
+ \eq{\vec{j} = -ne\vec{v}_\text{D} = ne\mu \vec{E}}
+ \end{formula}
+ \begin{formula}{conductivity}
+ \desc{Drude-conductivity}{}{}
+ \desc[german]{Drude-Leitfähigkeit}{}{}
+ \eq{\sigma = \frac{\vec{j}}{\vec{E}} = \frac{e^2 \tau n}{\masse} = n e \mu}
+ \end{formula}
+
+ \Subsection[
+ \eng{Sommerfeld model}
+ \ger{Sommerfeld-Modell}
+ ]{sommerfeld}
+ \begin{ttext}
+ \eng{Assumes a gas of free fermions underlying the pauli-exclusion principle. Only electrons in an energy range of $\kB T$ around the Fermi energy $\EFermi$ participate in scattering processes.}
+ \ger{Annahme eines freien Fermionengases, welches dem Pauli-Prinzip unterliegt. Nur Elektronen in einem Energiebereich von $\kB T$ um die Fermi Energe $\EFermi$ nehmen an Streuprozessen teil.}
+ \end{ttext}
+ \begin{formula}{current_density}
+ \desc{Current density}{}{}
+ \desc[german]{Stromdichte}{}{}
+ \eq{\vec{j} = -en\braket{v} = -e n \frac{\hbar}{\masse}\braket{\vec{k}} = -e \frac{1}{V} \sum_{\vec{k},\sigma} \frac{\hbar \vec{k}}{\masse}}
+ \end{formula}
+ \TODO{The formula for the conductivity is the same as in the drude model?}
+
+ \Subsection[
+ \eng{2D electron gas}
+ \ger{2D Elektronengas}
+ ]{2deg}
+
+ \begin{ttext}
+ \eng{Lower dimension gases can be obtained by restricting a 3D gas with infinetly high potential walls on a narrow area with the width $L$.}
+ \ger{
+ Niederdimensionale Elektronengase erhält man, wenn ein 3D Gas durch unendlich hohe Potentialwände auf einem schmalen Bereich mit Breite $L$ eingeschränkt wird.
+ }
+ \end{ttext}
+ \begin{formula}{confinement_energy}
+ \desc{Confinement energy}{Raises ground state energy}{}
+ \desc[german]{Confinement Energie}{Erhöht die Grundzustandsenergie}{}
+ \eq{\Delta E = \frac{\hbar^2 \pi^2}{2\masse L^2}}
+ \end{formula}
+
+ \Eng[plain_wave]{plain wave}
+ \Ger[plain_wave]{ebene Welle}
+ \begin{formula}{energy}
+ \desc{Energy}{}{}
+ \desc[german]{Energie}{}{}
+ \eq{E_n = \underbrace{\frac{\hbar^2 k_\parallel^2}{2\masse}}_\text{$x$-$y$: \GT{plain_wave}} + \underbrace{\frac{\hbar^2 \pi^2}{2\masse L^2} n^2}_\text{$z$}}
+ \end{formula}
+
+ \Subsection[
+ \eng{1D electron gas / quantum wire}
+ \ger{1D Eleltronengas / Quantendraht}
+ ]{1deg}
+
+ \begin{formula}{energy}
+ \desc{Energy}{}{}
+ \desc[german]{Energie}{}{}
+ \eq{E_n = \frac{\hbar^2 k_x^2}{2\masse} + \frac{\hbar^2 \pi^2}{2\masse L_z^2} n_1^2 + \frac{\hbar^2 \pi^2}{2\masse L_y^2} n_2^2}
+ \end{formula}
+
+ \Subsection[
+ \eng{0D electron gas / quantum dot}
+ \ger{0D Elektronengase / Quantenpunkt}
+ ]{0deg}
+
+ \TODO{TODO}
+
diff --git a/src/electrodynamics.tex b/src/electrodynamics.tex
new file mode 100644
index 0000000..f08d7c1
--- /dev/null
+++ b/src/electrodynamics.tex
@@ -0,0 +1,222 @@
+\def\PhiB{\Phi_\text{B}}
+\def\PhiE{\Phi_\text{E}}
+
+\Part[
+ \eng{Electrodynamics}
+ \ger{Elektrodynamik}
+]{ed}
+
+
+\Section[
+ \eng{Maxwell-Equations}
+ \ger{Maxwell-Gleichungen}
+ ]{Maxwell}
+ \begin{formula}{vacuum}
+ \desc{Vacuum}{microscopic formulation}{}
+ \desc[german]{Vakuum}{Mikroskopische Formulierung}{}
+ \eq{
+ \Div \vec{E} &= \frac{\rho_\text{el}}{\epsilon_0} \\
+ \Div \vec{B} &= 0 \\
+ \Rot \vec{E} &= - \odv{\vec{B}}{t} \\
+ \Rot \vec{B} &= \mu_0 \vec{j} + \frac{1}{c^2} \odv{\vec{E}}{t}
+ }
+ \end{formula}
+
+ \begin{formula}{material}
+ \desc{Matter}{Macroscopic formulation}{}
+ \desc[german]{Materie}{Makroskopische Formulierung}{}
+ \eq{
+ \Div \vec{D} &= \rho_\text{el} \\
+ \Div \vec{B} &= 0 \\
+ \Rot \vec{E} &= - \odv{\vec{B}}{t} \\
+ \Rot \vec{H} &= \vec{j} + \odv{\vec{D}}{t}
+ }
+ \end{formula}
+
+\Section[
+ \eng{Fields}
+ \ger{Felder}
+ ]{fields}
+
+ \Subsection[
+ \eng{Electric field}
+ \ger{Elektrisches Feld}
+ ]{mag}
+ \begin{formula}{gauss_law}
+ \desc{Gauss's law for electric fields}{Electric flux through a closed surface is proportional to the electric charge}{$S$ closed surface}
+ \desc[german]{Gaußsches Gesetz für elektrische Felder}{Der magnetische Fluss durch eine geschlossene Fläche ist proportional zur elektrischen Ladung}{$S$ geschlossene Fläche}
+ \eq{\PhiE = \iint_S \vec{E}\cdot\d\vec{S} = \frac{Q}{\varepsilon_0}}
+ \end{formula}
+
+ \Subsection[
+ \eng{Magnetic field}
+ \ger{Magnetfeld}
+ ]{mag}
+
+ \Eng[magnetic_flux]{Magnetix flux density}
+ \Ger[magnetic_flux]{Magnetische Flussdichte}
+
+ % \begin{quantity}{mag_flux}{\Phi}{\Wb}{\kg\m^2\per\s^2\A^1}{scalar}
+ % \sign{}
+ % \desc{Magnetic flux density}{}
+ % \desc[german]{Magnetische Feldstärke}{}
+ % \end{quantity}
+
+ \begin{formula}{magnetic_flux}
+ \desc{Magnetic flux}{}{}
+ \desc[german]{Magnetischer Fluss}{}{}
+ \eq{\PhiB = \iint_A \vec{B}\cdot\d\vec{A}}
+ \end{formula}
+
+ \begin{formula}{gauss_law}
+ \desc{Gauss's law for magnetism}{Magnetic flux through a closed surface is $0$ \Rightarrow there are no magnetic monopoles}{$S$ closed surface}
+ \desc[german]{Gaußsches Gesetz für Magnetismus}{Der magnetische Fluss durch eine geschlossene Fläche ist $0$ \Rightarrow es gibt keine magnetischen Monopole}{$S$ geschlossene Fläche}
+ \eq{\PhiB = \iint_S \vec{B}\cdot\d\vec{S} = 0}
+ \end{formula}
+
+ \begin{formula}{name}
+ \desc{}{}{}
+ \desc[german]{}{}{}
+ \eq{}
+ \end{formula}
+ \begin{formula}{magnetization}
+ \desc{Magnetization}{}{$m$ mag. moment, $V$ volume}
+ \desc[german]{Magnetisierung}{}{$m$ mag. Moment, $V$ Volumen}
+ \eq{\vec{M} = \odv{\vec{m}}{V} = \chi_\text{m} \cdot \vec{H}}
+ \end{formula}
+
+ \begin{formula}{angular_torque}
+ \desc{Torque}{}{$m$ mag. moment}
+ \desc[german]{Drehmoment}{}{$m$ mag. Moment}
+ \eq{\vec{\tau} = \vec{m} \times \vec{B}}
+ \end{formula}
+
+ \begin{formula}{suceptibility}
+ \desc{Susceptibility}{}{}
+ \desc[german]{Suszeptibilität}{}{}
+ \eq{\chi_\text{m} = \pdv{M}{B} = \frac{\mu}{\mu_0} - 1 }
+ \end{formula}
+
+
+ \begin{formula}{poynting}
+ \desc{Poynting vector}{Directional energy flux or power flow of an electromagnetic field [$\si{\W\per\m^2}$]}{}
+ \desc[german]{Poynting-Vektor}{Gerichteter Energiefluss oder Leistungsfluss eines elektromgnetischen Feldes [$\si{\W\per\m^2}$]}{}
+ \eq{\vec{S} = \vec{E} \times \vec{H}}
+ \end{formula}
+
+
+
+ \Subsection[
+ \eng{Induction}
+ \ger{Unduktion}
+ ]{induction}
+ \begin{formula}{farady_law}
+ \desc{Faraday's law of induction}{}{}
+ \desc[german]{Faradaysche Induktionsgesetz}{}{}
+ \eq{U_\text{ind} = -\odv{}{t} \PhiB = - \odv{}{t} \iint_A\vec{B} \cdot \d\vec{A}}
+ \end{formula}
+
+\Section[
+ \eng{Hall-Effect}
+ \ger{Hall-Effekt}
+ ]{hall}
+
+ \begin{formula}{cyclotron}
+ \desc{Cyclontron frequency}{}{}
+ \desc[german]{Zyklotronfrequenz}{}{}
+ \eq{\omega_\text{c} = \frac{e B}{\masse}}
+ \end{formula}
+ \TODO{Move}
+
+
+ \Subsection[
+ \eng{Classical Hall-Effect}
+ \ger{Klassischer Hall-Effekt}
+ ]{classic}
+ \begin{ttext}
+ \eng{Current flowing in $x$ direction in a conductor ($l \times b \times d$) with a magnetic field $B$ in $z$ direction leads to a hall voltage $U_\text{H}$ in $y$ direction.}
+ \ger{Fließt in einem Leiter ($l \times b \times d$) ein Strom in $x$ Richtung, während der Leiter von einem Magnetfeld $B$ in $z$-Richtung durchdrungen, wird eine Hallspannung $U_\text{H}$ in $y$-Richtung induziert.}
+ \end{ttext}
+ \begin{formula}{voltage}
+ \desc{Hall voltage}{}{$n$ charge carrier density}
+ \desc[german]{Hallspannung}{}{$n$ Ladungsträgerdichte}
+ \eq{U_\text{H} = \frac{I B}{ne d}}
+ \end{formula}
+
+ \begin{formula}{coefficient}
+ \desc{Hall coefficient}{}{}
+ \desc[german]{Hall-Koeffizient}{}{}
+ \eq{R_\text{H} = -\frac{Eg}{j_x Bg} = \frac{1}{ne} = \frac{\rho_{xy}}{B_z}}
+ \end{formula}
+
+ \begin{formula}{resistivity}
+ \desc{Resistivity}{}{}
+ \desc[german]{Spezifischer Widerstand}{}{}
+ \eq{\rho_{xx} &= \frac{\masse}{ne^2\tau} \\ \rho_{xy} &= \frac{B}{ne}}
+ \end{formula}
+
+
+ \Subsection[
+ \eng{Integer quantum hall effect}
+ \ger{Ganzahliger Quantenhalleffekt}
+ ]{quantum}
+
+ \begin{formula}{conductivity}
+ \desc{Conductivity tensor}{}{}
+ \desc[german]{Leitfähigkeitstensor}{}{}
+ \eq{\sigma = \begin{pmatrix} \sigma_{xy} & \sigma_{xy} \\ \sigma_{yx} & \sigma_{yy} \end{pmatrix} }
+ \end{formula}
+
+ \begin{formula}{resistivity}
+ \desc{Resistivity tensor}{}{}
+ \desc[german]{Spezifischer Widerstands-tensor}{}{}
+ \eq{
+ \rho = \sigma^{-1}
+ % \sigma = \begin{pmatrix} \sigma_{xy} & \sigma_{xy} \\ \sigma_{yx} & \sigma_{yy} \end{pmatrix} }
+ }
+ \end{formula}
+
+ \begin{formula}{resistivity}
+ \desc{Resistivity}{}{$\nu \in \mathbb{Z}$}
+ \desc[german]{Spezifischer Hallwiderstand}{}{$\nu \in \mathbb{Z}$}
+ \eq{\rho_{xy} = \frac{2\pi\hbar}{e^2} \frac{1}{\nu}}
+ \end{formula}
+
+ % \begin{formula}{qhe}
+ % \desc{Integer quantum hall effect}{}{}
+ % \desc[german]{Ganzahliger Quanten-Hall-Effekt}{}{}
+ % \fig{img/qhe-klitzing.jpeg}
+ % \end{formula}
+
+
+ \TODO{sort}
+ \begin{formula}{impedance_c}
+ \desc{Impedance of a capacitor}{}{}
+ \desc[german]{Impedanz eines Kondesnators}{}{}
+ \eq{Z_{C} = \frac{1}{i\omega C}}
+ \end{formula}
+
+ \begin{formula}{impedance_l}
+ \desc{Impedance of an inductor}{}{}
+ \desc[german]{Impedanz eines Induktors}{}{}
+ \eq{Z_{L} = i\omega L}
+ \end{formula}
+
+ \TODO{impedance addition for parallel / linear}
+
+\Section[
+ \eng{Dipole-stuff}
+ \ger{Dipol-zeug}
+]{dipole}
+
+ \begin{formula}{poynting}
+ \desc{Dipole radiation Poynting vector}{}{}
+ \desc[german]{Dipolsrahlung Poynting-Vektor}{}{}
+ \eq{\vec{S} = \left(\frac{\mu_0 p_0^2 \omega^4}{32\pi^2 c}\right)\frac{\sin^2\theta}{r^2} \vec{r}}
+ \end{formula}
+
+ \begin{formula}{power}
+ \desc{Time-average power}{}{}
+ \desc[german]{Zeitlich mittlere Leistung}{}{}
+ \eq{P = \frac{\mu_0\omega^4 p_0^2}{12\pi c}}
+ \end{formula}
diff --git a/src/environments.tex b/src/environments.tex
new file mode 100644
index 0000000..0f3d70a
--- /dev/null
+++ b/src/environments.tex
@@ -0,0 +1,213 @@
+\def\descwidth{0.3\textwidth}
+\def\eqwidth{0.6\textwidth}
+
+% [1]: minipage width
+% 2: fqname of name
+% 3: fqname of a translation that holds the explanation
+\newcommand{\NameWithExplanation}[3][\descwidth]{
+ \begin{minipage}{#1}
+ \iftranslation{#2}{
+ \raggedright
+ \gt{#2}
+ }{}
+ \iftranslation{#3}{
+ \\ {\color{darkgray} \gt{#3}}
+ }{}
+ \end{minipage}
+}
+
+% [1]: minipage width
+% 2: content
+% 3: fqname of a translation that holds the explanation
+\newcommand{\ContentBoxWithExplanation}[3][\eqwidth]{
+ \fbox{
+ \begin{minipage}{#1}
+ % \vspace{-\baselineskip} % remove the space that comes from starting a new paragraph
+ #2
+ \noindent\iftranslation{#3}{
+ \begingroup
+ \color{darkgray}
+ \gt{#3}
+ % \edef\temp{\GT{#1_defs}}
+ % \expandafter\StrSubstitute\expandafter{\temp}{:}{\\}
+ \endgroup
+ }{}
+ % \vspace{-\baselineskip} % remove the space that comes from starting a new paragraph
+ \end{minipage}
+ }
+
+}
+
+% 1: fqname, optional with #1_defs and #1_desc defined
+% 2: content
+\newcommand{\NameLeftContentRight}[2]{
+ \par\noindent\ignorespaces
+ % \textcolor{gray}{\hrule}
+ \vspace{0.5\baselineskip}
+ \NameWithExplanation[\descwidth]{#1}{#1_desc}
+ \hfill
+ \ContentBoxWithExplanation[\eqwidth]{#2}{#1_defs}
+ \textcolor{lightgray}{\hrule}
+ \vspace{0.5\baselineskip}
+ % \par
+ % \hrule
+}
+
+\newcommand{\insertEquation}[2]{
+ \NameLeftContentRight{#1}{
+ \begin{align}
+ \label{eq:\fqname:#1}
+ #2
+ \end{align}
+ }
+}
+
+\newcommand{\insertFLAlign}[2]{ % eq name, #cols, eq
+ \NameLeftContentRight{#1}{%
+ \begin{flalign}%
+ % dont place label when one is provided
+ % \IfSubStringInString{label}\unexpanded{#3}{}{
+ % \label{eq:#1}
+ % }
+ #2%
+ \end{flalign}
+ }
+}
+
+\newcommand{\insertAlignedAt}[3]{ % eq name, #cols, eq
+ \NameLeftContentRight{#1}{%
+ \begin{alignat}{#2}%
+ % dont place label when one is provided
+ % \IfSubStringInString{label}\unexpanded{#3}{}{
+ % \label{eq:#1}
+ % }
+ #3%
+ \end{alignat}
+ }
+}
+
+\newcommand\luaexpr[1]{\directlua{tex.sprint(#1)}}
+% 1: fqname
+% 2: file path
+% 3: equation
+\newcommand{\insertEquationWithFigure}[4][0.55]{
+ \par\noindent\ignorespaces
+ % \textcolor{gray}{\hrule}
+ \vspace{0.5\baselineskip}
+ \begin{minipage}{#1\textwidth}
+ \NameWithExplanation[\textwidth]{#2}{#2_desc}
+ % TODO: why is this ignored
+ \vspace{1.0cm}
+ % TODO: fix box is too large without 0.9
+ \ContentBoxWithExplanation[0.90\textwidth]{
+ \begin{align}
+ \label{eq:\fqname:#2}
+ #4
+ \end{align}
+ }{#2_defs}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{\luaexpr{1.0-#1}\textwidth}
+ \begin{figure}[H]
+ \centering
+ \includegraphics[width=\textwidth]{#3}
+ \label{fig:\fqname:#2}
+ \end{figure}
+ \end{minipage}
+ \textcolor{lightgray}{\hrule}
+ \vspace{0.5\baselineskip}
+
+}
+
+\newenvironment{formula}[1]{
+ % key
+ \newcommand{\desc}[4][english]{
+ % language, name, description, definitions
+ \dt[#1]{##1}{##2}
+ \ifblank{##3}{}{\dt[#1_desc]{##1}{##3}}
+ \ifblank{##4}{}{\dt[#1_defs]{##1}{##4}}
+ }
+ \newcommand{\eq}[1]{
+ \insertEquation{#1}{##1}
+ }
+ \newcommand{\eqAlignedAt}[2]{
+ \insertAlignedAt{#1}{##1}{##2}
+ }
+ \newcommand{\eqFLAlign}[1]{
+ \insertFLAlign{#1}{##1}
+ }
+ \newcommand{\figeq}[2]{
+ \insertEquationWithFigure{#1}{##1}{##2}
+ }
+ \newcommand{\content}[1]{
+ \NameLeftContentRight{#1}{##1}
+ }
+}{\ignorespacesafterend}
+
+
+\newenvironment{quantity}[5]{
+ % key, symbol, si unit, si base units, comment (key to translation)
+ \newcommand{\desc}[3][english]{
+ % language, name, description
+ \DT[qty:#1]{}{##1}{##2}
+ \ifblank{##3}{}{\DT[qty:#1_desc]{##1}{##3}}
+ }
+ \newcommand{\eq}[1]{
+ \insertEquation{#1}{##1}
+ }
+ \newcommand{\eqAlignedAt}[2]{
+ \insertAlignedAt{#1}{##1}{##2}
+ }
+ \newcommand{\eqFLAlign}[1]{
+ \insertFLAlign{#1}{##1}
+ }
+
+ \edef\qtyname{#1}
+ \edef\qtysign{#2}
+ \edef\qtyunit{#3}
+ \edef\qtybaseunits{#4}
+ \edef\qtycomment{#5}
+}
+{
+ Quantity: \expandafter\GT\expandafter{qty:\qtyname}: \GT{qty:\qtyname_desc} \\
+ $\qtysign$ $[\SI{\qtyunit}] = [\SI{\qtybaseunits}]$ - \qtycomment \\
+ \ignorespacesafterend
+}
+ \def\distrightwidth{0.45\textwidth}
+ \def\distleftwidth{0.45\textwidth}
+
+ % Table for distributions
+ % create entries for parameters using \disteq
+ \newenvironment{distribution}[0]{
+ % 1: param name (translation key)
+ % 2: math
+ \newcommand{\disteq}[2]{
+ % add links to some names
+ \directlua{
+ local cases = {
+ pdf = "eq:pt:distributions:pdf",
+ pmf = "eq:pt:distributions:pdf",
+ cdf = "eq:pt:distributions:cdf",
+ mean = "eq:pt:mean",
+ variance = "eq:pt:variance"
+ }
+ if cases["\luaescapestring{#1}"] \string~= nil then
+ tex.sprint("\\hyperref["..cases["\luaescapestring{#1}"].."]{\\GT{#1}}")
+ else
+ tex.sprint("\\GT{#1}")
+ end
+ }
+ & #2 \\ \hline
+ }
+ \hfill
+ \begin{minipage}{\distrightwidth}
+ \begingroup
+ \setlength{\tabcolsep}{0.9em} % horizontal
+ \renewcommand{\arraystretch}{2} % vertical
+ \begin{tabular}{|l|>{$\displaystyle}c<{$}|}
+ \hline
+ }{
+ \end{tabular}
+ \endgroup
+ \end{minipage}
+ }
diff --git a/src/trigonometry.tex b/src/geometry.tex
similarity index 89%
rename from src/trigonometry.tex
rename to src/geometry.tex
index a5f3682..8f08c22 100644
--- a/src/trigonometry.tex
+++ b/src/geometry.tex
@@ -1,8 +1,7 @@
-
\Part[
- \eng{Analysis}
- \ger{Analysis}
- ]{ana}
+ \eng{Geometry}
+ \ger{Geometrie}
+ ]{geo}
\Section[
\eng{Trigonometry}
@@ -18,14 +17,14 @@
\begin{formula}{sine}
\desc{Sine}{}{}
\desc[german]{Sinus}{}{}
- \eq{\sin(x) &= \sum_{n=0}^{\infty} \frac{x^{(2n+1)}}{(2n+1)!} \\
+ \eq{\sin(x) &= \sum_{n=0}^{\infty} (-1)^{n} \frac{x^{(2n+1)}}{(2n+1)!} \\
&= \frac{e^{ix}-e^{-ix}}{2i}}
\end{formula}
\begin{formula}{cosine}
\desc{Cosine}{}{}
\desc[german]{Kosinus}{}{}
- \eq{\cos(x) &= \sum_{n=0}^{\infty} \frac{x^{(2n)}}{(2n)!} \\
+ \eq{\cos(x) &= \sum_{n=0}^{\infty} (-1)^{n} \frac{x^{(2n)}}{(2n)!} \\
&= \frac{e^{ix}+e^{-ix}}{2}}
\end{formula}
@@ -72,6 +71,12 @@
}
\end{formula}
+ \begin{formula}{name}
+ \desc{}{}{$\tan\theta = b$}
+ \desc[german]{}{}{$\tan\theta = b$}
+ \eq{\cos x + b\sin x = \sqrt{1 + b^2}\cos(x-\theta)}
+ \end{formula}
+
\Subsection[
\eng{Table of values}
diff --git a/src/img/bravais2/aP.svg b/src/img/bravais2/aP.svg
new file mode 100644
index 0000000..d336e38
--- /dev/null
+++ b/src/img/bravais2/aP.svg
@@ -0,0 +1,760 @@
+
+
+
+
+File:Triclinic.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Triclinic.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 129 × 149 pixels, file size: 16 KB)
+
+
Summary
+
+
Licensing
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Add a one-line explanation of what this file represents
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 09:32, 8 August 2016 129 × 149 (16 KB) Officer781 Remove incorrect lattice constraint. The triclinic lattice has no constraints since it is the general case. One angle can be 90 degrees and it will still be triclinic.
+11:39, 31 July 2016 129 × 165 (26 KB) Officer781 Labelled a, b and c.
+19:53, 21 May 2012 129 × 154 (26 KB) Tretyak Сorrection of an error
+21:44, 2 March 2007 129 × 154 (25 KB) Stannered {{Information |Description=Triclinic crystal structure. |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation License |other_versio
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on af.wikipedia.org
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on be.wikipedia.org
+
+Usage on bg.wikipedia.org
+
+Usage on bh.wikipedia.org
+
+Usage on bs.wikipedia.org
+
+Usage on ca.wikipedia.org
+
+Usage on ceb.wikipedia.org
+
+Usage on cs.wikipedia.org
+
+Usage on cy.wikipedia.org
+
+Usage on da.wikipedia.org
+
+Usage on de.wikipedia.org
+
+Usage on de.wikibooks.org
+
+Usage on el.wikipedia.org
+
+Usage on en.wikibooks.org
+
+Usage on en.wikiversity.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/cF.svg b/src/img/bravais2/cF.svg
new file mode 100644
index 0000000..aeec86e
--- /dev/null
+++ b/src/img/bravais2/cF.svg
@@ -0,0 +1,801 @@
+
+
+
+
+File:Cubic-face-centered.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Cubic-face-centered.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 109 × 127 pixels, file size: 19 KB)
+
+
+
+
+
+i The source code of this SVG is valid .
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license. Subject to disclaimers .
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Subject to disclaimers .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
English Astatine's crystal structure is thought to be cubic
Persian ساختار کریستالی مکعبی محور
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 21:44, 2 March 2007 109 × 127 (19 KB) Stannered {{Information |Description=Face-centered cubic crystal structure |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation License |oth
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on af.wikipedia.org
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on azb.wikipedia.org
+
+Usage on ban.wikipedia.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/cI.svg b/src/img/bravais2/cI.svg
new file mode 100644
index 0000000..9beec42
--- /dev/null
+++ b/src/img/bravais2/cI.svg
@@ -0,0 +1,801 @@
+
+
+
+
+File:Cubic-body-centered.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Cubic-body-centered.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 109 × 127 pixels, file size: 16 KB)
+
+
Summary
+
+
Licensing
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Cubic-body-centered
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 21:44, 2 March 2007 109 × 127 (16 KB) Stannered {{Information |Description=Body-centered cubic crystal structure |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation License |oth
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on af.wikipedia.org
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on azb.wikipedia.org
+
+Usage on ban.wikipedia.org
+
+Usage on ba.wikipedia.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/cP.svg b/src/img/bravais2/cP.svg
new file mode 100644
index 0000000..147c1ad
--- /dev/null
+++ b/src/img/bravais2/cP.svg
@@ -0,0 +1,772 @@
+
+
+
+
+File:Cubic.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Cubic.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 109 × 127 pixels, file size: 14 KB)
+
+
Summary
+
+
Licensing
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Add a one-line explanation of what this file represents
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 21:44, 2 March 2007 109 × 127 (14 KB) Stannered {{Information |Description=Simple cubic crystal structure |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation License |other_vers
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on ban.wikipedia.org
+
+Usage on ba.wikipedia.org
+
+Usage on be-tarask.wikipedia.org
+
+Usage on be.wikipedia.org
+
+Usage on bg.wikipedia.org
+
+Usage on bh.wikipedia.org
+
+Usage on blk.wikipedia.org
+
+Usage on bn.wikipedia.org
+
+Usage on bs.wikipedia.org
+
+Usage on ca.wikipedia.org
+
+
+
View more global usage of this file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/hP.svg b/src/img/bravais2/hP.svg
new file mode 100644
index 0000000..a36339f
--- /dev/null
+++ b/src/img/bravais2/hP.svg
@@ -0,0 +1,743 @@
+
+
+
+
+File:Hexagonal latticeFRONT.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Hexagonal latticeFRONT.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 160 × 206 pixels, file size: 26 KB)
+
+
Summary
+
+
Licensing
+
I, the copyright holder of this work, hereby publish it under the following license:
+
+
You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original. https://creativecommons.org/licenses/by-sa/3.0 CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true English Add a one-line explanation of what this file represents
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 01:09, 24 January 2013 160 × 206 (26 KB) Bor75 Reverted to version as of 20:11, 23 January 2013
+00:19, 24 January 2013 157 × 206 (28 KB) Bor75 improved
+23:31, 23 January 2013 157 × 206 (28 KB) Bor75 one more attempt to improve lines
+23:31, 23 January 2013 157 × 206 (28 KB) Bor75 one more attempt to improve lines
+20:42, 23 January 2013 160 × 206 (26 KB) Bor75 optimized SVG
+20:40, 23 January 2013 160 × 206 (26 KB) Bor75 plain svg
+20:39, 23 January 2013 100 × 134 (17 KB) Bor75 saved as plain svg
+20:11, 23 January 2013 160 × 206 (26 KB) Bor75 Reverted to version as of 03:47, 23 January 2013
+03:51, 23 January 2013 160 × 205 (26 KB) Bor75 Reverted to version as of 02:18, 23 January 2013
+03:47, 23 January 2013 160 × 206 (26 KB) Bor75 grouped objects
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on be.wikipedia.org
+
+Usage on bg.wikipedia.org
+
+Usage on bs.wikipedia.org
+
+Usage on ca.wikipedia.org
+
+Usage on cs.wikipedia.org
+
+Usage on cy.wikipedia.org
+
+Usage on de.wikipedia.org
+
+Usage on de.wikibooks.org
+
+Usage on el.wikipedia.org
+
+Usage on en.wikibooks.org
+
+Usage on en.wikiversity.org
+
+Usage on es.wikipedia.org
+
+Usage on eu.wikipedia.org
+
+Usage on fa.wikipedia.org
+
+Usage on fi.wikipedia.org
+
+Usage on fr.wikipedia.org
+
+Usage on fr.wikibooks.org
+
+Usage on fr.wikiversity.org
+
+Usage on gl.wikipedia.org
+
+Usage on he.wikipedia.org
+
+Usage on hr.wikipedia.org
+
+Usage on hu.wikipedia.org
+
+Usage on id.wikipedia.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/hR.svg b/src/img/bravais2/hR.svg
new file mode 100644
index 0000000..22fcc5a
--- /dev/null
+++ b/src/img/bravais2/hR.svg
@@ -0,0 +1,768 @@
+
+
+
+
+File:Rhombohedral.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Rhombohedral.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 139 × 141 pixels, file size: 20 KB)
+
+
Summary
+
+
Licensing
+
I, the copyright holder of this work, hereby publish it under the following license:
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Add a one-line explanation of what this file represents
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 07:20, 23 April 2019 139 × 141 (20 KB) Officer781 Removed inequality captions. Better to include those in the articles themselves.
+11:36, 31 July 2016 139 × 166 (26 KB) Officer781 Simplified notation by notating all angles as alpha. Alpha denotes the value, not the angle itself just like a denotes the value.
+21:15, 21 January 2012 139 × 166 (35 KB) Tretyak Correct error in γ angle
+04:25, 30 August 2009 139 × 166 (37 KB) R.e.b. Changed commas to equals signs
+14:41, 27 February 2007 139 × 166 (33 KB) Stannered {{Information |Description=Rhombohedral crystal structure. |Source=Image:Rhombohedral.png |Date=2007-02-27 |Author=Created by Daniel Mayer, traced by User:Stannered |Permission=Original licensed under GFDL, this version own work. |other_versions=
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on af.wikipedia.org
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on azb.wikipedia.org
+
+Usage on ban.wikipedia.org
+
+Usage on be-tarask.wikipedia.org
+
+Usage on bg.wikipedia.org
+
+Usage on bh.wikipedia.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/mP.svg b/src/img/bravais2/mP.svg
new file mode 100644
index 0000000..dba469a
--- /dev/null
+++ b/src/img/bravais2/mP.svg
@@ -0,0 +1,772 @@
+
+
+
+
+File:Monoclinic.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Monoclinic.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 114 × 143 pixels, file size: 13 KB)
+
+
+
+
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Add a one-line explanation of what this file represents
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 07:19, 23 April 2019 114 × 143 (13 KB) Officer781 Removed inequality captions. Better to include those in the articles themselves.
+11:37, 31 July 2016 114 × 178 (24 KB) Officer781 Simplified notation. Use right angles to denote alpha and gamma without labelling as the orthorhombic, tetragonal, etc lattices are not labelled when it's 90 degrees. Also, a not equal to c because that will result in a right rhombic prism which is ano...
+20:56, 20 August 2012 114 × 178 (31 KB) Karol007 correcting α=γ=90°≠β
+20:04, 21 May 2012 114 × 178 (33 KB) Tretyak Correct of an error
+14:31, 18 March 2007 114 × 178 (32 KB) Stannered correcting = and ≠
+21:44, 2 March 2007 114 × 178 (31 KB) Stannered {{Information |Description=Monoclinic crystal structure. |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation License |other_versi
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on ban.wikipedia.org
+
+Usage on be-tarask.wikipedia.org
+
+Usage on be.wikipedia.org
+
+Usage on bg.wikipedia.org
+
+Usage on bh.wikipedia.org
+
+Usage on blk.wikipedia.org
+
+Usage on bn.wikipedia.org
+
+Usage on bs.wikipedia.org
+
+Usage on ca.wikipedia.org
+
+Usage on cdo.wikipedia.org
+
+Usage on ceb.wikipedia.org
+
+Usage on cs.wikipedia.org
+
+Usage on cy.wikipedia.org
+
+Usage on de.wikipedia.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/mS.svg b/src/img/bravais2/mS.svg
new file mode 100644
index 0000000..d5ac3a9
--- /dev/null
+++ b/src/img/bravais2/mS.svg
@@ -0,0 +1,762 @@
+
+
+
+
+File:Base-centered monoclinic.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Base-centered monoclinic.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 114 × 143 pixels, file size: 15 KB)
+
+
Summary
+
+
Licensing
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Add a one-line explanation of what this file represents
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 07:19, 23 April 2019 114 × 143 (15 KB) Officer781 Removed inequality captions. Better to include those in the articles themselves.
+12:58, 19 April 2019 114 × 178 (22 KB) Officer781 Correcting constraints. This one does not have the a!=c constraint.
+02:25, 1 August 2016 114 × 178 (26 KB) Officer781 Adjusted text to match the primitive monoclinic image.
+11:38, 31 July 2016 114 × 178 (26 KB) Officer781 Simplified notation. Use right angles to denote alpha and gamma without labelling as the orthorhombic, tetragonal, etc lattices are not labelled when it's 90 degrees. Also, a not equal to c because that will result in a right rhombic prism (orthorhombic).
+20:56, 20 August 2012 114 × 178 (32 KB) Karol007 correcting α=γ=90°≠β
+20:07, 21 May 2012 114 × 178 (34 KB) Tretyak Correct of an error
+14:32, 18 March 2007 114 × 178 (34 KB) Stannered correcting = and ≠
+21:44, 2 March 2007 114 × 178 (32 KB) Stannered {{Information |Description=Base-centered monoclinic crystal structure. |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation Licens
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on af.wikipedia.org
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on be.wikipedia.org
+
+Usage on bh.wikipedia.org
+
+Usage on bs.wikipedia.org
+
+Usage on ca.wikipedia.org
+
+Usage on cs.wikipedia.org
+
+Usage on cy.wikipedia.org
+
+Usage on da.wikipedia.org
+
+Usage on de.wikipedia.org
+
+Usage on el.wikipedia.org
+
+Usage on en.wikibooks.org
+
+Usage on en.wikiversity.org
+
+Usage on eo.wikipedia.org
+
+Usage on es.wikipedia.org
+
+Usage on es.wikiversity.org
+
+Usage on eu.wikipedia.org
+
+Usage on fa.wikipedia.org
+
+Usage on fi.wikipedia.org
+
+Usage on fr.wikipedia.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/oF.svg b/src/img/bravais2/oF.svg
new file mode 100644
index 0000000..07ecbbf
--- /dev/null
+++ b/src/img/bravais2/oF.svg
@@ -0,0 +1,760 @@
+
+
+
+
+File:Face-centered orthorhombic.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Face-centered orthorhombic.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 108 × 142 pixels, file size: 16 KB)
+
+
Summary
+
+
Licensing
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Add a one-line explanation of what this file represents
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 07:18, 23 April 2019 108 × 142 (16 KB) Officer781 Removed inequality captions. Better to include those in the articles themselves.
+21:44, 2 March 2007 108 × 157 (25 KB) Stannered {{Information |Description=Face-centered orthorhombic crystal structure. |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation Lice
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on af.wikipedia.org
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on be.wikipedia.org
+
+Usage on bs.wikipedia.org
+
+Usage on ca.wikipedia.org
+
+Usage on cs.wikipedia.org
+
+Usage on cy.wikipedia.org
+
+Usage on da.wikipedia.org
+
+Usage on de.wikipedia.org
+
+Usage on el.wikipedia.org
+
+Usage on en.wikibooks.org
+
+Usage on en.wikiversity.org
+
+Usage on eo.wikipedia.org
+
+Usage on es.wikipedia.org
+
+Usage on es.wikiversity.org
+
+Usage on eu.wikipedia.org
+
+Usage on fa.wikipedia.org
+
+Usage on fi.wikipedia.org
+
+Usage on fr.wikipedia.org
+
+Usage on fr.wikibooks.org
+
+Usage on fr.wikiversity.org
+
+Usage on gl.wikipedia.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/oI.svg b/src/img/bravais2/oI.svg
new file mode 100644
index 0000000..3406f36
--- /dev/null
+++ b/src/img/bravais2/oI.svg
@@ -0,0 +1,759 @@
+
+
+
+
+File:Body-centered orthorhombic.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Body-centered orthorhombic.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 108 × 142 pixels, file size: 12 KB)
+
+
Summary
+
+
Licensing
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Add a one-line explanation of what this file represents
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 07:17, 23 April 2019 108 × 142 (12 KB) Officer781 Removed inequality captions. Better to include those in the articles themselves.
+21:44, 2 March 2007 108 × 157 (21 KB) Stannered {{Information |Description=Body-centered orthorhombic crystal structure. |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation Lice
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on af.wikipedia.org
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on be.wikipedia.org
+
+Usage on bs.wikipedia.org
+
+Usage on ca.wikipedia.org
+
+Usage on cs.wikipedia.org
+
+Usage on cy.wikipedia.org
+
+Usage on da.wikipedia.org
+
+Usage on de.wikipedia.org
+
+Usage on el.wikipedia.org
+
+Usage on en.wikibooks.org
+
+Usage on en.wikiversity.org
+
+Usage on eo.wikipedia.org
+
+Usage on es.wikipedia.org
+
+Usage on es.wikiversity.org
+
+Usage on eu.wikipedia.org
+
+Usage on fa.wikipedia.org
+
+Usage on fi.wikipedia.org
+
+Usage on fr.wikipedia.org
+
+Usage on fr.wikibooks.org
+
+Usage on fr.wikiversity.org
+
+Usage on gl.wikipedia.org
+
+Usage on he.wikipedia.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/oP.svg b/src/img/bravais2/oP.svg
new file mode 100644
index 0000000..d96a793
--- /dev/null
+++ b/src/img/bravais2/oP.svg
@@ -0,0 +1,769 @@
+
+
+
+
+File:Orthorhombic.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Orthorhombic.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 108 × 142 pixels, file size: 11 KB)
+
+
Summary
+
+
Licensing
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Orthorhombic crystal structure.
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 07:16, 23 April 2019 108 × 142 (11 KB) Officer781 Removed inequality captions. Better to include those in the articles themselves.
+21:44, 2 March 2007 108 × 157 (20 KB) Stannered {{Information |Description=Orthorhombic crystal structure. |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation License |other_ver
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on af.wikipedia.org
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on azb.wikipedia.org
+
+Usage on ban.wikipedia.org
+
+Usage on ba.wikipedia.org
+
+Usage on be-tarask.wikipedia.org
+
+Usage on be.wikipedia.org
+
+Usage on bg.wikipedia.org
+
+Usage on bh.wikipedia.org
+
+Usage on blk.wikipedia.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/oS.svg b/src/img/bravais2/oS.svg
new file mode 100644
index 0000000..824b840
--- /dev/null
+++ b/src/img/bravais2/oS.svg
@@ -0,0 +1,766 @@
+
+
+
+
+File:Base-centered orthorhombic.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Base-centered orthorhombic.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 108 × 142 pixels, file size: 12 KB)
+
+
Summary
+
+
Licensing
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Add a one-line explanation of what this file represents
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 07:17, 23 April 2019 108 × 142 (12 KB) Officer781 Removed inequality captions. Better to include those in the articles themselves.
+13:02, 19 April 2019 108 × 157 (18 KB) Officer781 Actually since for base-centered orthorhombic the c axis is different, the only restriction is between a and b, which forms tetragonal. Does not apply for the c axis since centering a tetragonal in non-base sides is still orthorhombic.
+21:44, 2 March 2007 108 × 157 (22 KB) Stannered {{Information |Description=Base-centered orthorhombic crystal structure. |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation Lice
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on af.wikipedia.org
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on be.wikipedia.org
+
+Usage on bs.wikipedia.org
+
+Usage on ca.wikipedia.org
+
+Usage on cs.wikipedia.org
+
+Usage on cy.wikipedia.org
+
+Usage on da.wikipedia.org
+
+Usage on de.wikipedia.org
+
+Usage on el.wikipedia.org
+
+Usage on en.wikibooks.org
+
+Usage on en.wikiversity.org
+
+Usage on eo.wikipedia.org
+
+Usage on es.wikipedia.org
+
+Usage on es.wikiversity.org
+
+Usage on eu.wikipedia.org
+
+Usage on fa.wikipedia.org
+
+Usage on fi.wikipedia.org
+
+Usage on fr.wikipedia.org
+
+Usage on fr.wikibooks.org
+
+Usage on fr.wikiversity.org
+
+Usage on gl.wikipedia.org
+
+Usage on he.wikipedia.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/tI.svg b/src/img/bravais2/tI.svg
new file mode 100644
index 0000000..bb3d9db
--- /dev/null
+++ b/src/img/bravais2/tI.svg
@@ -0,0 +1,760 @@
+
+
+
+
+File:Body-centered tetragonal.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Body-centered tetragonal.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 108 × 165 pixels, file size: 12 KB)
+
+
Summary
+
+
Licensing
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Add a one-line explanation of what this file represents
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 07:15, 23 April 2019 108 × 165 (12 KB) Officer781 Removed inequality captions. Better to include those in the articles themselves.
+21:44, 2 March 2007 108 × 180 (19 KB) Stannered {{Information |Description=Body-centered tetragonal crystal structure. |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation Licens
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on af.wikipedia.org
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on ban.wikipedia.org
+
+Usage on be.wikipedia.org
+
+Usage on bh.wikipedia.org
+
+Usage on blk.wikipedia.org
+
+Usage on bn.wikipedia.org
+
+Usage on bs.wikipedia.org
+
+Usage on ca.wikipedia.org
+
+Usage on cs.wikipedia.org
+
+Usage on cy.wikipedia.org
+
+Usage on da.wikipedia.org
+
+Usage on de.wikipedia.org
+
+Usage on el.wikipedia.org
+
+Usage on en.wikibooks.org
+
+Usage on en.wikiversity.org
+
+Usage on es.wikipedia.org
+
+Usage on es.wikiversity.org
+
+Usage on es.wiktionary.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/bravais2/tP.svg b/src/img/bravais2/tP.svg
new file mode 100644
index 0000000..b2d3173
--- /dev/null
+++ b/src/img/bravais2/tP.svg
@@ -0,0 +1,750 @@
+
+
+
+
+File:Tetragonal.svg - Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jump to content
+
+
+
+
+
+
+
+
+ File:Tetragonal.svg
+
+
+
+
+
+Add languages
+
+
+
+
+ Page contents not supported in other languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
English
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
Original file (SVG file, nominally 108 × 165 pixels, file size: 11 KB)
+
+
Summary
+
+
Licensing
+
+
+
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License , Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License .http://www.gnu.org/copyleft/fdl.html GFDL GNU Free Documentation License true true
+
+
+
+
+
+This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
+
+
+
+
+
+
+
+
+You are free:
+to share – to copy, distribute and transmit the work
+to remix – to adapt the work
+Under the following conditions:
+attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
+
+
+This licensing tag was added to this file as part of the GFDL licensing update . http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 true true
+
English Add a one-line explanation of what this file represents
+
+
+
+
+
+
File history
+
+
Click on a date/time to view the file as it appeared at that time.
+
+
+Date/Time Thumbnail Dimensions User Comment
+current 07:15, 23 April 2019 108 × 165 (11 KB) Officer781 Removed inequality caption. Better to include those in the articles themselves.
+21:44, 2 March 2007 108 × 180 (18 KB) Stannered {{Information |Description=Tetragonal crystal structure |Source=Crystal stucture |Date=2007-03-02 |Author=Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered |Permission=GNU Free Documentation License |other_versio
+
+
+
+
File usage
+
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+
Global file usage
+
The following other wikis use this file:
+
+Usage on af.wikipedia.org
+
+Usage on ar.wikipedia.org
+
+Usage on ast.wikipedia.org
+
+Usage on ban.wikipedia.org
+
+Usage on be.wikipedia.org
+
+Usage on bg.wikipedia.org
+
+Usage on bh.wikipedia.org
+
+Usage on blk.wikipedia.org
+
+Usage on bs.wikipedia.org
+
+Usage on ca.wikipedia.org
+
+Usage on cdo.wikipedia.org
+
+
+
View more global usage of this file.
+
+
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
+
+If the file has been modified from its original state, some details may not fully reflect the modified file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/img/qhe-klitzing.jpeg b/src/img/qhe-klitzing.jpeg
new file mode 100644
index 0000000..3fad3ec
Binary files /dev/null and b/src/img/qhe-klitzing.jpeg differ
diff --git a/src/linalg.tex b/src/linalg.tex
new file mode 100644
index 0000000..4106a71
--- /dev/null
+++ b/src/linalg.tex
@@ -0,0 +1,118 @@
+\def\id{\mathbb{1}}
+
+\Part[
+ \eng{Linear algebra}
+ \ger{Lineare Algebra}
+ ]{linalg}
+
+ \Section[
+ \eng{Determinant}
+ \ger{Determinante}
+ ]{determinant}
+ \begin{formula}{2x2}
+ \desc{2x2 matrix}{}{}
+ \desc[german]{2x2 Matrix}{}{}
+ \eq{\det \begin{pmatrix} a & b \\ c & d \end{pmatrix} = a\,d -c\,b}
+ \end{formula}
+ \begin{formula}{3x3}
+ \desc{3x3 matrix (Rule of Sarrus)}{}{}
+ \desc[german]{3x3 Matrix (Regel von Sarrus)}{}{}
+ \eq{\det \begin{pmatrix} a & b & c \\ d & e & f \\ g & h & i \end{pmatrix} =
+ a\,e\,i + b\,f\,g + c\,d\,h - g\,e\,c - h\,f\,a-i\,d\,b}
+ \end{formula}
+ \begin{formula}{leibniz}
+ \desc{Leibniz formla}{}{}
+ \desc[german]{Leibniz-Formel}{}{}
+ \eq{\det(A) = \sum_{\sigma \in S_n}\Big(\sgn(\sigma) \prod_{i=1}^n a_{i,\sigma(i)}\Big)}
+ \end{formula}
+
+ \begin{formula}{product}
+ \desc{Product}{}{}
+ \desc[german]{Produkt}{}{}
+ \eq{\det(A \, B) = \det(A) \det(B)}
+ \end{formula}
+ \begin{formula}{inverse}
+ \desc{Inverse}{}{}
+ \desc[german]{Inverse}{}{}
+ \eq{\det(A^{-1}) = \det(A)^{-1}}
+ \end{formula}
+ \begin{formula}{transposed}
+ \desc{Transposed}{}{}
+ \desc[german]{Transponiert}{}{}
+ \eq{\det(A^{\T}) = \det(A)}
+ \end{formula}
+
+
+ \Section[
+
+ ]{zeug}
+
+ \begin{formula}{unitary}
+ \desc{Unitary matrix}{}{}
+ \desc[german]{Unitäre Matrix}{}{}
+ \eq{U ^\dagger U = \id}
+ \end{formula}
+
+ \begin{formula}{svd}
+ \desc{Singular value decomposition}{Factorization of complex matrices through rotating \rightarrow rescaling \rightarrow rotation.}{$A$: $m\times n$ matrix, $U$: $m\times m$ unitary matrix, $\Lambda$: $m\times n$ rectangular diagonal matrix with non-negative numbers on the diagonal, $V$: $n\times n$ unitary matrix}
+ \desc[german]{Singulärwertzerlegung}{Faktorisierung einer reellen oder komplexen Matrix durch Rotation \rightarrow Skalierung \rightarrow Rotation.}{}
+ \eq{A = U \Lambda V}
+ \end{formula}
+
+ \begin{formula}{rotation2}
+ \desc{2D rotation matrix}{}{}
+ \desc[german]{2D Rotationsmatrix}{}{}
+ \eq{R = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix} }
+ \end{formula}
+
+ \begin{formula}{rotation3}
+ \desc{3D rotation matrices}{}{}
+ \desc[german]{3D Rotationsmatrizen}{}{}
+ \eq{
+ R_x &= \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta \\ 0 & \sin\theta & \cos\theta \end{pmatrix} \\
+ R_y &= \begin{pmatrix} \cos\theta & 0 & \sin\theta \\ 0 & 1 & 0 \\ -\sin\theta & 0 & \cos\theta \end{pmatrix} \\
+ R_z &= \begin{pmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \\ \end{pmatrix}
+ }
+ \end{formula}
+
+ \begin{formula}{rotation_properties}
+ \desc{Properites of rotation matrices}{}{$n$ dimension, SO($n$) special othogonal group}
+ \desc[german]{Eigenschaften von Rotationsmatrizen}{}{$n$ Dimension, SO($n$) spezielle orthognale Gruppe}
+ \eq{
+ R^{\T} = R^{-1} \\
+ \det R = 1 \\
+ R \in \text{SO($n$)}
+ }
+ \end{formula}
+
+
+ \Section[
+ \eng{Eigenvalues}
+ \ger{Eigenwerte}
+ ]{eigen}
+ \begin{formula}{values}
+ \desc{Eigenvalue equation}{}{$\lambda$ eigenvalue, $v$ eigenvector}
+ \desc[german]{Eigenwert-Gleichung}{}{$\lambda$ Eigenwert, $v$ Eigenvektor}
+ \eq{A v = \lambda v}
+ \end{formula}
+
+ \begin{formula}{charac_poly}
+ \desc{Characteristic polynomial}{Zeros are the eigenvalues of $A$}{}
+ \desc[german]{Charakteristisches Polynom}{Nullstellen sind die Eigenwerte von $A$}{}
+ \eq{\chi_A = \det(A - \lambda \id) \overset{!}{=} 0}
+ \end{formula}
+
+ \begin{formula}{kramer}
+ \desc{Kramer's theorem}{If $H$ is invariant under $T$ and $\ket{\psi}$ is an eigenstate of $H$, then $T\ket{\psi}$ is also am eigenstate of $H$}{}
+ \desc[german]{Kramers-Theorem}{Wenn $H$ invariant unter $T$ ist und $\ket{\psi}$ ein Eigenzustand von $H$ ist, dann ist $T \ket{\psi}$ auch ein Eigenzustand von $H$}{}
+ \eq{T H T^\dagger = H \quad\wedge\quad H \ket{\psi} = E \ket{\psi} \quad\Rightarrow\quad H T \ket{\psi} = E T \ket{\psi}}
+ \end{formula}
+
+ \begin{formula}{eigendecomp}
+ \desc{Eigendecomposition}{}{$A$ diagonalizable, columns of $V$ are eigenvectors $v_i$, $\Lambda$ diagonal matrix with eigenvalues $\lambda_i$ on the diagonal}
+ \desc[german]{Eigenwertzerlegung}{}{$A$ diagonalisierbar, Spalten von $V$ sind die Eigenvektoren $v_i$, $\Lambda$ Diagonalmatrix mit Eigenwerten $\lambda_$ auf der Diagonalen}
+ \eq{A = V \Lambda V^{-1}}
+ \end{formula}
+
+ \TODO{Jordan stuff, blockdiagonal matrices, permutations, skalar product lapacescher entwicklungssatz maybe, cramers rule}
+
diff --git a/src/macros.tex b/src/macros.tex
new file mode 100644
index 0000000..51d80ac
--- /dev/null
+++ b/src/macros.tex
@@ -0,0 +1,47 @@
+\def\Grad{\vec{\nabla}}
+\def\Div{\vec{\nabla} \cdot}
+\def\Rot{\vec{\nabla} \times}
+\def\vecr{\vec{r}}
+
+\def\kB{k_\text{B}}
+\def\EFermi{E_\text{F}}
+
+\def\masse{m_\textrm{e}}
+
+\def\R{\mathbb{R}}
+\def\C{\mathbb{C}}
+\def\Z{\mathbb{Z}}
+\def\N{\mathbb{N}}
+
+\def\Four{\mathcal{F}} % Fourier transform
+\def\Lebesgue{\mathcal{L}} % Lebesgue
+\def\Order{\mathcal{O}}
+
+% complex, may be changed later to idot or upright...
+\def\I{i}
+
+\def\sdots{\,\dots\,}
+\def\qdots{\quad\dots\quad}
+\def\qRarrow{\quad\Rightarrow\quad}
+
+\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
+\DeclarePairedDelimiter{\floor}{\lfloor}{\rfloor}
+\DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}
+
+\DeclareMathOperator{\e}{e}
+\DeclareMathOperator{\T}{T} % transposed
+\DeclareMathOperator{\sgn}{sgn}
+\DeclareMathOperator{\tr}{tr}
+\DeclareMathOperator{\const}{const}
+\DeclareMathOperator{\erf}{erf}
+% diff, for integrals and stuff
+% \DeclareMathOperator{\dd}{d}
+\renewcommand*\d{\mathop{}\!\mathrm{d}}
+
+% functions with paranthesis
+\newcommand\CmdWithParenthesis[2]{
+ #1\left(#2\right)
+}
+\newcommand\Exp[1]{\CmdWithParenthesis{\exp}{#1}}
+\newcommand\Sin[1]{\CmdWithParenthesis{\sin}{#1}}
+\newcommand\Cos[1]{\CmdWithParenthesis{\cos}{#1}}
diff --git a/src/main.tex b/src/main.tex
index 06d9c33..11af82a 100644
--- a/src/main.tex
+++ b/src/main.tex
@@ -3,17 +3,30 @@
\usepackage[german]{babel}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage{mathtools}
+\usepackage{MnSymbol} % for >>> \ggg sign
% \usepackage{esdiff} % derivatives
% esdiff breaks when taking \dot{q} has argument
\usepackage{derivative}
+\usepackage{bbold} % \mathbb font
\usepackage{braket}
\usepackage{graphicx}
\usepackage{etoolbox}
+\usepackage{expl3} % switch case and other stuff
\usepackage{substr}
\usepackage{xcolor}
\usepackage{float}
+\usepackage{tikz} % drawings
+\usetikzlibrary{decorations.pathmorphing}
+\usetikzlibrary{calc}
+\usepackage{circuitikz}
\usepackage[hidelinks]{hyperref}
\usepackage{subcaption}
+\usepackage[shortlabels]{enumitem} % easily change enum symbols to i), a. etc
+\usepackage{colortbl} % color table
+\usepackage{tabularx} % bravais table
+\usepackage{adjustbox}
+\usepackage{multirow} % for superconducting qubit table
+\usepackage{hhline} % for superconducting qubit table
\hypersetup{colorlinks = true, % Colours links instead of ugly boxes
urlcolor = blue, % Colour for external hyperlinks
linkcolor = cyan, % Colour of internal links
@@ -26,13 +39,11 @@
\sisetup{per-mode = power}
\sisetup{exponent-product=\ensuremath{\cdot}}
-\DeclarePairedDelimiter\abs{\lvert}{\rvert}
-\DeclareMathOperator{\e}{e}
-\DeclareMathOperator{\d}{d}
\usepackage{translations}
\newcommand{\TODO}[1]{{\color{red}TODO:#1}}
+\newcommand{\ts}{\textsuperscript}
% put an explanation above an equal sign
% [1]: equality sign (or anything else)
@@ -41,6 +52,7 @@
\underset{\substack{\uparrow\\\mathrlap{\text{\hspace{-1em}#2}}}}{#1}}
\newcommand{\explOverEq}[2][=]{%
\overset{\substack{\mathrlap{\text{\hspace{-1em}#2}}\\\downarrow}}{#1}}
+
%
% TRANSLATION COMMANDS
@@ -91,14 +103,14 @@
\newcommand{\ger}[2][\fqname]{\dt[#1]{german}{#2}}
\newcommand{\eng}[2][\fqname]{\dt[#1]{english}{#2}}
-\newcommand{\GER}[2][\fqname]{\DT[#1]{german}{#2}}
-\newcommand{\ENG}[2][\fqname]{\DT[#1]{english}{#2}}
+\newcommand{\Ger}[2][\fqname]{\DT[#1]{german}{#2}}
+\newcommand{\Eng}[2][\fqname]{\DT[#1]{english}{#2}}
% use this to define text in different languages for the key
% the translation for when the environment ends.
% (temporarily change fqname to the \fqname: to allow
% the use of \eng and \ger without the key parameter)
-\newenvironment{ttext}[1]{
+\newenvironment{ttext}[1][desc]{
\edef\realfqname{\fqname}
\edef\fqname{\fqname:#1}
}{
@@ -148,101 +160,27 @@
\label{sec:\fqname}
}
+\newcommand{\fqEqRef}[1]{
+ \hyperref[eq:#1]{\GT{#1}}
+}
+\newcommand{\fqSecRef}[1]{
+ \hyperref[sec:#1]{\GT{#1}}
+}
+
\usepackage{xstring}
-\newcommand{\insertEquationLine}[2]{
- \par\noindent\ignorespaces
- % \textcolor{gray}{\hrule}
- \vspace{0.5\baselineskip}
- % \fbox{
- \begin{minipage}{0.3\textwidth}
- \iftranslation{#1}{
- \raggedright
- \gt{#1}
- }{}
- \iftranslation{#1_desc}{
- \\ {\color{darkgray} \gt{#1_desc}}
- }{}
- \end{minipage}
- % }
- \hfill
- \fbox{
- \begin{minipage}{0.6\textwidth}
- % \vspace{-\baselineskip} % remove the space that comes from starting a new paragraph
- #2 %
- \noindent\iftranslation{#1_defs}{
- \begingroup
- \color{darkgray}
- \gt{#1_defs}
- % \edef\temp{\GT{#1_defs}}
- % \expandafter\StrSubstitute\expandafter{\temp}{:}{\\}
- \endgroup
- }{}
- % \vspace{-\baselineskip} % remove the space that comes from starting a new paragraph
- \end{minipage}
- }
- \textcolor{lightgray}{\hrule}
- \vspace{0.5\baselineskip}
- % \par
- % \hrule
-}
-\newcommand{\insertEquation}[2]{
- \insertEquationLine{#1}{
- \begin{align}
- \label{eq:\fqname:#1}
- #2
- \end{align}
- }
-}
+\input{circuit.tex}
-\newcommand{\insertFLAlign}[2]{ % eq name, #cols, eq
- \insertEquationLine{#1}{%
- \begin{flalign}%
- % dont place label when one is provided
- % \IfSubStringInString{label}\unexpanded{#3}{}{
- % \label{eq:#1}
- % }
- #2%
- \end{flalign}
- }
-}
-
-\newcommand{\insertAlignedAt}[3]{ % eq name, #cols, eq
- \insertEquationLine{#1}{%
- \begin{alignat}{#2}%
- % dont place label when one is provided
- % \IfSubStringInString{label}\unexpanded{#3}{}{
- % \label{eq:#1}
- % }
- #3%
- \end{alignat}
- }
-}
-
-\newenvironment{formula}[1]{
- % key
- \newcommand{\desc}[4][english]{
- % language, name, description, definitions
- \dt[#1]{##1}{##2}
- \ifblank{##3}{}{\dt[#1_desc]{##1}{##3}}
- \ifblank{##4}{}{\dt[#1_defs]{##1}{##4}}
- }
- \newcommand{\eq}[1]{
- \insertEquation{#1}{##1}
- }
- \newcommand{\eqAlignedAt}[2]{
- \insertAlignedAt{#1}{##1}{##2}
- }
- \newcommand{\eqFLAlign}[1]{
- \insertFLAlign{#1}{##1}
- }
-}{\ignorespacesafterend}
+% some translations
\title{Formelsammlung}
\author{Matthias Quintern}
\date{\today}
+\input{macros.tex}
+\input{environments.tex}
+
\begin{document}
\maketitle
@@ -250,55 +188,29 @@
\newpage
\setcounter{page}{1}
-% \nuwcommand{\eq}[4][desc]{
-% \vspace*{0.1cm}
-% \begin{minipage}{0.3\textwidth}
-% \raggedright
-% .#2 \\
-% \ifstrequal{#1}{desc}{}{
-% {\color{gray}#1}
-% }
-% \end{minipage}
-% \begin{minipage}{0.7\textwidth}
-% \begin{align}
-% \label{eq:#4}
-% #3
-% \end{align}
-% \end{minipage}
-% \newline
-% }
-
-
-% \newcommand{\eqd}[5][desc]{
-% \vspace*{0.1cm}
-% \begin{minipage}{0.3\textwidth}
-% \raggedright
-% .#2 \\
-% \ifstrequal{#1}{desc}{}{
-% {\color{gray}#1}
-% }
-% \end{minipage}
-% \begin{minipage}{0.7\textwidth}
-% \begin{align}
-% \label{eq:#5}
-% #3
-% \end{align}
-% {\color{gray}with: #4}
-% \end{minipage}
-% \newline
-% }
-\IfSubStringInString{lol}{lol\frac{asdsd}{lol} & l}{YES!}{
- NO!
-}
\input{translations.tex}
-\input{trigonometry.tex}
+\input{linalg.tex}
+
+\input{geometry.tex}
+
+\input{analysis.tex}
+
+\input{probability_theory.tex}
\input{mechanics.tex}
+
+\input{statistical_mechanics.tex}
+
+\input{electrodynamics.tex}
\input{quantum_mechanics.tex}
\input{atom.tex}
+\input{condensed_matter.tex}
+
+\input{topo.tex}
+
\input{quantum_computing.tex}
\input{many-body-simulations.tex}
diff --git a/src/mechanics.tex b/src/mechanics.tex
index bb4a946..f2dc4ee 100644
--- a/src/mechanics.tex
+++ b/src/mechanics.tex
@@ -8,7 +8,7 @@
\eng{Lagrange formalism}
\ger{Lagrange Formalismus}
]{lagrange}
- \begin{ttext}{desc}
+ \begin{ttext}[desc]
\eng{The Lagrange formalism is often the most simple approach the get the equations of motion,
because with suitable generalied coordinates obtaining the Lagrange function is often relatively easy.
}
@@ -16,7 +16,7 @@
da das Aufstellen der Lagrange-Funktion mit geeigneten generalisierten Koordinaten oft relativ einfach ist.
}
\end{ttext}
- \begin{ttext}{generalized_coords}
+ \begin{ttext}[generalized_coords]
\eng{
The generalized coordinates are choosen so that the cronstraints are automatically fullfilled.
For example, the generalized coordinate for a 2D pendelum is $q=\varphi$, with $\vec{x} = \begin{pmatrix} \cos\varphi \\ \sin\varphi \end{pmatrix}$.
diff --git a/src/probability_theory.tex b/src/probability_theory.tex
new file mode 100644
index 0000000..c1f4c7d
--- /dev/null
+++ b/src/probability_theory.tex
@@ -0,0 +1,198 @@
+\Part[
+ \eng{Probability theory}
+ \ger{Wahrscheinlichkeitstheorie}
+ ]{pt}
+
+ \begin{formula}{mean}
+ \desc{Mean}{}{}
+ \desc[german]{Mittelwert}{}{}
+ \eq{\braket{x} = \int w(x)\, x\, \d x}
+ \end{formula}
+
+ \begin{formula}{variance}
+ \desc{Variance}{}{}
+ \desc[german]{Varianz}{}{}
+ \eq{\sigma^2 = (\Delta \hat{x})^2 = \braket{\hat{x}^2} - \braket{\hat{x}}^2 = \braket{(x - \braket{x})^2}}
+ \end{formula}
+
+ \begin{formula}{std_deviation}
+ \desc{Standard deviation}{}{}
+ \desc[german]{Standardabweichung}{}{}
+ \eq{\sigma = \sqrt{(\Delta x)^2}}
+ \end{formula}
+
+ \begin{formula}{median}
+ \desc{Median}{Value separating lower half from top half}{$x$ dataset with $n$ elements}
+ \desc[german]{Median}{Teilt die untere von der oberen Hälfte}{$x$ Reihe mit $n$ Elementen}
+ \eq{
+ \textrm{med}(x) = \left\{ \begin{array}{ll} x_{(n+1)/2} & \text{$n$ \GT{odd}} \\ \frac{x_{(n/2)}+x_{((n/2)+1)}}{2} & \text{$n$ \GT{even}} \end{array} \right
+ }
+ \end{formula}
+
+ \begin{formula}{pdf}
+ \desc{Probability density function}{Random variable has density $f$. The integral gives the probability of $X$ taking a value $x\in[a,b]$.}{$f$ normalized: $\int_{-\infty}^\infty f(x) \d x= 1$}
+ \desc[german]{Wahrscheinlichkeitsdichtefunktion}{Zufallsvariable hat Dichte $f$. Das Integral gibt Wahrscheinlichkeit an, dass $X$ einen Wert $x\in[a,b]$ annimmt}{$f$ normalisiert $\int_{-\infty}^\infty f(x) \d x= 1$}
+ \eq{P([a,b]) := \int_a^b f(x) \d x}
+ \end{formula}
+
+ \begin{formula}{cdf}
+ \desc{Cumulative distribution function}{}{$f$ probability density function}
+ \desc[german]{Kumulative Verteilungsfunktion}{}{$f$ Wahrscheinlichkeitsdichtefunktion}
+ \eq{F(x) = \int_{-\infty}^x f(t) \d t}
+ \end{formula}
+
+\Section[
+ \eng{Distributions}
+ \ger{Verteilungen}
+ ]{distributions}
+
+
+
+
+ \Subsubsection[
+ \eng{Gauß/Normal distribution}
+ \ger{Gauß/Normal-Verteilung}
+ ]{normal}
+ \begin{minipage}{\distleftwidth}
+ \begin{figure}[H]
+ \centering
+ \includegraphics[width=\textwidth]{img/distribution_gauss.pdf}
+ \end{figure}
+ \end{minipage}
+ \begin{distribution}
+ \disteq{parameters}{\mu \in \R,\quad \sigma^2 \in \R}
+ \disteq{support}{x \in \R}
+ \disteq{pdf}{\frac{1}{\sqrt{2\pi\sigma^2}}\exp \left(-\frac{(x-\mu)^2}{2\sigma^2}\right)}
+ \disteq{cdf}{\frac{1}{2}\left[1 + \erf \left(\frac{x-\mu}{\sqrt{2}\sigma}\right)\right]}
+ \disteq{mean}{\mu}
+ \disteq{median}{\mu}
+ \disteq{variance}{\sigma^2}
+ \end{distribution}
+
+ \begin{formula}{standard_normal_distribution}
+ \desc{Density function of the standard normal distribution}{$\mu = 0$, $\sigma = 1$}{}
+ \desc[german]{Dichtefunktion der Standard-Normalverteilung}{$\mu = 0$, $\sigma = 1$}{}
+ \eq{\varphi(x) = \frac{1}{\sqrt{2\pi}} \e^{-\frac{1}{2}x^2}}
+ \end{formula}
+
+ \Subsubsection[
+ \eng{Cauchys / Lorentz distribution}
+ \ger{Cauchy / Lorentz-Verteilung}
+ ]{cauchy}
+ \begin{minipage}{\distleftwidth}
+ \begin{figure}[H]
+ \centering
+ \includegraphics[width=\textwidth]{img/distribution_cauchy.pdf}
+ \end{figure}
+ \end{minipage}
+ \begin{distribution}
+ \disteq{parameters}{x_0 \in \R,\quad \gamma \in \R}
+ \disteq{support}{x \in \R}
+ \disteq{pdf}{\frac{1}{\pi\gamma\left[1+\left(\frac{x-x_0}{\gamma}\right)^2\right]}}
+ \disteq{cdf}{\frac{1}{\pi}\arctan\left(\frac{x-x_0}{\gamma}\right) + \frac{1}{2}}
+ \disteq{mean}{\text{\GT{undefined}}}
+ \disteq{median}{x_0}
+ \disteq{variance}{\text{\GT{undefined}}}
+ \end{distribution}
+
+ \begin{ttext}
+ \eng{Also known as \textbf{Cauchy-Lorentz distribution}, \textbf{Lorentz(ian) function}, \textbf{Breit-Wigner distribution}.}
+ \ger{Auch bekannt als \textbf{Cauchy-Lorentz Verteilung}, \textbf{Lorentz Funktion}, \textbf{Breit-Wigner Verteilung}.}
+ \end{ttext}
+
+
+ \Subsubsection[
+ \eng{Binomial distribution}
+ \ger{Binomialverteilung}
+ ]{binomial}
+ \begin{ttext}
+ \eng{For the number of trials going to infinity ($n\to\infty$), the binomial distribution converges to the \hyperref[sec:pb:distributions::poisson]{poisson distribution}}
+ \ger{Geht die Zahl der Versuche gegen unendlich ($n\to\infty$), konvergiert die Binomualverteilung gegen die \hyperref[sec:pb:distributions::poisson]{Poissonverteilung}}
+ \end{ttext}
+ \begin{minipage}{\distleftwidth}
+ \begin{figure}[H]
+ \centering
+ \includegraphics[width=\textwidth]{img/distribution_binomial.pdf}
+ \end{figure}
+ \end{minipage}
+ \begin{distribution}
+ \disteq{parameters}{n \in \Z, \quad p \in [0,1],\quad q = 1 - p}
+ \disteq{support}{k \in \{0,\,1,\,\dots,\,n\}}
+ \disteq{pmf}{\binom{n}{k} p^k q^{n-k}}
+ % \disteq{cdf}{\text{regularized incomplete beta function}}
+ \disteq{mean}{np}
+ \disteq{median}{\floor{np} \text{ or } \ceil{np}}
+ \disteq{variance}{npq = np(1-p)}
+ \end{distribution}
+ \Subsubsection[
+ \eng{Poisson distribution}
+ \ger{Poissonverteilung}
+ ]{poisson}
+ \begin{minipage}{\distleftwidth}
+ \begin{figure}[H]
+ \centering
+ \includegraphics[width=\textwidth]{img/distribution_poisson.pdf}
+ \end{figure}
+ \end{minipage}
+ \begin{distribution}
+ \disteq{parameters}{\lambda \in (0,\infty)}
+ \disteq{support}{k \in \N}
+ \disteq{pmf}{\frac{\lambda^k \e^{-\lambda}}{k!}}
+ \disteq{cdf}{\e^{-\lambda} \sum_{j=0}^{\floor{k}} \frac{\lambda^j}{j!}}
+ \disteq{mean}{\lambda}
+ \disteq{median}{\approx\floor*{\lambda + \frac{1}{3} - \frac{1}{50\lambda}}}
+ \disteq{variance}{\lambda}
+ \end{distribution}
+
+
+ \Subsubsection[
+ \eng{Maxwell-Boltzmann distribution}
+ \ger{Maxwell-Boltzmann Verteilung}
+ ]{maxwell-boltzmann}
+ \begin{minipage}{\distleftwidth}
+ \begin{figure}[H]
+ \centering
+ \includegraphics[width=\textwidth]{img/distribution_maxwell-boltzmann.pdf}
+ \end{figure}
+ \end{minipage}
+ \begin{distribution}
+ \disteq{parameters}{a > 0}
+ \disteq{support}{x \in (0, \infty)}
+ \disteq{pdf}{\sqrt{\frac{2}{\pi}} \frac{x^2}{a^3} \exp\left(-\frac{x^2}{2a^2}\right)}
+ \disteq{cdf}{\erf \left(\frac{x}{\sqrt{2} a}\right) - \sqrt{\frac{2}{\pi}} \frac{x}{a} \exp\left({\frac{-x^2}{2a^2}}\right)}
+ \disteq{mean}{2a \frac{2}{\pi}}
+ \disteq{median}{}
+ \disteq{variance}{\frac{a^2(3\pi-8)}{\pi}}
+ \end{distribution}
+
+
+
+ % \begin{distribution}{maxwell-boltzmann}
+ % \distdesc{Maxwell-Boltzmann distribution}{}
+ % \distdesc[german]{Maxwell-Boltzmann Verteilung}{}
+ % \disteq{parameters}{}
+ % \disteq{pdf}{}
+ % \disteq{cdf}{}
+ % \disteq{mean}{}
+ % \disteq{median}{}
+ % \disteq{variance}{}
+ % \end{distribution}
+
+
+ \Subsection[
+ \eng{Central limit theorem}
+ \ger{Zentraler Grenzwertsatz}
+ ]{cls}
+ \begin{ttext}
+ \eng{
+ Suppose $X_1, X_2, \dots$ is a sequence of independent and identically distributed random variables with $\braket{X_i} = \mu$ and $(\Delta X_i)^2 = \sigma^2 < \infty$.
+ As $N$ approaches infinity, the random variables $\sqrt{N}(\bar{X}_N - \mu)$ converge to a normal distribution $\mathcal{N}(0, \sigma^2)$.
+ \\ That means that the variance scales with $\frac{1}{\sqrt{N}}$ and statements become accurate for large $N$.
+ }
+ \ger{
+ Sei $X_1, X_2, \dots$ eine Reihe unabhängiger und gleichverteilter Zufallsvariablen mit $\braket{X_i} = \mu$ und $(\Delta X_i)^2 = \sigma^2 < \infty$.
+ Für $N$ gegen unendlich konvergieren die Zufallsvariablen $\sqrt{N}(\bar{X}_N - \mu)$ zu einer Normalverteilung $\mathcal{N}(0, \sigma^2)$.
+ \\ Das bedeutet, dass die Schwankung mit $\frac{1}{\sqrt{N}}$ wächst und Aussagen für große $N$ scharf werden.
+ }
+ \end{ttext}
+
diff --git a/src/quantum_computing.tex b/src/quantum_computing.tex
index 488b177..f8501e0 100644
--- a/src/quantum_computing.tex
+++ b/src/quantum_computing.tex
@@ -1,7 +1,7 @@
\Part[
\eng{Quantum Computing}
\ger{Quantencomputing}
-]{qubit}
+]{qc}
\Section[
\eng{Qubits}
@@ -36,38 +36,396 @@
% \item \gt{bitphaseflip}: $\hat{Y} = \sigma_y = \sigmaymatrix$
% \item \gt{phaseflip}: $\hat{Z} = \sigma_z = \sigmazmatrix$ \item \gt{hadamard}: $\hat{H} = \frac{1}{\sqrt{2}}(\hat{X}-\hat{Z}) = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$
% \end{itemize}
-
\Section[
- \eng{Josephson Junction}
- \ger{Josephson-Kontakt}
- ]{josephson_junction}
- \begin{ttext}{desc}
- \eng{When two superconductors are separated by a thin isolator, Cooper pairs can tunnel through the insulator}
- \ger{Wenn zwei Supraleiter durch einen dünnen Isolator getrennt sind, können Cooper-Paare durch den Isolator tunneln.}
- \end{ttext}
+ \eng{Superconducting qubits}
+ \ger{Supraleitende qubits}
+ ]{scq}
- \begin{formula}{hamiltonian}
- \desc{Josephson-Hamiltonian}{}{}
- \desc[german]{Josephson-Hamiltonian}{}{}
- \eq{
- \hat{H}_\text{J} &= - \frac{E_\text{J}}{2} \sum_n [\ket{n}\bra{n+1} + \ket{n+1}\bra{n}]
- }
- \end{formula}
+ \Subsection[
+ \eng{Building blocks}
+ \ger{Bauelemente}
+ ]{elements}
+ \Subsubsection[
+ \eng{Josephson Junction}
+ \ger{Josephson-Kontakt}
+ ]{josephson_junction}
+ \begin{ttext}[desc]
+ \eng{When two superconductors are separated by a thin isolator, Cooper pairs can tunnel through the insulator. The Josephson junction is a non-linear inductor.}
+ \ger{Wenn zwei Supraleiter durch einen dünnen Isolator getrennt sind, können Cooper-Paare durch den Isolator tunneln. Der Josephson-Kontakt ist ein nicht-linearer Induktor.}
+ \end{ttext}
- \begin{formula}{1st_josephson_relation}
- \desc{1. Josephson relation}{Dissipationless supercurrent accros junction at zero applied voltage}{$I_\text{C}=\frac{2e}{\hbar}E_\text{J}$ critical current, $\delta$ phase difference accross junction}
- \desc[german]{1. Josephson Gleichung}{Dissipationsloser Suprastrom durch die Kreuzung ohne angelegte Spannung}{$I_\text{C}=\frac{2e}{\hbar}E_\text{J}$ kritischer Strom, $\delta$ Phasendifferenz zwischen den Supraleitern}
- \eq{\hat{I}\ket{\delta} = I_\text{C}\sin\delta \ket{\delta}}
- \end{formula}
+ \begin{formula}{hamiltonian}
+ \desc{Josephson-Hamiltonian}{}{}
+ \desc[german]{Josephson-Hamiltonian}{}{}
+ \eq{
+ \hat{H}_\text{J} &= - \frac{E_\text{J}}{2} \sum_n [\ket{n}\bra{n+1} + \ket{n+1}\bra{n}]
+ }
+ \end{formula}
+
+ \begin{formula}{1st_josephson_relation}
+ \desc{1. Josephson relation}{Dissipationless supercurrent accros junction at zero applied voltage}{$I_\text{C}=\frac{2e}{\hbar}E_\text{J}$ critical current, $\delta$ phase difference accross junction}
+ \desc[german]{1. Josephson Gleichung}{Dissipationsloser Suprastrom durch die Kreuzung ohne angelegte Spannung}{$I_\text{C}=\frac{2e}{\hbar}E_\text{J}$ kritischer Strom, $\delta$ Phasendifferenz zwischen den Supraleitern}
+ \eq{\hat{I}\ket{\delta} = I_\text{C}\sin\delta \ket{\delta}}
+ \end{formula}
+
+ \begin{formula}{2nd_josephson_relation}
+ \desc{2. Josephson relation}{superconducting phase change is proportional to applied voltage}{$\varphi_0=\frac{\hbar}{2e}$ reduced flux quantum}
+ \desc[german]{2. Josephson Gleichung}{Supraleitende Phasendifferenz is proportional zur angelegten Spannung}{$\varphi_0=\frac{\hbar}{2e}$ reduziertes Flussquantum}
+ \eq{\odv{\hat{\delta}}{t}=\frac{1}{i\hbar}[\hat{H},\hat{\delta}] = -\frac{2eU}{i\hbar}[\hat{n},\hat{\delta}] = \frac{1}{\varphi_0} U}
+ \end{formula}
+
+ \Subsubsection[
+ \eng{SQUID}
+ \ger{SQUID}
+ ]{squid}
+ \ctikzsubcircuitdef{squidloop}{n, s, nw, ne, se, sw}{
+ % start at top
+ coordinate(#1-n)
+ (#1-n)
+ to ++(-1, 0) coordinate(#1-nw)
+ to[josephsoncap=$\phi_1$] ++(0,-2) coordinate(#1-sw)
+ to ++(1,0) coordinate(#1-s) to ++(1,0) coordinate(#1-se)
+ to[josephsoncap=$\phi_2$] ++(0,2) coordinate(#1-ne)
+ to ++(-1,0)
+ (#1-s) % leave at bottom
+ }
+ \begin{formula}{circuit}
+ \desc{SQUID}{Superconducting quantum interference device, consists of parallel \hyperref{sec:qc:scq:josephson_junction}{josephson junctions}, can be used to measure extremely weak magnetic fields}{}
+ \desc[german]{SQUID}{Superconducting quantum interference device, besteht aus parralelen \hyperref{sec:qc:scq:josephson_junction}{Josephson Junctions} und kann zur Messung extrem schwacher Magnetfelder genutzt werden}{}
+ \content{
+ \centering
+ \begin{circuitikz}
+ \draw (0, 0) \squidloop{loop}{};
+ \end{circuitikz}
+ }
+ \end{formula}
+ \begin{formula}{hamiltonian}
+ \desc{Hamiltonian}{}{$\hat{\phi}$ phase difference across the junction}
+ \desc[german]{Hamiltonian}{}{$\hat{\phi}$ Phasendifferenz an einer Junction}
+ \eq{\hat{H} &= -E_{\text{J}1} \cos\hat{\phi}_{1} - E_{\text{J}2} \cos\hat{\phi}_{2}}
+ \end{formula}
+
+ \Subsection[
+ \eng{Josephson Qubit??}
+ \ger{TODO}
+ ]{josephson_qubit}
+ \begin{circuitikz}
+ \draw (0,0) to[capacitor] (0,2);
+ \draw (0,0) to (2,0);
+ \draw (0,2) to (2,2);
+ \draw (2,0) to[josephson] (2,2);
+
+ \draw[->] (3,1) -- (4,1);
+ \draw (5,0) to[josephsoncap=$C_\text{J}$] (5,2);
+ \end{circuitikz}
+ \TODO{Include schaltplan}
+
+ \begin{circuitikz}
+ \draw (0,0) to[sV=$V_\text{g}$] (0,2);
+ \draw (0,2) to[capacitor=$C_\text{g}$] (2,2);
+ \draw (2,2) to (4,2);
+ \draw (2,0) to[josephsoncap=$C_\text{J}$] (2,2);
+ \draw (4,0) to[capacitor=$C_C$] (4,2);
+ \draw (0,0) to (2,0);
+ \draw (2,0) to (4,0);
+ \end{circuitikz}
+
+ \begin{formula}{charging_energy}
+ \desc{Charging energy / electrostatic energy}{}{}
+ \desc[german]{Ladeenergie?}{}{}
+ \eq{E_\text{C} = \frac{(2e)^2}{C}}
+ \end{formula}
+
+ \begin{formula}{josephson_energy}
+ \desc{Josephson energy}{}{}
+ \desc[german]{Josephson-Energie?}{}{}
+ \eq{E_\text{J} = \frac{I_0 \phi_0}{2\pi}}
+ \end{formula}
+ \TODO{Was ist I0}
+
+ \begin{formula}{inductive_energy}
+ \desc{Inductive energy}{}{}
+ \desc[german]{Induktive Energie}{}{}
+ \eq{E_\text{L} = \frac{\varphi_0^2}{L}}
+ \end{formula}
+
+ \begin{formula}{gate_charge}
+ \desc{Gate charge}{or offset charge}{}
+ \desc[german]{Gate Ladung}{auch Offset charge}{}
+ \eq{n_\text{g}=\frac{C_g V_\text{g}}{2e}}
+ \end{formula}
+
+ \begin{formula}{anharmonicity}
+ \desc{Anharmonicity}{}{}
+ \desc[german]{Anharmonizität}{}{}
+ \eq{\alpha \coloneq \omega_{1\leftrightarrow 2} - \omega_{0\leftrightarrow 1}}
+ \end{formula}
+
+
+ \begin{table}[h!]
+ \centering
+ \begin{tabular}{ p{1cm} |p{1cm}||p{2.8cm}|p{2cm}|p{2cm}|p{2cm}|}
+ \multicolumn{1}{c}{}& \multicolumn{1}{c}{} &\multicolumn{4}{c}{$E_L/(E_J-E_L)$} \\
+ \cline{3-6}
+ \multicolumn{1}{c}{} & & $0$ & $\ll$ 1 & $\sim 1$ & $\gg 1$\\
+ \hhline{~|=====|}
+ \multirow{4}{*}{$E_J/E_C$} & $\ll 1$ & cooper-pair box & & & \\
+ \cline{2-6}
+ & $\sim 1$ & quantronium & fluxonium & &\\
+ \cline{2-6}
+ & $\gg 1$ &transmon & & & flux qubit\\
+ \cline{2-6}
+ & $\ggg 1$ & & & phase qubit & \\
+ \cline{2-6}
+ \end{tabular}
+ \caption{``periodic table'' of superconducting quantum circuits}
+ \label{Juncatalog}
+
+ \end{table}
+
+
+ \Subsection[
+ \eng{Cooper Pair Box (CPB) qubit}
+ \ger{Cooper Paar Box (QPB) Qubit}
+ ]{cpb}
+ \begin{ttext}
+ \eng{
+ = voltage bias junction\\= charge qubit?
+ \begin{itemize}
+ \item large anharmonicity
+ \item sensitive to charge noise
+ \end{itemize}
+ }
+ \ger{}
+ \end{ttext}
+ \begin{circuitikz}
+ \draw (0,0) to[sV=$V_\text{g}$] (0,2);
+ % \draw (0,0) to (2,0);
+ \draw (0,2) to[capacitor=$C_\text{g}$] (2,2);
+ \draw (2,0) to[josephsoncap=$C_\text{J}$] (2,2);
+ \draw (0,0) to (2,0);
+ \end{circuitikz}
+
+
+ \TODO{maybe include graphic from page 48, intro to qed circuits}
+
+ \begin{formula}{hamiltonian}
+ \desc{Hamiltonian}{}{}
+ \desc[german]{Hamiltonian}{}{}
+ \eq{\hat{H} &= 4 E_C(\hat{n} - n_\text{g})^2 - E_\text{J} \cos\hat{\phi} \\
+ &=\sum_n \left[4 E_C (n-n_\text{g})^2 \ket{n}\bra{n} - \frac{E_\text{J}}{2}\ket{n}\bra{n+1}+\ket{n+1}\bra{n}\right] }
+ \end{formula}
+
+ \Subsection[
+ \eng{Transmon qubit}
+ \ger{Transmon Qubit}
+ ]{transmon}
+ \begin{formula}{circuit}
+ \desc{Transmon qubit}{
+ Josephson junction with a shunt \textbf{capacitance}.
+ \begin{itemize}
+ \item charge noise insensitive
+ \item small anharmonicity
+ \end{itemize}
+ }{}
+ \desc[ger]{Transmon Qubit}{
+ Josephson-Kontakt mit einem parallelen \textbf{kapzitiven Element}.
+ \begin{itemize}
+ \item Charge noise resilient
+ \item Geringe Anharmonizität $\alpha$
+ \end{itemize}
+ }{}
+ \content{
+ \centering
+ \begin{circuitikz}
+ \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
+ to[capacitor=$C_\text{g}$] ++(2,0)
+ to[capacitor=$C_C$] ++(0,-3)
+ to ++(-2,0);
+ \draw (2,3) to ++(2,0) to ++(0,-0.5) to[josephsoncap=$C_\text{J}$] ++(-0,-2) to ++(0,-0.5) to ++(-2,0);
+ \end{circuitikz}
+ \\\TODO{Ist beim Transmon noch die Voltage source dran?}
+ }
+ \end{formula}
+
+ \begin{formula}{hamiltonian}
+ \desc{Hamiltonian}{}{}
+ \desc[german]{Hamiltonian}{}{}
+ \eq{\hat{H} &= 4 E_C\hat{n}^2 - E_\text{J} \cos\hat{\phi}}
+ \end{formula}
+
+ \Subsubsection[
+ \eng{Tunable Transmon qubit}
+ \ger{Tunable Transmon Qubit}
+ ]{tunable}
+ \begin{formula}{circuit}
+ \desc{Frequency tunable transmon}{By using a \fqSecRef{qc:scq:elements:squid} instead of a \fqSecRef{qc:scq:elements:josephson_junction}, the qubit is frequency tunable through an external field}{}
+ \desc[german]{}{Durch Nutzung eines \fqSecRef{qc:scq:elements:squid} anstatt eines \fqSecRef{qc:scq:elements:josephson_junction}s, ist die Frequenz des Qubits durch ein externes Magnetfeld einstellbar}{}
+ \content{
+ \centering
+ \begin{circuitikz}
+ \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
+ to[capacitor=$C_\text{g}$] ++(2,0)
+ to[capacitor=$C_C$] ++(0,-3)
+ to ++(-2,0);
+ \draw (2,3) to ++(3,0) to ++(0,-0.5) \squidloop{loop}{SQUID} to ++(0,-0.5) to ++(-3,0);
+ \end{circuitikz}
+ }
+ \end{formula}
+
+ \begin{formula}{energy}
+ \desc{Josephson energy}{}{$d=(E_\text{J1}-E_\text{J2})/(E_\text{J1}+E_\text{J2})$ asymmetry}
+ \desc[german]{Josephson Energie}{}{$d=(E_\text{J1}-E_\text{J2})/(E_\text{J1}+E_\text{J2})$ Asymmetrie}
+ \eq{E_\text{J,eff}(\Phi_\text{ext}) = (E_\text{J1}+E_\text{J2}) \sqrt{\cos^2\left(\pi\frac{\Phi_\text{ext}}{\Phi_0}\right) + d^2 \sin \left(\pi\frac{\Phi_\text{ext}}{\Phi_0}\right)}}
+ \end{formula}
+ \begin{formula}{hamiltonian}
+ \desc{Hamiltonian}{}{}
+ \desc[german]{Hamiltonian}{}{}
+ \eq{\hat{H} = 4E_C \hat{n}^2 - \frac{1}{2} E_\text{J,eff}(\Phi_\text{ext}) \sum_{n}\left[\ket{n}\bra{n+1} + \ket{n+1}\bra{n}\right]}
+ \end{formula}
+
+
+ \Subsection[
+ \eng{Flux qubit}
+ \ger{Flux Qubit}
+ ]{flux}
+ \TODO{TODO}
+ \begin{formula}{circuit}
+ \desc{Flux qubit / Persistent current qubit}{}{}
+ \desc[german]{Flux Qubit / Persistent current qubit}{}{}
+ \content{
+ \centering
+ \begin{circuitikz}
+ \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
+ to ++(2,0) coordinate(top1);
+ \draw[color=gray] (top1) to[capacitor=$C_C$] ++(0,-3);
+ \draw (top1) to ++(2,0) coordinate(top2) to ++(0,-0.5)
+ to[josephsoncap=$C_\text{J}$] ++(-0,-2) to ++(0,-0.5) to ++(-2,0) to ++(-2,0);
+ \draw (top2) to ++(2,0) to[cute inductor=$E_L$] ++(0,-3) to ++(-2,0);
+ \node at (5,0.5) {$\Phi_\text{ext}$};
+ \end{circuitikz}
+ \\\TODO{Ist beim Fluxonium noch die Voltage source dran?}
+ }
+ \end{formula}
+
+
+ \Subsection[
+ \eng{Fluxonium qubit}
+ \ger{Fluxonium Qubit}
+ ]{fluxonium}
+ \begin{formula}{circuit}
+ \desc{Fluxonium qubit}{
+ Josephson junction with a shunt \textbf{inductance}. Instead of having to tunnel, cooper pairs can move to the island via the inductance.
+ The inductance consists of many parallel Josephson Junctions to avoid parasitic capacitances.
+ }{}
+ \desc[german]{Fluxonium Qubit}{
+ Josephson-Kontakt mit einem parallelen \textbf{induktiven Element}.
+ Anstatt zu tunneln, können die Cooper-Paare über das induktive Element auf die Insel gelangen.
+ Das induktive Element besteht aus sehr vielen parallelen Josephson-Kontakten um parisitische Kapazitäten zu vermeiden.
+ }{}
+ \content{
+ \centering
+ \begin{circuitikz}
+ \draw (0,0) to[sV=$V_\text{g}$] ++(0,3)
+ to ++(2,0) coordinate(top1);
+ \draw[color=gray] (top1) to[capacitor=$C_C$] ++(0,-3);
+ \draw (top1) to ++(2,0) coordinate(top2) to ++(0,-0.5)
+ to[josephsoncap=$C_\text{J}$] ++(-0,-2) to ++(0,-0.5) to ++(-2,0) to ++(-2,0);
+ \draw (top2) to ++(2,0) to[cute inductor=$E_L$] ++(0,-3) to ++(-2,0);
+ \node at (5,0.5) {$\Phi_\text{ext}$};
+ \end{circuitikz}
+ \\\TODO{Ist beim Fluxonium noch die Voltage source dran?}
+ }
+ \end{formula}
+
+ \def\temp{$E_\text{C} = \frac{(2e)^2}{2C}, E_\text{L} = \frac{\varphi_0^2}{2L}, \delta_\text{s} = \frac{\varphi_\text{s}}{\varphi_0}$}
+ \begin{formula}{hamiltonian}
+ \desc{Hamiltonian}{}{\temp}
+ \desc[german]{Hamiltonian}{}{\temp}
+ \eq{\hat{H} = 4E_\text{C} \hat{n}^2 - E_\text{J} \cos \hat{\delta} + E_\text{L}(\hat{\delta} - \delta_\text{s})^2}
+ \end{formula}
+
+ \begin{figure}[h]
+ \centering
+ \includegraphics[width=0.8\textwidth]{img/qubit_flux_onium.pdf}
+ \caption{img/}
+ \label{fig:img-}
+ \end{figure}
+
+
+ \Section[
+ \eng{Two-level system}
+ \ger{Zwei-Niveau System}
+ ]{stuff}
+
+ \begin{formula}{resonance_frequency}
+ \desc{Resonance frequency}{}{}
+ \desc[german]{Ressonanzfrequenz}{}{}
+ \eq{\omega_{21} = \frac{E_2 - E_1}{\hbar}}
+ \end{formula}
+ \TODO{sollte das nicht 10 sein?}
+
+ \begin{formula}{rabi_oscillation}
+ \desc{Rabi oscillations}{}{$\omega_{21}$ resonance frequency of the energy transition, $\Omega$ Rabi frequency}
+ \desc[german]{Rabi-Oszillationen}{}{$\omega_{21}$ Resonanzfrequenz des Energieübergangs, $\Omega$ Rabi-Frequenz}
+ \eq{\Omega_ TODO}
+ \end{formula}
+
+ \Subsection[
+ \eng{Ramsey interferometry}
+ \ger{Ramsey Interferometrie}
+ ]{ramsey}
+
+ \begin{ttext}
+ \eng{$\ket{0} \xrightarrow{\frac{\pi}{2}\,\text{pulse}}$ precession in $xy$ plane for time $\tau$ $\xrightarrow{\frac{\pi}{2}\,\text{pulse}}$ measurement}
+ \ger{q}
+ \end{ttext}
+
+ \Section[
+ \eng{Noise and decoherence}
+ \ger{Noise und Dekohärenz}
+ ]{noise}
+ \begin{formula}{long}
+ \desc{Longitudinal relaxation rate}{$\Gamma_{1\downarrow}$: $\ket{1}\rightarrow \ket{0}$ \\ $\Gamma_{1\uparrow}$: $\ket{0}\rightarrow \ket{1}$}{}
+ \desc[german]{Longitudinale Relaxationsrate}{$\Gamma_{1\downarrow}$: $\ket{1}\rightarrow \ket{0}$ \\ $\Gamma_{1\uparrow}$: $\ket{0}\rightarrow \ket{1}$}{}
+ \eq{\Gamma_1 = \frac{1}{T_1} = \Gamma_{1\uparrow} + \Gamma_{1\downarrow}}
+ \end{formula}
+
+ \begin{ttext}[long]
+ \eng{$\Gamma_{1\uparrow}$ is supressed because of detailed balance}
+ \ger{$\Gamma_{1\uparrow}$ ist unterdrückt wegen detailed balance}
+ \end{ttext}
+
+ \begin{formula}{dephasing}
+ \desc{Pure dephasing rate}{}{}
+ \desc[german]{Reine Phasenverschiebung}{}{}
+ \eq{\Gamma_\phi}
+ \end{formula}
+
+ \begin{formula}{trans}
+ \desc{Transversal relaxation rate}{}{}
+ \desc[german]{Transversale Relaxationsrate}{}{}
+ \eq{\Gamma_2 = \frac{1}{T_2} = \frac{\Gamma_1}{2} + \Gamma_\phi}
+ \end{formula}
+
+ \begin{formula}{bloch_redfield}
+ \desc{Bloch-Redfield density matrix}{2-level System weakly coupled to noise sources with short correlation time}{}
+ \desc[german]{Bloch-Redfield Dichtematrix}{2-Niveau System schwach an Noise Quellen mit kurzer Korrelationszeit gekoppelt}{}
+ \eq{\rho_\text{BR} = \begin{pmatrix} 1+(\abs{\alpha}^2-1)\e^{-\Gamma_1 t} & \alpha \beta^* \e^{-\Gamma_2 t} \\
+ \alpha^*\beta \e^{-\Gamma_2 t} & \abs{\beta}^2 \e^{-\Gamma_1 t} \end{pmatrix} }
+ \end{formula}
+
+ \begin{figure}[h]
+ \centering
+ \includegraphics[width=0.8\textwidth]{img/qubit_transmon.pdf}
+ \caption{Transmon and so TODO}
+ \label{fig:img-qubit_transmon-pdf}
+ \end{figure}
+
+
+
+
+
- \begin{formula}{2nd_josephson_relation}
- \desc{2. Josephson relation}{superconducting phase change is proportional to applied voltage}{$\varphi_0=\frac{\hbar}{2e}$ reduced flux quantum}
- \desc[german]{2. Josephson Gleichung}{Supraleitende Phasendifferenz is proportional zur angelegten Spannung}{$\varphi_0=\frac{\hbar}{2e}$ reduziertes Flussquantum}
- \eq{\odv{\hat{\delta}}{t}=\frac{1}{i\hbar}[\hat{H},\hat{\delta}] = -\frac{2eU}{i\hbar}[\hat{n},\hat{\delta}] = \frac{1}{\varphi_0} U}
- \end{formula}
-\Section[
- \eng{Cooper Pair Box (CPB) qubit}
- \ger{Cooper Paar Box (QPB) Qubit}
- ]{cpb}
diff --git a/src/quantum_mechanics.tex b/src/quantum_mechanics.tex
index fbfcb1a..f6a8355 100644
--- a/src/quantum_mechanics.tex
+++ b/src/quantum_mechanics.tex
@@ -17,10 +17,10 @@
\eng{Operators}
\ger{Operatoren}
]{op}
- \GER[row_vector]{Zeilenvektor}
- \GER[column_vector]{Spaltenvektor}
- \ENG[column_vector]{Column vector}
- \ENG[row_vector]{Row vector}
+ \Ger[row_vector]{Zeilenvektor}
+ \Ger[column_vector]{Spaltenvektor}
+ \Eng[column_vector]{Column vector}
+ \Eng[row_vector]{Row vector}
\begin{formula}{dirac_notation}
\desc{Dirac notation}{}{}
\desc[german]{Dirac-Notation}{}{}
@@ -75,12 +75,6 @@
\eq{\Delta \hat{A} = \hat{A} - \braket{\hat{A}}}
\end{formula}
- \begin{formula}{variance}
- \desc{Variance}{}{}
- \desc[german]{Varianz}{}{}
- \eq{\sigma^2 = \braket{(\Delta \hat{A})^2} = \braket{\hat{A}^2} - \braket{\hat{A}}^2}
- \end{formula}
-
\begin{formula}{generalized_uncertainty}
\desc{Generalized uncertainty principle}{}{}
\desc[german]{Allgemeine Unschärferelation}{}{}
@@ -116,27 +110,40 @@
\begin{formula}{commutator}
\desc{Commutator}{}{}
\desc[german]{Kommutator}{}{}
- \eq{[a,b] = ab - ba}
+ \eq{[A,B] = AB - BA}
\end{formula}
\begin{formula}{anticommutator}
\desc{Anticommutator}{}{}
\desc[german]{Antikommmutator}{}{}
- \eq{\{a,b\} = ab + ba}
+ \eq{\{A,B\} = AB + BA}
\end{formula}
\begin{formula}{commutation_relations}\
\desc{Commutation relations}{}{}
\desc[german]{Kommutatorrelationen}{}{}
- \eq{[a, bc] = \{a, b\}c - b\{a,c\}}
+ \eq{[A, BC] = [A, B]C - B[A,C]}
+ \end{formula}
+ \TODO{add some more?}
+
+ \begin{formula}{function}
+ \desc{Commutator involving a function}{}{given $[A,[A,B]] = 0$}
+ \desc[german]{Kommutator mit einer Funktion}{}{falls $[A,[A,B]] = 0$}
+ \eq{[f(A) , B] = [A,B]\,\pdv{f}{A}}
\end{formula}
\begin{formula}{jacobi_identity}
\desc{Jacobi identity}{}{}
\desc[german]{Jakobi-Identität}{}{}
- \eq{[a, [b, c]] + [b, [c, a]] + [c, [a, b]] = 0}
+ \eq{[A, [B, C]] + [B, [C, A]] + [C, [A, B]] = 0}
\end{formula}
+ \begin{formula}{hadamard_lemma}
+ \desc{Hadamard's Lemma}{}{}
+ \desc[german]{Lemma von Hadamard}{}{}
+ \eq{\e^A B \e^{-A} = B + [A,B] + \frac{1}{2!} [A, [A,B]] + \frac{1}{3!} [A, [A, [A, B]]] + \dots}
+ \end{formula}
+
\begin{formula}{canon_comm_relation}
\desc{Canonical commutation relation}{}{$x$, $p$ canonical conjugates}
\desc[german]{Kanonische Vertauschungsrelationen}{}{$x$, $p$ kanonische konjugierte}
@@ -147,39 +154,44 @@
}
\end{formula}
+ \Section[
+ \eng{Schrödinger equation}
+ \ger{Schrödingergleichung}
+ ]{schroedinger_equation}
+ \begin{formula}{energy_operator}
+ \desc{Energy operator}{}{}
+ \desc[german]{Energieoperator}{}{}
+ \eq{E = i\hbar \frac{\partial}{\partial t}}
+ \end{formula}
+
+ \begin{formula}{momentum_operator}
+ \desc{Momentum operator}{}{}
+ \desc[german]{Impulsoperator}{}{}
+ \eq{\vec{p} = -i\hbar \vec{\nabla_x}}
+ \end{formula}
+
+ \begin{formula}{space_operator}
+ \desc{Space operator}{}{}
+ \desc[german]{Ortsoperator}{}{}
+ \eq{\vec{x} = i\hbar \vec{\nabla_p}}
+ \end{formula}
+
+ \begin{formula}{stationary_schroedinger_equation}
+ \desc{Stationary Schrödingerequation}{}{}
+ \desc[german]{Stationäre Schrödingergleichung}{}{}
+ \eq{\hat{H}\ket{\psi} = E\ket{\psi}}
+ \end{formula}
+
+ \begin{formula}{schroedinger_equation}
+ \desc{Schrödinger equation}{}{}
+ \desc[german]{Schrödingergleichung}{}{}
+ \eq{i\hbar\frac{\partial}{\partial t}\psi(x, t) = (- \frac{\hbar^2}{2m} \vec{\nabla}^2 + \vec{V}(x)) \psi(x)}
+ \end{formula}
+
\Subsection[
- \eng{Schrödinger equation}
- \ger{Schrödingergleichung}
- ]{schroedinger_equation}
- \begin{formula}{energy_operator}
- \desc{Energy operator}{}{}
- \desc[german]{Energieoperator}{}{}
- \eq{E = i\hbar \frac{\partial}{\partial t}}
- \end{formula}
-
- \begin{formula}{momentum_operator}
- \desc{Momentum operator}{}{}
- \desc[german]{Impulsoperator}{}{}
- \eq{\vec{p} = -i\hbar \vec{\nabla_x}}
- \end{formula}
-
- \begin{formula}{space_operator}
- \desc{Space operator}{}{}
- \desc[german]{Ortsoperator}{}{}
- \eq{\vec{x} = i\hbar \vec{\nabla_p}}
- \end{formula}
-
- \begin{formula}{stationary_schroedinger_equation}
- \desc{Stationary Schrödingerequation}{}{}
- \desc[german]{Stationäre Schrödingergleichung}{}{}
- \eq{\hat{H}\ket{\psi} = E\ket{\psi}}
- \end{formula}
-
- \begin{formula}{schroedinger_equation}
- \desc{Schrödinger equation}{}{}
- \desc[german]{Schrödingergleichung}{}{}
- \eq{i\hbar\frac{\partial}{\partial t}\psi(x, t) = (- \frac{\hbar^2}{2m} \vec{\nabla}^2 + \vec{V}(x)) \psi(x)}
- \end{formula}
+ \eng{Time evolution}
+ \ger{Zeitentwicklug}
+ ]{time}
The time evolution of the Hamiltonian is given by:
\begin{formula}{time_evolution_op}
\desc{Time evolution operator}{}{$U$ unitary}
@@ -187,6 +199,21 @@
\eq{\ket{\psi(t)} = \hat{U}(t, t_0) \ket{\psi(t_0)}}
\end{formula}
+ \begin{formula}{von_neumann}
+ \desc{Von-Neumann Equation}{Time evolution of the density operator in the Schrödinger picture. Qm analog to the Liouville equation \ref{eq:mech:liouville:todo}}{}
+ \desc[german]{Von-Neumann Gleichung}{Zeitentwicklung des Dichteoperators im Schödingerbild. Qm. Analogon zur Liouville-Gleichung \ref{eq:mech:liouville:todo}}{}
+ \eq{\pdv{\hat{\rho}}{t} = - \frac{i}{\hbar}[\hat{H}, \hat{\rho}]}
+ \end{formula}
+
+ \begin{formula}{lindblad}
+ \desc{Lindblad master equation}{Generalization of von-Neummann equation for open quantum systems}{$h$ positive semidifnite matrix, $\hat{A}$ arbitrary operator}
+ \desc[german]{Lindblad-Mastergleichung}{Verallgemeinerung der von-Neumman Gleichung für offene Quantensysteme}{$h$ positiv-semifinite Matrix, $\hat{A}$ beliebiger Operator}
+ \eq{\dot{\rho} = \underbrace{-\frac{i}{\hbar} [\hat{H}, \rho]}_\text{reversible} + \underbrace{\sum_{n.m} h_{nm} \left(\hat{A}_n\rho \hat{A}_{m^\dagger} - \frac{1}{2}\left\{\hat{A}_m^\dagger \hat{A}_n,\rho \right\}\right)}_\text{irreversible}}
+ \end{formula}
+
+
+ \TODO{unitary transformation of time dependent H}
+
\Subsubsection[
\eng{Schrödinger- and Heisenberg-pictures}
\ger{Schrödinger- und Heisenberg-Bild}
@@ -217,20 +244,10 @@
}
\end{formula}
- \Subsubsection[
- \ger{Korrespondenzprinzip}
- \eng{Correspondence principle}
- ]{correspondence_principle}
- \begin{ttext}{desc}
- \ger{Die klassischen Bewegungsgleichungen lassen sich als Grenzfall (große Quantenzahlen) aus der Quantenmechanik ableiten.}
- \eng{The classical mechanics can be derived from quantum mechanics in the limit of large quantum numbers.}
- \end{ttext}
-
-
\Subsubsection[
\eng{Ehrenfest theorem}
\ger{Ehrenfest-Theorem}
- ]{ehrenfest_theorem}
+ ]{ehrenfest_theorem}
\GT{see_also} \ref{sec:qm:basics:schroedinger_equation:correspondence_principle}
\begin{formula}{ehrenfest_theorem}
\desc{Ehrenfesttheorem}{applies to both pictures}{}
@@ -244,15 +261,27 @@
\desc[german]{}{Beispiel für $x$}{}
\eq{m\odv[2]{}{t}\braket{x} = -\braket{\nabla V(x)} = \braket{F(x)}}
\end{formula}
- % \eq{Time evolution}{\hat{H}\ket{\psi} = E\ket{\psi}}{sg_time}
+ % \eq{Time evolution}{\hat{H}\ket{\psi} = E\ket{\psi}}{sg_time}
+
+ \Subsection[
+ \ger{Korrespondenzprinzip}
+ \eng{Correspondence principle}
+ ]{correspondence_principle}
+ \begin{ttext}[desc]
+ \ger{Die klassischen Bewegungsgleichungen lassen sich als Grenzfall (große Quantenzahlen) aus der Quantenmechanik ableiten.}
+ \eng{The classical mechanics can be derived from quantum mechanics in the limit of large quantum numbers.}
+ \end{ttext}
+
+
\Section[
\eng{Pertubation theory}
\ger{Störungstheorie}
- ]{qm_pertubation}
- \eng[desc]{The following holds true if the pertubation $\hat{H_1}$ is sufficently small and the $E^{(0)}_n$ levels are not degenerate.}
- \ger[desc]{Die folgenden Gleichungen gelten wenn $\hat{H_1}$ ausreichend klein ist und die $E_n^{(0)}$ Niveaus nicht entartet sind.}
- \gt{desc}
+ ]{qm_pertubation}
+ \begin{ttext}
+ \eng[desc]{The following holds true if the pertubation $\hat{H_1}$ is sufficently small and the $E^{(0)}_n$ levels are not degenerate.}
+ \ger[desc]{Die folgenden Gleichungen gelten wenn $\hat{H_1}$ ausreichend klein ist und die $E_n^{(0)}$ Niveaus nicht entartet sind.}
+ \end{ttext}
\begin{formula}{pertubation_hamiltonian}
\desc{Hamiltonian}{}{}
\desc[german]{Hamiltonian}{}{}
@@ -289,6 +318,12 @@
% \eq{\ket{\psi_n^{(1)}} = \sum_{k\neq n}\frac{\Braket{\psi_k^{(0)}|\hat{H_1}|\psi_n^{(0)}}}{E_n^{(0)} - E_k^{(0)}}\ket{\psi_k^{(0)}}}
% \end{formula}
+ \begin{formula}{golden_rule}
+ \desc{Fermi\'s golden rule}{Transition rate from initial state $\ket{i}$ under a pertubation $H^1$ to final state $\ket{f}$}{}
+ \desc[german]{Fermis goldene Regel}{Übergangsrate des initial Zustandes $\ket{i}$ unter einer Störung $H^1$ zum Endzustand $\ket{f}$}{}
+ \eq{\Gamma_{i\to f} = \frac{2\pi}{\hbar} \abs*{\braket{f | H^1 | i}}^2\,\rho(E_f)}
+ \end{formula}
+
\Section[
\eng{Harmonic oscillator}
@@ -404,3 +439,64 @@
\eq{\delta = \frac{2 e}{\hbar} \oint \vec{A}\cdot \d\vec{s} = \frac{2 e}{\hbar} \Phi}
\end{formula}
\TODO{replace with loop intergral symbol and add more info}
+
+
+ \Section[
+ \eng{Symmetries}
+ \ger{Symmetrien}
+ ]{symmetry}
+ \begin{ttext}[desc]
+ \eng{Most symmetry operators are unitary \ref{sec:linalg:unitary} because the norm of a state must be invariant under transformations of space, time and spin.}
+ \ger{Die meisten Symmetrieoperatoren sind unitär \ref{sec:linalg:unitary}, da die Norm eines Zustands invariant unter Raum-, Zeit- und Spin-Transformationen sein muss.}
+ \end{ttext}
+ \begin{formula}{invariance}
+ \desc{Invariance}{$\hat{H}$ is invariant under a symmetrie described by $\hat{U}$ if this holds}{}
+ \desc[german]{Invarianz}{$\hat{H}$ is invariant unter der von $\hat{U}$ beschriebenen Symmetrie wenn gilt:}{}
+ \eq{\hat{U}\hat{H}\hat{U}^\dagger = \hat{H} \Leftrightarrow [\hat{U}, \hat{H}] = 0}
+ \end{formula}
+
+ \Subsection[
+ \eng{Time-reversal symmetry}
+ \ger{Zeitumkehrungssymmetrie}
+ ]{time_reversal}
+
+ \begin{formula}{time}
+ \desc{Time-reversal symmetry}{}{}
+ \desc[german]{Zeitumkehrungssymmetrie}{}{}
+ \eq{T: t \to -t}
+ \end{formula}
+
+ \begin{formula}{antiunitary}
+ \desc{Anti-unitary}{}{}
+ \desc[german]{Antiunitär}{}{}
+ \eq{T^2 = -1}
+ \end{formula}
+
+ \Section[
+ \eng{Two-level systems (TLS)}
+ \ger{Zwei-Niveau System (TLS)}
+ ]{tls}
+ \begin{formula}{james_cummings}
+ \desc{James-Cummings Hamiltonian}{TLS interacting with optical cavity}{$\hat{E} = E_\text{ZPF}(\hat{a} + \hat{a}^\dagger)$ field operator with bosonic ladder operators, $\hat{S} = \hat{\sigma}^\dagger + \hat{\sigma}$ polarization operator with ladder operators of the TLS}
+ \desc[german]{James-Cummings Hamiltonian}{TLS interagiert mit resonantem Lichtfeld}{$\hat{E} = E_\text{ZPF}(\hat{a} + \hat{a}^\dagger)$ Feldoperator mit bosonischen Leiteroperatoren, $\hat{S} = \hat{\sigma}^\dagger + \hat{\sigma}$ Polarisationsoperator mit Leiteroperatoren des TLS}
+ \eq{H &= \underbrace{\hbar\omega_c \hat{a}^\dagger \hat{a}}_\text{\GT{field}}
+ + \underbrace{\hbar\omega_\text{a} \frac{\hat{\sigma}_z}{2}}_\text{\GT{atom}}
+ + \underbrace{\frac{\hbar\Omega}{2} \hat{E} \hat{S}}_\text{int} \\
+ \shortintertext{\GT{after} \hyperref[eq:qm:other:RWS]{RWA}:} \\
+ &= \hbar\omega_c \hat{a}^\dagger \hat{a}
+ + \hbar\omega_\text{a} \hat{\sigma}^\dagger \hat{\sigma}
+ + \frac{\hbar\Omega}{2} (\hat{a}\hat{\sigma^\dagger} + \hat{a}^\dagger \hat{\sigma})
+ }
+ \end{formula}
+
+ \Section[
+ \eng{Other}
+ \ger{Sonstiges}
+ ]{other}
+ \begin{formula}{RWS}
+ \desc{Rotating Wave Approximation (RWS)}{Rapidly oscilating terms are neglected}{$\omega_\text{L}$ light frequency, $\omega_0$ transition frequency}
+ \desc[german]{Rotating Wave Approximation / Drehwellennäherung (RWS)}{Schnell oscillierende Terme werden vernachlässigt}{$\omega_\text{L}$ Frequenz des Lichtes, $\omega_0$ Übergangsfrequenz}
+ \eq{\Delta\omega \coloneq \abs{\omega_0 - \omega_\text{L}} \ll \abs{\omega_0 + \omega_\text{L}} \approx 2\omega_0}
+ \end{formula}
+
+
diff --git a/src/scripts/bloch_sphere.py b/src/scripts/bloch_sphere.py
new file mode 100644
index 0000000..2a7b430
--- /dev/null
+++ b/src/scripts/bloch_sphere.py
@@ -0,0 +1,2 @@
+import qutip as qt
+
diff --git a/src/scripts/crystal_lattices-Copy1.ipynb b/src/scripts/crystal_lattices-Copy1.ipynb
new file mode 100644
index 0000000..208cf8f
--- /dev/null
+++ b/src/scripts/crystal_lattices-Copy1.ipynb
@@ -0,0 +1,189 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "eaed683c-c6f1-45e4-aaee-ae4e57209f5f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import scipy as scp\n",
+ "from scipy.spatial import Voronoi, voronoi_plot_2d\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "efd84ecd-9fb3-4d2f-9f7a-47cd1ff09eea",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "class Lattice:\n",
+ " def __init__(self, *vecs):\n",
+ " # if the vecs were put in an iterable\n",
+ " if len(vecs) == 1:\n",
+ " vecs = vecs[0]\n",
+ " if len(vecs) == 3:\n",
+ " pass\n",
+ " elif len(vecs) == 2:\n",
+ " pass\n",
+ " else: raise ValueError(\"Vecs must contain either 2 or 3 vectors\")\n",
+ " self.dim = len(vecs)\n",
+ " self.vecs = list(vecs)\n",
+ " for i, v in enumerate(self.vecs):\n",
+ " if type(v) != np.ndarray:\n",
+ " self.vecs[i] = np.array(v)\n",
+ " if self.vecs[i].shape != (self.dim,):\n",
+ " raise ValueError(f\"Got {self.dim} vectors, therefore all vectors must be {self.dim} dimensional but vector {i+1} has shape {self.vecs[i].shape}\")\n",
+ " self.vecs = np.array(self.vecs)\n",
+ " self.vec_lengths = np.array([np.linalg.norm(v) for v in self.vecs])\n",
+ " self.center = np.zeros(self.dim)\n",
+ "\n",
+ " def get_point(self, *ns):\n",
+ " if len(ns) != len(self.vecs): raise ValueError(f\"Requires one index for each lattice vector {len(self.vecs)}, but got only {ns}\")\n",
+ " point = self.center.copy()\n",
+ " for i, n in enumerate(ns):\n",
+ " point += n * self.vecs[i]\n",
+ " return point\n",
+ "\n",
+ " \n",
+ " def get_points_around_center(self, n):\n",
+ " import itertools\n",
+ " ns = [i for i in range(-i, i+1)]\n",
+ " for n in itertools.product(*[])\n",
+ " for i in range(self.dim):\n",
+ " \n",
+ " \n",
+ " for i in range(-n, n+1):\n",
+ " for j "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "2855d08e-70d8-4ef7-ba19-2c06316caf15",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "1.7320508075688774 [0.70710678 1.58113883 0.70710678 0.70710678 1.58113883 0.70710678]\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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mrGap6cnAwYMYMCAAeTk5LBw4UJiYmIAeP7559m7dy8JCQm0bdvW2kJFLDakYzOuurgRqbmHCW1Yq9q/kIpUFVfsO5UaRH777Td27dpVNr937142bdpE/fr1Xf6D5xo3bsw//vGPsvljx46xcOFCnn/+eS677DISEhIYPnw4DRs2tLBKEesE+fu4xIuoSFVztb5Tqadmvv/+e6Kjo4mOjgbgvvvuIzo6mscee6wyn9YpPfDAA/z888+sWLGC8PBwxo0bx44dOwDYt28fR48etbhCERGRqlepR0Suvvpq3QDsDzw8PLjhhhu44YYbOHjwIPXq1QNg2LBhbNu2jVtvvZWEhAQ6dOiAzWY7w9ZERESqP6carFqT1K9fvyxszJo1i9tvv53333+fTp06ERkZWXa0RERExJUpiDiBVq1a8dRTT5GWlsYnn3xCx44dad68OQBPP/00ixYtoqioet+wRkRE5FQURJyIm5sb1113HW+99Ra1atXCGMNnn33GrbfeSlBQEH/7299Yt26dTneJiIjLUBBxYjabjc8//5yffvqJe+65h48//pgrr7ySrKwsoPSqJBERkepMQaQaCA8P54knniA1NZXvv/+eoKAgjh8/TkREBD169GDu3LkUFhZaXaaIiMg5UxCpRux2e9ml0A6Hg8mTJ+NwOIiPjycwMJCRI0dy+HD1/swBERGpWRREqilPT08SEhJISkpiz549PPDAA+Tm5uLjU3qTm5deeondu3dbXKWIiMjpKYi4gBYtWvDYY4+xYsUKbDYbmZmZjB8/nosuuoirrrqKN954g/z8fKvLFBERqUBBxAUFBQWRlZXF/Pnz8fLyYvTo0Vx22WVlV9voqhsREXEWCiIuqlatWsTFxbFq1Sr27dvHa6+9hs1mIycnh7CwMB5++GF++uknq8sUEZEaTkGkBggJCaFnz54AFBcXc9111/Hyyy8TERFBly5deOONNyyuUEREaioFkRomODiYmTNnkpmZyeLFi6lfvz6ffvopAEePHuXjjz/m+PHjFlcpIiI1RaV+6J04L29vbwYPHszgwYNxOBwAfPHFF1x//fUEBgYyfPhw4uPjufTSSy2uVEREXJmOiAh2e+mfQe/evfn++++5+eabeeONN4iMjGTUqFEWVyciIq5MQUTK2Gw22rdvzwsvvMD+/ftZtmwZgwcPBuC7775j0KBBLF++nOLiYosrFRERV6FTM3JKnp6eDBgwoGz+t99+Y+/evfTv359GjRoRFxdHYmIikZGRFlYpIiLVnY6IyFm55ppr2LBhA5s3b2b48OG8/fbbLFy4EICDBw+Sk5NjcYUiIlIdKYjIObnsssuYNm0aP//8M+PGjQNg5syZNGnShH79+rF06VKOHj1qcZUiIlJdKIjIefHw8KBOnToA3HHHHTz//PNkZWVx00030aRJE+bNm2dxhSIiUh0oiMhf1qBBA+666y6+++47tm3bxm233UbLli0BWLFiBU8//TT79++3uEoREXFGCiJyQbVu3ZqnnnqKK664AoCtW7cyceJEQkJC6N27N4sWLaKoqMjiKkVExFkoiEilmjBhApmZmcycOZP8/HxuvfVW3nnnHaD0Shx9AJ+ISM2mICKVrm7dutx+++3897//5aeffmLQoEEAjBkzhksuuYTJkyeTlpZmcZUiImIFBRGpUuHh4fj6+gKQmJhI586defLJJwkNDeXaa69l69atFlcoIiJVSUFELNOtWzfmzp1LVlYWs2fPpqSkBH9/fwCWLVvGmjVryj4HR0REXJOCiFiuTp06jBw5kqSkJJo1awbA888/T7du3bjooot4/PHH2bNnj8VViohIZVAQEaeUlJTE6tWr6d69O8899xxhYWEkJycDaICriIgLURARp2S327nqqquYPXs2WVlZvPvuu1x66aUA9OjRg+HDh/P555+f/tSNowT2fgVb3y396iipoupFqjlHCWRsKP0+Y4P6jlQqBRFxerVq1WLQoEHYbDYcDgfXXnst3333HT179iQ0NJSHH36YvLy88g/avhymR8KcG2BpYunX6ZGly0Xkz53oOx+OLZ3/cKz6jlQqBRGpVux2OxMmTODHH39k3bp19OnTh0WLFuHt7Q3Ap59+yq/fvA1LRkD+SXdzzc8sXa4XVJFT275cfUeqnLvVBYicD5vNRkxMDDExMTgcDux2O7/99hsDBgzAUXyEGyPcSGjrSc+WbrjZbb8/ygA2+GQcXHI92N2s/BFEnIujBD55iNJ+cjL1Hak8CiJS7dntpQf2ateuza7/LGDBo7fy1uZiei84TDN/G6vja3HwyB8ekJkGK9+E4HbWFCzijDI2wM70stkduSXlvgKQmUa9r9+lxVVDOHLkCNu3b6+wmXbtSvvVzp07KSwsLNcWGhpK/fr1+eWXX0hPTy/XVqdOHcLDwykpKWHz5s0VthsVFYWHhwe7d++ucCo2ODiYgIAADh06xN69e8u1+fj40KpVKwA2btxYYbB7q1at8PHxYd++fRw4cKBcW0BAAMHBwRQUFJCSklKuzcPDg6ioKKD0oyyKi4vLtYeHh1OnTh0yMjLIzs4u19agQQOaN29OUVERO3bsKNdms9mIjo4GYMeOHRU+EqNFixbUq1eP7OxsMjIyyrX5+/sTFhZGcXHxKe/J1KZNG9zc3EhJSaGgoKBcW0hICI0aNeLgwYOkpqaWa/P19SUiIgKADRs2VNhu69at8fb2Zu/evRw6dAgovXP2WTNOLC8vzwAmLy/P6lKkutjyjjET/YzjsTpm/W2+Zuq1XqZbc7uh9F86TZo0ncPk71VxWdz1XY0xxqSkpJzyMSfExMRUaJs3b54xxpgZM2ZUaIuNjTXG/O91/+QpJyfHGGNM3759K7RNmzbNGGPMkiVLKrRFR0eX1eTp6VmhPTk52RhjTGJiYoW2cePGGWOMSUpKqtAWHBxctt3g4OAK7UlJScYYY8aNG1ehLTEx0RhjTHJycoU2T0/Psu1GR0dXaF+yZIkxxphp06ZVaOvbt68xxpicnJxT/g5PvJfGxsZWaJsxY4Yxxph58+ZVaIuJiSmr6VTbTUlJMcYYExcX96fPeTq23zfslPLz8/H39ycvLw8/Pz+ry5HqYO9XpQNTf7chs4T2swqZP9CbVg3/cDj5huk6IiLyRxkb/jdAldIjIcOWHanQd+rFzdYREXRE5I/+7IhIt27dzur9W0FEXIujpHSEf34mYMqCyA+3+9IuyA2wgV8TGLtV57lF/kh9Ry6gc3n/1lUz4lrsbtBr6u8ztpMaf5/v9ZReSEVOpr4jFlEQEdfTuh8Mngt+QeWX+zUpXd66nzV1iTg79R2xgIKIuKbW/WBsculYECj9OnarXkhFzkR9R6qYgoi4Lrvb/wakBrfTIWWRs6W+I1VIQUREREQsoyAiIiIillEQEREREcsoiIiIiIhlFERERETEMgoiIiIiYhkFEREREbGMgoiIiIhYRkFERERELKMgIiIiIpZREBERERHLKIiIiIiIZRRERERExDIKIiIiImIZBRERERGxjIKIiIiIWEZBRERERCyjICIiIiKWURARERERyyiIiIiIiGUURERERMQyCiIiIiJiGQURERERsYyCiIiIiFhGQUREREQsoyAiIiIillEQEREREctUSRB5+eWXadGiBd7e3rRv356vvvqqKp5WREREnFylB5HFixczduxYHn74YTZu3EjXrl3p3bs3aWlplf3UVSYzr4i1u3PJzCuyuhSRakP9RuT8uFrfca/sJ3juuedITExk9OjRAEyfPp1PP/2UmTNnMmXKlMp++kq3eH0a45dtxWHAboMpA6MY0rGZ1WWJODX1G5Hz44p9p1KPiBw7dowffviB2NjYcstjY2NZu3ZthfWPHj1Kfn5+ucmZZeYVlf1BADgMTFiW7DIpVaQyqN+InB9X7TuVGkRyc3MpKSkhICCg3PKAgACysrIqrD9lyhT8/f3LppCQkMos7y/bm1tY9gdxQokxpOYetqYgkWpA/Ubk/Lhq36mSwao2m63cvDGmwjKA8ePHk5eXVzalp6dXRXnnrUVDX+wn/RhuNhuhDWtZU5BINaB+I3J+XLXvVGoQadiwIW5ubhWOfuTk5FQ4SgLg5eWFn59fucmZBfn7MGVgFG6/hyo3m40nB0YS5O9jcWUizkv9RuT8uGrfqdTBqp6enrRv355Vq1YxYMCAsuWrVq2if//+lfnUVWZIx2ZcdXEjUnMPE9qwVrX/gxCpCuo3IufHFftOpV81c9999zF8+HA6dOhAly5dmDVrFmlpadxxxx2V/dRVJsjfxyX+GESqkvqNyPlxtb5T6UFkyJAhHDhwgH/9619kZmYSGRnJRx99RPPmzSv7qUVERMTJVXoQARgzZgxjxoypiqcSERGRakSfNSMiIiKWURARERERyyiIiIiIiGUURERERMQyCiIiIiJiGQURERERsYyCiIiIiFhGQUREREQsoyAiIiIillEQEREREcsoiIiIiIhlFERERETEMgoiIiIiYhkFEREREbGMgoiIiIhYRkFERERELKMgIiIiIpZREBERERHLKIiIiIiIZRRERERExDIKIiIiImIZBRERERGxjIKIiIiIWEZBRERERCyjICIiIiKWURARERERyyiIiIiIiGUURMR1OUogY0Pp9xkbSudF5MzUd6QKKYiIa9q+HKZHwodjS+c/HFs6v325lVWJOD/1HaliCiLierYvhyUjIH9/+eX5maXL9YIqcmrqO2IBBRFxLY4S+OQhwJyi8fdln4zToWaRk6nviEXcrS7gbGzatInatWuXzderV48WLVpw5MgRtm/fXmH9du3aAbBz504KCwvLtYWGhlK/fn1++eUX0tPTy7XVqVOH8PBwSkpK2Lx5c4XtRkVF4eHhwe7du8nLyyvXFhwcTEBAAIcOHWLv3r3l2nx8fGjVqhUAGzduxJjyHb1Vq1b4+Piwb98+Dhw4UK4tICCA4OBgCgoKSElJKdfm4eFBVFQUAFu3bqW4uLhce3h4OHXq1CEjI4Ps7OxybQ0aNKB58+YUFRWxY8eOcm02m43o6GgAduzYQVFRUbn2Fi1aUK9ePbKzs8nIyCjX5u/vT1hYGMXFxWzdupWTtWnTBjc3N1JSUigoKCjXFhISQqNGjTh48CCpqanl2nx9fYmIiABgw4YNFbbbunVrvL292fv1uxza+b/9uiO3pNxXADLTYOWbENyuwnZEaqyMDfCHvrPip9LXk7wjJ16vDORnwL610KKrBQWKyzJOLC8vz1AaxctNcXFxxhhjUlJSTtl+QkxMTIW2efPmGWOMmTFjRoW22NjY0z5vTk6OMcaYvn37VmibNm2aMcaYJUuWVGiLjo4uq8nT07NCe3JysjHGmMTExApt48aNM8YYk5SUVKEtODi4bLvBwcEV2pOSkowxxowbN65CW2JiojHGmOTk5Aptnp6eZduNjo6u0L5kyRJjjDHTpk2r0Na3b19jjDE5OTmn/B3m5eUZY4yJjY2t0DZjxgxjjDHz5s2r0BYTE1NW06m2m5KSYowxJu76rhXa/L0qrq9Jk6azmzzdMDe1djcrbvUxxY/WMWbLO+fzci41zIn30ROv+adjM+akf8+dSH5+Pv7+/qxevVpHRHRE5OyOiKxZzKEFiWXLd+SWMGzZEeYP9KZVQ7f/PeCG6ToiIvJHGRv+N0D1d+42wxd7S3hrczFbsh0829OLf766iuKmMXh4eFhTp1QLJ96/8/Ly8PPzO+261SKInM0PIgKUnr+eHlk6uA7DhswS2s8q5IfbfWkX5AbYwK8JjN0KdrczbU2k5jip75xsU5aDJkFBNH50B+MmPMxnn31GfHw8Q4cOpVGjRlVfrzi1c3n/1mBVcS12N+g19fcZ20mNv8/3ekohRORkZ+g7bQPdaHzzs2B3o0ePHoSGhvLAAw/QpEkTbrzxRjZu3FjVFYuLUBAR19O6HwyeC35B5Zf7NSld3rqfNXWJOLuz7Ds9e/Zk2bJl7N+/n3//+9/8/PPPZaeG16xZw4YNGyqcghb5Mzo1I67LUcKGlW/Svt9t/LD8NdpdP1JHQkTOhqOk9OqY37KhdgA0v/ys+06fPn34+OOPiYyMJD4+nri4OIKCgs78QHEpOjUjAqUvnCcGpAa3UwgROVt2t9JLdKNuKv16Dn1n+fLlrFy5ktatW/PII4/QtGlTvv7660osVqq7anEfERERqR7c3d3p06cPffr04dChQ7z77rt07NgRgFGjRuHl5UV8fDydO3fGZjt5LIrURDoiIiIilaJevXrcdttteHl5AdCsWTM+/PBDunTpQqtWrZgyZQqHDh2yuEqxmoKIiIhUiccff5zU1FQ+++wzOnTowNSpUzl+/DgA33//PYcPH7a4QrGCgoiIiFQZNzc3evbsyfz588nOzqZRo0YcP36c3r17ExgYyOjRo/n666911U0NoiAiIiKWOHHKxt3dnW+++YZ7772Xzz//nK5duxIeHq7TNjWEgoiIiFguLCyMSZMmsWfPHpKSkoiLi6NevXoYYxg5ciRvvfUWv/32m9VlSiVQEBEREadht9u5+uqrmTRpEgB5eXns27ePkSNHEhgYSHx8PElJSTgcDosrlQtFQURERJxW3bp1+c9//kNqairjxo3jv//9L8OGDSsbQ7J//36LK5S/SkFEREScXvPmzXnkkUdISUnhm2++wc3NjfT0dEJCQrjyyit5/fXXK3wqulQPCiIiIlJt2Gw2QkJCAGjUqBELFiygdu3a/O1vfyMwMJDbbrvN4grlXCmIiIhIteTt7c0tt9zCJ598QlpaGo8//jiNGzcGoLCwkIcffpgdO3ZYXKWciYKIiIhUe8HBwTz00ENMnjwZgG3btjFz5kxat25N586dmTlzpi4HdlIKIiIi4nI6depEZmYm77zzDo0bN+aee+7h5ptvBsDhcJTd0VWspyAiIiIuycvLi5tuuokVK1bw888/M336dADWrFlD06ZN+ec//8mWLVusLVIURERExPUFBgYSGRkJQEhICLfccgtz586lTZs2tGvXjgULFlhcYc2lICIiIjVKWFgY06dPJyMjg/fff5/Q0FDS09MB2LdvH++99x7Hjh2zuMqaw93qAkRERKzg6elJ//796d+/f9myFStWcM8999CgQQOGDh1KfHw87dq1w2azWVipa9MRERERkd/dfffdbN26lZEjR/LOO+/QoUMHJk6caHVZLk1BRERE5A8iIyN55plnSE9PZ+XKlQwZMgSA2bNnc/311/POO+9w5MgRi6t0HQoiIiIip+Du7k6fPn249NJLgdI7uR48eJDBgwcTFBTEnXfeybZt2yyusvpTEBERETkL/fr1Y926dfz444/ceeedfPjhhyQnJwOQkpLCzz//bHGF1ZOCiIiIyDmIiIjgySefJDU1lUGDBgEwceJEmjVrRmxsLAsWLODw4cMWV1l9KIiIiIicBzc3N9zdSy8+feWVV3jttdc4cuQIw4YNIzAwkE8//dTiCqsHXb4rIiLyF/n5+ZGYmEhiYiK7d+8uu1kawLPPPktRUREjRoygefPmFlfqfHRERERE5AIKCwtj0qRJBAYGApCdnc3UqVMJDQ2le/fuzJkzh8LCQourdB4KIiIiIpXomWeeISsrizlz5mC320lISGDXrl0A7N+/H4fDYXGF1lIQERERqWS1a9dmxIgRfPHFF/z888+0adMGYwy9evWiZcuWPPbYY2XhpKap1CAyefJkLr/8cmrVqkXdunUr86lERESqheDg4LLvZ86cSWxsLM8//zzh4eFceeWVNe4y4EoNIseOHePmm2/mzjvvrMynsVxmXhFrd+eSmVdkdSki1Yb6jdR0NpuNK664glmzZpGVlcXbb79NcHAwAQEBQOkg188++4ySkhKLK61clXrVzKRJkwB46623KvNpLLV4fRrjl23FYcBugykDoxjSsZnVZYk4NfUbkfJ8fHy49dZbufXWW4HSf+TnzJlDcnIywcHBDB8+nPj4eC655BKLK73wnGqMyNGjR8nPzy83ObPMvKKyF1MAh4EJy5L1H57IaajfiJyZp6cnW7Zs4dtvv6V///68+uqrtG3btux98dixYxZXeOE4VRCZMmUK/v7+ZVNISIjVJZ3W3tzCshfTE0qMITVXd9QT+TPqNyJnx2az0alTJ1566SUyMzNJSkrCz8+PoqIimjVrxuDBg1m5ciXHjx+3utS/5JyDyOOPP47NZjvt9P33359XMePHjycvL69sSk9PP6/tVJUWDX2x28ovc7PZCG1Yy5qCRKoB9RuRc+fl5UWXLl0AcDgcPPjgg/z444/ccMMNhISE8MADD1TbsSTnHETuvvtuduzYcdopMjLyvIrx8vLCz8+v3OTMgvx9mDIwCjdb6auqm83GkwMjCfL3sbgyEeelfiPy1/j6+nLfffexefNmNmzYwJAhQ/jpp59wc3PDGMPs2bPJzc21usyzds6DVRs2bEjDhg0ro5ZqaUjHZlx1cSNScw8T2rCWXkxFzoL6jchfZ7PZiI6OJjo6umzZzp07ueOOO7jzzju5/vrriY+Pp0+fPnh6elpY6elV6lUzaWlpHDx4kLS0NEpKSti0aRMAF110EbVr167Mp65SQf4+eiEVOUfqNyIX3iWXXML+/ftZuHAhc+bMYcCAAbRv3/68h0xUhUoNIo899hhz5swpmz+R2pKSkrj66qsr86lFRERqpEaNGvH3v/+dv//97yQnJ5ORkQFAamoq/fv3Z8SIEcTFxZV9Fo7VKvWqmbfeegtjTIVJIURERKTyRUZGct111wGlt8iIiIhgwoQJNG3alBtuuIHly5dbXKGTXb4rIiIilSMiIoIlS5aQlZXFjBkzyM3N5b333gOgoKCAb7/9FmPMGbZy4SmIiIiI1CD16tXjjjvu4JtvvmHWrFkAvP/++8TExNCqVSueeuqpstM5VUFBREREpIby8PAAYOjQoXz22We0b9+eSZMmERISwoQJE6qkBgURERGRGs7NzY2ePXuyYMECsrKymDVrFt27dwfgyy+/5LbbbuPrr7+ulFM3CiIiIiJSxt/fn9GjR9OzZ08ADh48yOeff07Xrl25+OKLeeKJJ0hLS7tgz6cgIiIiIn9q4MCB7N69m6SkJK644gqmTp3K22+/DZSGlN9+++0vbV9BRERERE7Lbrdz9dVX89Zbb5GVlcWYMWMAmDp1KoGBgSQkJJCUlITD4Tj3bV/oYkVERMR11a5du+yz4MaMGcO4ceP4+uuvueaaa2jZsiUrV648p+0piIiIiMh5ad68OY888ggpKSl8/fXX9OzZk6CgoHPaRqXe4l1ERERcn81m44orruCKK64AID8//6wfqyMiIiIiYhkFEREREbGMgoiIiIhYRkFERERELKMgIiIiIpZREBERERHLKIiIiIiIZRRERERExDIKIiIiImIZBRERERGxjIKIiIiIWEZBRERERCyjICIiIiKWURARERERyyiIiIiIiGUURERERMQyCiIiIiJiGQURcV2OEsjYUPp9xobSeRERcSoKIuKati+H6ZHw4djS+Q/Hls5vX25lVSIichIFEXE925fDkhGQv7/88vzM0uUKIyIiTkNB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OoUjIlVGg1VFhGPHjuHp6cl7773HwIEDufjii4mPj2f48OGEhIRYXZ6IVDMarCoi5+TEJb/9+/fn888/p3PnzkyePJnmzZszduxYa4sTEZemICIiZex2Oz169GDu3LlkZWUxe/ZsrrnmGgDWr19PYmIia9as0akbEblgFERE5JTq1KnDyJEjywa55uTkkJSURLdu3QgLC2PSpEns3bvX4ipFpLpTEBGRs3L99deza9cuVq9eTffu3Xn22Wd5/fXXAcjLy6OgoMDiCkWkOlIQEZGzZrfbueqqq5g9ezZZWVncf//9AMyYMYPAwEBGjBjBF198gcPhsLhSEakuKi2IpKamkpiYSIsWLfDx8SEsLIyJEydy7NixynpKEalCvr6+1KtXD4ARI0bw8MMP880333DttdcSGhqqe5OIyFmptCDy448/4nA4ePXVV9m2bRv//ve/eeWVV5gwYUJlPaVlMvOKWLs7l8y8IqtLEbFESEgIEyZMYOfOnaxdu5bevXvTuHFjAD755BNmzZrFr7/+am2RIuKUqvQ+Is888wwzZ85kz549Z7V+dbiPyOL1aYxfthWHAbsNpgyMYkjHZlaXJeI0JkyYwNSpU/H09OTGG28kPj6enj174ubmZnVpIlJJnPY+Inl5edSvX/9P248ePUp+fn65yZll5hWVhRAAh4EJy5J1ZETkD5588knS09OZNGkSW7ZsoXfv3ixevBhAp2pFpOqCyO7du3nxxRe54447/nSdKVOm4O/vXzY5+x0d9+YWloWQE0qMITX3sDUFiTipJk2a8OCDD5KcnMz69evp378/AKNHj6ZTp0689NJLHDx40OIqRcQK5xxEHn/8cWw222mn77//vtxj9u/fT69evbj55psZPXr0n257/Pjx5OXllU3p6enn/hNVoRYNfbHbyi9zs9kIbVjLmoJEnJzNZqNDhw74+voCcPPNNxMYGMg//vEPgoKCuOmmm/jpp58srlJEqtI5jxHJzc0lNzf3tOuEhobi7e0NlIaQ7t2707lzZ9566y3s9rPPPtVljMiEZcmUGIObzcaTAyM1RkTkHGVnZ/P2228zb948PvjgA0JCQvjoo49o2rQpl112mdXlicg5Opf370odrJqRkUH37t1p37498+fPP+fBadUhiEDpWJHU3MOENqxFkL+P1eWIuIT27duzYcMG2rZtS0JCAkOH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zVNPPVW27MiRI8bf39+88sorlVhhzbN9+3YDmG+++aZs2bp16wxgfvzxxz99XHx8vOnfv38VVFhzdOrUydxxxx3lll1yySVm3Lhxp1z/wQcfNJdcckm5ZX/7299MTExMpdVYU53rvklKSjKAOXToUBVUJycA5r333jvtOq7Qb3REpArs3buXrKwsYmNjy5Z5eXnRrVs31q5da2FlrmfdunX4+/vTuXPnsmUxMTH4+/uf8Xf95Zdf0rhxYy6++GJuu+02cnJyKrtcl3Xs2DF++OGHcn/zALGxsX+6H9atW1dh/euuu47vv/+e4uLiSqu1pjmffXNCdHQ0QUFB9OjRg6SkpMosU86SK/QbBZEqkJWVBUBAQEC55QEBAWVtcmFkZWXRuHHjCssbN2582t917969WbBgAf/5z3+YNm0a69ev55prruHo0aOVWa7Lys3NpaSk5Jz+5rOysk65/vHjx8nNza20Wmua89k3QUFBzJo1i6VLl7Js2TIiIiLo0aMHa9asqYqS5TRcod849afvVqXHH3+cSZMmnXad9evX06FDh/N+DpvNVm7eGFNhmZza2e4fqPh7hjP/rocMGVL2fWRkJB06dKB58+asXLmSgQMHnmfVcq5/86da/1TL5a87l30TERFBRERE2XyXLl1IT0/n2Wef5aqrrqrUOuXMqnu/URD53d13380tt9xy2nVCQ0PPa9uBgYFAaXINCgoqW56Tk1Mhycqpne3+2bJlC9nZ2RXafvnll3P6XQcFBdG8eXNSUlLOuVaBhg0b4ubmVuE/7NP9zQcGBp5yfXd3dxo0aFBptdY057NvTiUmJob58+df6PLkHLlCv1EQ+V3Dhg1p2LBhpWy7RYsWBAYGsmrVKqKjo4HS87SrV69m6tSplfKcruZs90+XLl3Iy8vju+++o1OnTgB8++235OXlcfnll5/18x04cID09PRywVHOnqenJ+3bt2fVqlUMGDCgbPmqVavo37//KR/TpUsXVqxYUW7ZZ599RocOHfDw8KjUemuS89k3p7Jx40b1DyfgEv3GypGy1dW+ffvMxo0bzaRJk0zt2rXNxo0bzcaNG01BQUHZOhEREWbZsmVl80899ZTx9/c3y5YtM1u3bjW33nqrCQoKMvn5+Vb8CC6tV69e5rLLLjPr1q0z69atM1FRUeaGG24ot84f909BQYH55z//adauXWv27t1rkpKSTJcuXUxwcLD2z1+waNEi4+HhYWbPnm22b99uxo4da3x9fU1qaqoxxphx48aZ4cOHl62/Z88eU6tWLXPvvfea7du3m9mzZxsPDw/z7rvvWvUjuKxz3Tf//ve/zXvvvWd++uknk5ycbMaNG2cAs3TpUqt+BJdVUFBQ9p4CmOeee85s3LjR7Nu3zxjjmv1GQeQ8xMfHG6DClJSUVLYOYN58882yeYfDYSZOnGgCAwONl5eXueqqq8zWrVurvvga4MCBAyYuLs7UqVPH1KlTx8TFxVW47PCP++fw4cMmNjbWNGrUyHh4eJhmzZqZ+Ph4k5aWVvXFu5iXXnrJNG/e3Hh6epp27dqZ1atXl7XFx8ebbt26lVv/yy+/NNHR0cbT09OEhoaamTNnVnHFNce57JupU6easLAw4+3tberVq2euvPJKs3LlSguqdn0nLpU+eYqPjzfGuGa/sRnz+6gWERERkSqmy3dFRETEMgoiIiIiYhkFEREREbGMgoiIiIhYRkFERERELKMgIiIiIpZREBERERHLKIiIiIiIZRRERERExDIKIiIiImIZBRERERGxjIKIiIiIWOb/AVqYDa5btuMtAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAGdCAYAAADaPpOnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/fUlEQVR4nO3deVyU9d7/8fcAgqgwpsgmCNqvo6kthuWWuYZ7iyfTW1OsTo+oPGnmnXq6K7W7bDl17LSZ57awbPHk0klckk6ilrRoam6ZFSkhhCug6YDw/f0xMacRRFBmhgtez8djHjLf+V4zn68X18yb6/pe19iMMUYAAAAW4efrAgAAAKqD8AIAACyF8AIAACyF8AIAACyF8AIAACyF8AIAACyF8AIAACyF8AIAACwlwNcF1LTS0lIdOHBAISEhstlsvi4HAABUgTFGhYWFio6Olp9f5ftW6lx4OXDggGJjY31dBgAAOA9ZWVmKiYmptE+dCy8hISGSnIMPDQ31cTUAAKAqCgoKFBsb6/ocr0ydCy9lh4pCQ0MJLwAAWExVpnwwYRcAAFgK4QUAAFgK4QUAAFgK4QUAAFgK4QUAAFgK4QUAAFgK4QUAAFgK4QUAAFhKnbtIHQAA8IySEmnDBiknR4qKknr2lPz9vV+HR/e8zJ49W1dffbVCQkIUHh6um266SXv27DnncuvWrVNCQoIaNmyoNm3aaO7cuZ4sEwAAnMPSpVJ8vNSnjzR6tPPf+Hhnu7d5NLysW7dO9913nz7//HOlpaXp9OnTSkxM1IkTJ866TGZmpgYPHqyePXtqy5Yt+stf/qL7779fS5Ys8WSpAADgLJYulW65Rfr5Z/f27Gxnu7cDjM0YY7z1YgcPHlR4eLjWrVun6667rsI+U6dO1Ycffqjdu3e72pKTk7Vt2zZlZGSc8zUKCgpkt9uVn5/PdxsBAHCBSkqce1jODC5lbDYpJkbKzLywQ0jV+fz26oTd/Px8SVKzZs3O2icjI0OJiYlubQMGDNCmTZtUXFxcrr/D4VBBQYHbDQAA1IwNG84eXCTJGCkry9nPW7wWXowxmjx5sq699lp17NjxrP1yc3MVERHh1hYREaHTp0/r0KFD5frPnj1bdrvddYuNja3x2gEAqK9ycmq2X03wWniZMGGCvvnmG7377rvn7Hvm12GXHdmq6Guyp0+frvz8fNctKyurZgoGAACKiqrZfjXBK6dK//nPf9aHH36o9evXKyYmptK+kZGRys3NdWvLy8tTQECAmjdvXq5/UFCQgoKCarReAADg1LOnc05LdrbzENGZyua89OzpvZo8uufFGKMJEyZo6dKl+uSTT9S6detzLtOtWzelpaW5ta1Zs0adO3dWgwYNPFUqAACogL+/9MILzp/PPABSdn/OHO9e78Wj4eW+++7TwoUL9c477ygkJES5ubnKzc3VyZMnXX2mT5+ucePGue4nJydr3759mjx5snbv3q3XX39d8+fP15QpUzxZKgAAOIvhw6XFi6WWLd3bY2Kc7cOHe7cej54qXdEcFUl64403NH78eEnS+PHj9dNPPyk9Pd31+Lp16/TAAw9o586dio6O1tSpU5WcnFyl1+RUaQAAPMOTV9itzue3V6/z4g2EFwAArKfWXucFAADgQhFeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApRBeAACApXg0vKxfv17Dhg1TdHS0bDabPvjgg0r7p6eny2azlbt9++23niwTAABYSIAnn/zEiRO64oordPvtt+uPf/xjlZfbs2ePQkNDXfdbtGjhifIAAIAFeTS8DBo0SIMGDar2cuHh4WratGnNFwQAACyvVs556dSpk6KiotSvXz+tXbu20r4Oh0MFBQVuNwAAUHfVqvASFRWlefPmacmSJVq6dKnatm2rfv36af369WddZvbs2bLb7a5bbGysFysGAADeZjPGGK+8kM2mZcuW6aabbqrWcsOGDZPNZtOHH35Y4eMOh0MOh8N1v6CgQLGxscrPz3ebNwMAAGqvgoIC2e32Kn1+16o9LxXp2rWr9u7de9bHg4KCFBoa6nYDAAB1V60PL1u2bFFUVJSvywAAALWER882On78uL7//nvX/czMTG3dulXNmjVTq1atNH36dGVnZ+vNN9+UJM2ZM0fx8fHq0KGDioqKtHDhQi1ZskRLlizxZJkAAMBCPBpeNm3apD59+rju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rFihlJQUrVq1SjabTTfccIMef/xxDRw4sF5feZ7DRgAsIyMjQ927d9eOHTvUoUOHGnnOI0eOaNy4cVq4cKGaNm1aI88JnC9jjDZv3qyUlBS9++67OnLkiDp37qzx48dr1KhRZ/2ev7qACbsAUEVNmjTRkiVLqjW5EahpOTk5WrhwoVJSUrRr1y5FRUXpT3/6k5KSktS+fXtfl1frEF4A1GtnHn4CvOXUqVP617/+pZSUFK1Zs0YNGjTQzTffrOeee079+/ev4rc9109M2AVQ78yaNUuXXXaZGjdurIiICN1zzz3nPCUbqAnGGGVkZGjcuHGuS/QXFBTo1VdfVW5urt59910NHDiQ4HIO/O8AqFeMMSopKdFrr72mli1bateuXRo3bpwuv/xy3XPPPb4uD3XUU089pddee02//PKLTp48qaCgIDVo0EDTpk3TzJkzfV2e5RBeANQrNpvN7cMiLi5O119/vb799ltlZWVp7NixysvLU0BAgB555BGNGDHCh9XCyk6cOKFly5YpJSVFn3zyiYKDg3XLLbcoKSlJV1xxhcaPH68HHnjA12VaEuEFQL2yb98+Pfvss0pPT1d2draKi4t16tQpzZ49WwEBAa5raeTl5emqq67S4MGD1bhxY1+XDYsoLS3Vp59+qpSUFL3//vs6fvy4evXqpfnz5+uWW25RSEiIJKmoqIiJ4heA8AKg3jh06JCuueYa9enTR88//7xatmyp0tJSde7cWVdeeaWioqIUFRUlSQoPD1ezZs105MgRwgvOKTMzU2+++aYWLFigzMxMtW7dWlOmTNHYsWPVpk2bcv2ZKH5hCC8A6o2VK1fq9OnTevfdd11fVPfyyy+rqKhIV155pVvfTZs2qbS0VLGxsT6oFFZQWFioxYsXKyUlRevXr1eTJk106623KiUlRddee638/NzPiZk1a5bef/99/fjjj2rSpImGDx+uv//97/X6YnPni/ACoN5o1qyZCgoK9OGHH6p9+/Zavny5Zs+erZYtW6pFixaufocPH9a4ceP0f//3fz6sFrVRaWmp1q5dq5SUFC1dulQnT55U37599dZbb+nmm28+6146JorXLMILgHpjyJAhuvPOOzV27FgFBwfrtttu06233qp9+/a5+jgcDt18882aPn26unfv7sNqUZt89913WrBggd566y1lZWXpkksu0cMPP6zb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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "sphere_point = lambda rad: np.array([np.cos(rad), np.sin(rad)])\n",
+ "\n",
+ "square_lattice = Lattice([1, 0], [0, 1])\n",
+ "tilted_lattice = Lattice([1, 1], [0, 1])\n",
+ "honeycomb_lattice = Lattice(sphere_point(0), sphere_point(np.pi * 2/3))\n",
+ "\n",
+ "def get_elementary_cell(lattice: Lattice):\n",
+ " points = []\n",
+ " for n1 in range(-1, 2):\n",
+ " for n2 in range(-1, 2):\n",
+ " p = lattice.get_point(n1, n2)\n",
+ " p_len = np.linalg.norm(p)\n",
+ " # if (p_len <= lattice.vec_lengths).any():\n",
+ " points.append(p)\n",
+ " return points\n",
+ "\n",
+ "def get_n_points_around_center(n)\n",
+ "\n",
+ "points = get_elementary_cell(tilted_lattice)\n",
+ "vor = Voronoi(points)\n",
+ "\n",
+ "print(vor)\n",
+ "fig = voronoi_plot_2d(vor)\n",
+ "\n",
+ "def get_orthogonal_2D(vec):\n",
+ " return np.array((vec[1], -vec[0]))\n",
+ "def plot_voronoi(lattice, v: Voronoi, subplot_kw={}):\n",
+ " fig, ax = plt.subplots(**subplot_kw) \n",
+ " lattice_points = v.points\n",
+ " lattice_vec_norm = np.sqrt(np.sum(lattice.vec_lengths**2))\n",
+ " print(lattice_vec_norm, np.linalg.norm(v.vertices, axis=1))\n",
+ " cell_vertices = v.vertices[np.linalg.norm(v.vertices, axis=1) <= 0.5 * lattice_vec_norm]\n",
+ " \n",
+ " x, y = zip(*lattice_points)\n",
+ " ax.scatter(x, y, color=\"blue\")\n",
+ " x, y = zip(*cell_vertices)\n",
+ " arrowprops = dict(arrowstyle=\"-|>,head_width=0.4,head_length=0.8\", color=\"black\", shrinkA=0,shrinkB=0)\n",
+ " for i, vec in enumerate(lattice.vecs):\n",
+ " ax.annotate(f\"\", xy=lattice.vecs[i], xytext=lattice.center, arrowprops=arrowprops)\n",
+ " # add name of vector at a perpendicular offset starting at half length\n",
+ " ax.annotate(r\"$\\vec{a}_\"+f\"{i+1}$\", xy=0.7*lattice.vecs[i], xytext=0.7*lattice.vecs[i] + 0.06*get_orthogonal_2D(lattice.vecs[i]))\n",
+ " \n",
+ " ax.scatter(x, y, color=\"orange\")\n",
+ " ax.fill(x, y, color=\"#4444\")\n",
+ " return fig\n",
+ " \n",
+ "\n",
+ "plot_voronoi(tilted_lattice, vor)\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "c2faef81-5f2a-4950-b986-e891ddfa7da8",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "a6b6ccf4-34c7-419d-8bcc-f3ce2870ba25",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "conda",
+ "language": "python",
+ "name": "conda"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.12.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/src/scripts/crystal_lattices.ipynb b/src/scripts/crystal_lattices.ipynb
new file mode 100644
index 0000000..fc408ff
--- /dev/null
+++ b/src/scripts/crystal_lattices.ipynb
@@ -0,0 +1,441 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "eaed683c-c6f1-45e4-aaee-ae4e57209f5f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import scipy as scp\n",
+ "from scipy.spatial import Voronoi, voronoi_plot_2d\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "from mpl_toolkits.mplot3d import Axes3D\n",
+ "from mpl_toolkits.mplot3d.art3d import Poly3DCollection\n",
+ "%matplotlib widget"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "efd84ecd-9fb3-4d2f-9f7a-47cd1ff09eea",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "class Lattice:\n",
+ " def __init__(self, *vecs):\n",
+ " # if the vecs were put in an iterable\n",
+ " if len(vecs) == 1:\n",
+ " vecs = vecs[0]\n",
+ " if len(vecs) == 3:\n",
+ " pass\n",
+ " elif len(vecs) == 2:\n",
+ " pass\n",
+ " else: raise ValueError(\"Vecs must contain either 2 or 3 vectors\")\n",
+ " self.dim = len(vecs)\n",
+ " self.vecs = list(vecs)\n",
+ " for i, v in enumerate(self.vecs):\n",
+ " if type(v) != np.ndarray:\n",
+ " self.vecs[i] = np.array(v)\n",
+ " if self.vecs[i].shape != (self.dim,):\n",
+ " raise ValueError(f\"Got {self.dim} vectors, therefore all vectors must be {self.dim} dimensional but vector {i+1} has shape {self.vecs[i].shape}\")\n",
+ " self.vecs = np.array(self.vecs)\n",
+ " self.vec_lengths = np.array([np.linalg.norm(v) for v in self.vecs])\n",
+ " self.center = np.zeros(self.dim)\n",
+ "\n",
+ " def get_point(self, *ns):\n",
+ " if len(ns) != len(self.vecs): raise ValueError(f\"Requires one index for each lattice vector {len(self.vecs)}, but got only {ns}\")\n",
+ " point = self.center.copy()\n",
+ " for i, n in enumerate(ns):\n",
+ " point += n * self.vecs[i]\n",
+ " return point\n",
+ "\n",
+ " \n",
+ " def get_points_around_center(self, n):\n",
+ " points = []\n",
+ " import itertools\n",
+ " ns = [i for i in range(-n, n+1)]\n",
+ " for n in itertools.product(*[ns for _ in range(self.dim)]):\n",
+ " # print(n)\n",
+ " points.append(self.get_point(*n))\n",
+ " return points"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "515b9133-233b-4a6a-8b2f-a2fca10fea3d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def rot_mat_2D(rad):\n",
+ " return np.array([[np.cos(rad), -np.sin(rad)], [np.sin(rad), np.cos(rad)]])\n",
+ "\n",
+ "\n",
+ "def get_reciprocal_lattice(lattice: Lattice):\n",
+ " if lattice.dim == 2:\n",
+ " rot_90_deg = rot_mat_2D(np.pi / 2)\n",
+ " a1, a2 = lattice.vecs\n",
+ " b1 = 2 * np.pi * rot_90_deg @ a2 / (np.dot(a1, rot_90_deg @ a2))\n",
+ " b2 = 2 * np.pi * rot_90_deg @ a1 / (np.dot(a2, rot_90_deg @ a1))\n",
+ " return Lattice(b1, b2)\n",
+ " elif lattice.dim == 3:\n",
+ " a1, a2, a3 = lattice.vecs\n",
+ " V = np.dot(a1, np.cross(a2, a3))\n",
+ " b1 = 2 * np.pi/V * np.cross(a2, a3)\n",
+ " b2 = 2 * np.pi/V * np.cross(a3, a1)\n",
+ " b3 = 2 * np.pi/V * np.cross(a1, a2)\n",
+ " return Lattice(b1, b2, b3)\n",
+ " else: raise NotImplementedError(f\"Dim must be 2 or 3, but is {lattice.dim}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "2855d08e-70d8-4ef7-ba19-2c06316caf15",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "def get_elementary_cell(lattice: Lattice):\n",
+ " points = lattice.get_points_around_center(1)\n",
+ " return points\n",
+ "\n",
+ "def get_orthogonal_2D(vec):\n",
+ " return np.array((vec[1], -vec[0]))\n",
+ "\n",
+ "def get_unit_cell_vertices(lattice: Lattice, voronoi: Voronoi):\n",
+ " \"\"\"regard only voronoi vertices which are closest to the center <=> their norm is <= 0.5*(norm of the unit vectors added together\n",
+ " \"\"\"\n",
+ " lattice_vec_norm = np.sqrt(np.sum(lattice.vec_lengths**2))\n",
+ " return voronoi.vertices[np.linalg.norm(voronoi.vertices, axis=1) <= 0.5 * lattice_vec_norm]\n",
+ " \n",
+ "def plot_unit_cell(lattice, fig_ax=None, vec_label=\"a\", subplot_kw={}):\n",
+ " # get voronoi of the points around the center\n",
+ " points = get_elementary_cell(lattice)\n",
+ " voronoi = Voronoi(points)\n",
+ "\n",
+ " if fig_ax:\n",
+ " fig, ax = fig_ax\n",
+ " else:\n",
+ " if lattice.dim == 3:\n",
+ " fig = plt.figure()\n",
+ " ax = fig.add_subplot(1,1,1, projection=\"3d\") \n",
+ " else:\n",
+ " fig, ax = plt.subplots(**subplot_kw) \n",
+ "\n",
+ " # unit cell vertices\n",
+ " cell_points = get_unit_cell_vertices(lattice, voronoi)\n",
+ " # sort by polar angle for the fill function\n",
+ " cell_points = list(cell_points)\n",
+ " # print(cell_points)\n",
+ " # print([i for i in map(lambda p: np.arctan2(p[1],p[0]), cell_points)])\n",
+ " if lattice.dim == 2:\n",
+ " cell_points.sort(key=lambda p: np.arctan2(p[1],p[0]))\n",
+ " x_cell, y_cell = zip(*cell_points)\n",
+ " ax.fill(x_cell, y_cell, color=\"#4444\")\n",
+ " ax.scatter(x_cell, y_cell, color=\"orange\")\n",
+ " \n",
+ " # lattice points\n",
+ " x_lat, y_lat = zip(*lattice.get_points_around_center(3))\n",
+ " ax.scatter(x_lat, y_lat, color=\"blue\")\n",
+ " \n",
+ " # lattice vectors\n",
+ " arrowprops = dict(arrowstyle=\"-|>,head_width=0.4,head_length=0.8\", color=\"black\", shrinkA=0,shrinkB=0)\n",
+ " for i, vec in enumerate(lattice.vecs):\n",
+ " ax.annotate(f\"\", xy=lattice.vecs[i], xytext=lattice.center, arrowprops=arrowprops)\n",
+ " if vec_label is not None:\n",
+ " # add name of vector at a perpendicular offset starting at half length\n",
+ " ax.annotate(r\"$\\vec{\"+f\"{vec_label}}}_{i+1}$\", xy=0.7*lattice.vecs[i], xytext=0.7*lattice.vecs[i] + 0.06*get_orthogonal_2D(lattice.vecs[i]))\n",
+ " elif lattice.dim == 3:\n",
+ " ridges = voronoi.ridge_vertices\n",
+ " for ridge in ridges:\n",
+ " verts = voronoi.vertices[ridge]\n",
+ " # print(verts, type(verts), verts.shape, verts.ndim)\n",
+ " ax.add_collection3d(Poly3DCollection([voronoi.vertices[ridge]], edgecolor=\"black\"))\n",
+ " ax.set_xlim(-2, 2)\n",
+ " ax.set_ylim(-2, 2)\n",
+ " ax.set_zlim(-2, 2)\n",
+ " else: raise NotImplementedError(f\"Dim must be 2 or 3, but is {lattice.dim}\")\n",
+ "\n",
+ " # limit to 2*lattice vectors\n",
+ " def calc_lim(axis):\n",
+ " lim = 2.05 * np.max(np.abs(lattice.vecs[axis,:]))\n",
+ " return -lim, lim\n",
+ " ax.set_xlim(*calc_lim(0))\n",
+ " ax.set_ylim(*calc_lim(1))\n",
+ " if lattice.dim == 3: ax.set_zlim(*calc_lim(2))\n",
+ " return fig"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "c2faef81-5f2a-4950-b986-e891ddfa7da8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "sphere_point = lambda rad: np.array([np.cos(rad), np.sin(rad)])\n",
+ "\n",
+ "square_lattice = Lattice([1, 0], [0, 1])\n",
+ "tilted_lattice = Lattice([1, 0.5], [0, 1])\n",
+ "honeycomb_lattice = Lattice(sphere_point(0), sphere_point(np.pi * 2/3))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "a6b6ccf4-34c7-419d-8bcc-f3ce2870ba25",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# fig, axs = plt.subplots(3, figsize=(4, 12))\n",
+ "# plot_unit_cell(square_lattice, fig_ax=(fig, axs[0]))\n",
+ "# plot_unit_cell(tilted_lattice, fig_ax=(fig, axs[1]))\n",
+ "# plot_unit_cell(honeycomb_lattice, fig_ax=(fig,axs[2]));"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "5314dd3a-17a7-402d-b3ee-ddbf69a6c4ed",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def plot_lattice(lattice: Lattice):\n",
+ " reci = get_reciprocal_lattice(lattice)\n",
+ " print(reci.vecs)\n",
+ " if lattice.dim == 3:\n",
+ " fig = plt.figure()\n",
+ " axs = [fig.add_subplot(1,2,i, projection=\"3d\") for i in [1,2]]\n",
+ " else:\n",
+ " fig, axs = plt.subplots(1, 2)\n",
+ " plot_unit_cell(lattice, fig_ax=(fig, axs[0]))\n",
+ " plot_unit_cell(reci, fig_ax=(fig, axs[1]), vec_label=\"b\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "39a49d00-fc93-4f2a-8645-d5e440e7a092",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[ 6.28318531e+00 -3.84734139e-16]\n",
+ " [ 3.84734139e-16 6.28318531e+00]]\n",
+ "[[ 6.28318531e+00 -3.84734139e-16]\n",
+ " [-3.14159265e+00 6.28318531e+00]]\n",
+ "[[6.28318531e+00 3.62759873e+00]\n",
+ " [4.44252717e-16 7.25519746e+00]]\n"
+ ]
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "d387139d3da141268f8c9c7345f26575",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "image/png": "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/7Z4fRg7nO3JJ5/UzJkzdeTIkQaXrayslGVZ8nq9LVAZYsU+yBFAIKpFixbpxRdfjJjHaRzU6NOnj/7617+GH3PzcNTFDf9CCNyJAAhEccstt+iWW24JP+Y0Dk7UqlUrZWRk2F0GEtQ999yjTz75RG+++abdpQB14lwWEIOOHTuqoKBAnTp1srsUJIDPP/9cWVlZysnJ0fjx47Vjxw67S0ICKSoqUr9+/ewuA6gXARCIQZs2bbiGB5KkCy64QM8//7z+8pe/6A9/+IPKy8s1dOhQ7d27t851gsGgAoFAxAT32rx5s84991y7ywDqRQAE6vDggw/qnHPOUYcOHZSenq7bbrtNR48etbss2GzMmDG65pprdM455+iHP/yhVqxYIUn13gQ4Pz9fPp8vPGVnZ7dUuWhh5eXl+sc//qHq6moNGzZM7du316BBg7R582a7SwMiEACBKCzLUlVVlX7/+99r69atWrJkiV599VU988wzdpeGBNOhQwedc845+vzzz+tcZtasWfL7/eGppKSkBStES9q0aZMkacGCBZo/f742bNiglJQUjR8/3ubKgEh8CQSIouau/jV69OihSy65RJ999plKSko0YcIEVVRUqFWrVvrVr36l6667zsZqYadgMKht27YpNze3zmW8Xi+XEBiiqKhIbdu21euvv66srCxJ0rx583ThhRcydiChcAQQiOKrr77S1KlT1bdvX5122mnq2LGjXnnlFXXv3l2tWrXSggULtHXrVv31r3/VjBkzdOjQIbtLRguZOXOm1q5dq507d+qDDz7Qtddeq0AgoIkTJ9pdGhJAUVGRfvzjH4fDnxQ6SiyFbhTN2IFEQQAETrJnzx6df/752rNnjx5//HH97W9/0/r165WcnKxzzz1XmZmZ4Qu8u3btqs6dO2vfvn32Fo0W8/XXX+snP/mJevfurauvvlpt2rTR+++/rx49ethdGhJAUVFRrS+AfPzxx8rIyFBWVhZjBxIGp4CBk6xcuVLHjh3TSy+9JI/HI0l66qmnVFlZWWtg37Bhg6qrq7mo3yAvv/yy3SUgQR0+fFhffPGFqqqqwvOqq6v1xBNPaNKkSeHxRGLsgP0IgMBJOnfurEAgoOXLl+vss8/W//7v/yo/P1/dunVTly5dwsvt3btXN954I18MASApdPuX5ORkLV68WMOGDVOnTp1033336dCh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lLBHAGO1e/duDR8+XGeccYYee+wxffPNN+Hnao70SdJZZ52l/Px8XXXVVfJ4PJo+fbrmz5+vXr16qVevXpo/f77at2+vG264IebX/ld2rn0toGVJ8+dLhw41uTVb5edLEyZEf47eEpd5vYX2Pad9jq1r7HDnNgqht8RlZm/OHDviyq6vH8fL4sWLj99OofZ0IknW4sWLw4+rq6utBx54wMrIyLC8Xq81bNgwa8uWLY167ZKSkjpfm4mJqeWmkpKSeAwnLYaxg4kpMSanjR3x5IpTwHaprq7W7t27lZKSogMHDig7O1slJSWuO5xcc60jvTmLCb0VFxfL4/EoKytLSUkJ+522Wk4cO+r74tmpcPP2txu/2+bVEr9fy7J04MABx40d8eT4U8B2SkpKUvfu3SX96xvFqamprh0Q6M2Z3Nybz+dzZG8njh3Nzc3b3278bptXc/9+Q9fhmsvM2AsAAGAwAiAAAIBhCIBx4vV69cADD8jr9dpdStzRmzPRm9n4HTUffrfNi99vy+BLIAAAAIbhCCAAAIBhCIAAAACGIQACAAAYhgAIAABgGAJgnO3atUs33XSTcnJy1K5dO5155pl64IEHVFlZaXdpcTFv3jwNHTpU7du3V6dOnewu55T87ne/U05Ojtq2bauBAwdq3bp1dpcUF++8847GjRunrKwseTwevf7663aXFBf5+fk677zzlJKSoq5du+rKK6/U9u3b7S4rIcWynxYXF2vcuHHq0KGD0tLSNG3aNNeMU83NrWNHS2ponLIsS3PmzFFWVpbatWun4cOH69NPP7WnWJciAMbZZ599purqav3+97/Xp59+qv/8z//UwoULdd9999ldWlxUVlbquuuu02233WZ3Kadk6dKlmj59umbPnq1NmzYpNzdXY8aMUXFxsd2lnbJDhw6pX79+evLJJ+0uJa7Wrl2rO+64Q++//75Wr16tY8eOadSoUTrk1H+lvhk1tJ9WVVXp8ssv16FDh/S3v/1NL7/8sgoKCvSLX/yihSt1HjePHS2poXHqkUce0eOPP64nn3xSH330kTIyMnTJJZfowIEDLVypi9n5DxGb4pFHHrFycnLsLiOuFi9ebPl8PrvLaLLzzz/fmjJlSsS8s846y7r33nttqqh5SLKWLVtmdxnNoqKiwpJkrV271u5SElZd++nKlSutpKQkq7S0NDzvpZdesrxer+X3+1uwQucxZexoSSePU9XV1VZGRob10EMPhecdOXLE8vl81sKFC22o0J04AtgC/H6/OnfubHcZOK6yslIbN27UqFGjIuaPGjVK7733nk1VobH8fr8ksW81wfr169W3b19lZWWF540ePVrBYFAbN260sbLExtjRMnbu3Kny8vKI37PX69XFF1/M7zmOCIDN7Msvv9QTTzyhKVOm2F0KjtuzZ4+qqqqUnp4eMT89PV3l5eU2VYXGsCxLeXl5uuiii9S3b1+7y3Gc8vLyWu//0047TW3atGEfqAdjR8uo+V3ye25eBMAYzZkzRx6Pp95pw4YNEevs3r1bl156qa677jrdfPPNNlXesKb05gYejyfisWVZteYhMU2dOlWffPKJXnrpJbtLaTHx3k+jvdfZB2LD2NEy+D03r1Z2F+AUU6dO1fjx4+tdpmfPnuH/3717t0aMGKEhQ4Zo0aJFzVzdqWlsb06Xlpam5OTkWp8kKyoqan3iROL5+c9/ruXLl+udd95R9+7d7S6nxcRzP83IyNAHH3wQMe/bb7/V0aNH2QfqwdjRMjIyMiSFjgRmZmaG5/N7ji8CYIzS0tKUlpYW07KlpaUaMWKEBg4cqMWLFyspKbEPtDamNzdo06aNBg4cqNWrV+uqq64Kz1+9erWuuOIKGytDfSzL0s9//nMtW7ZMhYWFysnJsbukFhXP/XTIkCGaN2+eysrKwn9gV61aJa/Xq4EDB8blNdyIsaNl5OTkKCMjQ6tXr1b//v0lha6/XLt2rR5++GGbq3MPAmCc7d69W8OHD9cZZ5yhxx57TN988034uZpPNU5WXFysffv2qbi4WFVVVSoqKpIkffe731XHjh3tLa4R8vLyNGHCBA0aNCh8lLa4uNgV12oePHhQX3zxRfjxzp07VVRUpM6dO+uMM86wsbJTc8cdd+jFF1/Un//8Z6WkpISPwvh8PrVr187m6hJLQ/vpqFGjdPbZZ2vChAl69NFHtW/fPs2cOVOTJ09WamqqvcUnODePHS2poXFq+vTpmj9/vnr16qVevXpp/vz5at++vW644QYbq3YZO7+C7EaLFy+2JEWd3GDixIlRe1uzZo3dpTXaU089ZfXo0cNq06aNNWDAANfcTmTNmjVRt9HEiRPtLu2U1LVfLV682O7SEk4s++lXX31lXX755Va7du2szp07W1OnTrWOHDliX9EO4taxoyU1NE5VV1dbDzzwgJWRkWF5vV5r2LBh1pYtW+wt2mU8lmVZzR8zAQAAkCgS++I0AAAAxB0BEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADD/H89BUFVchRD+QAAAABJRU5ErkJggg==",
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ " Figure\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "b13b23809cf34187826c182c0cb2dae3",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABZxElEQVR4nO3dfXxT5f0//tdp2qb3KaVt0tICVbkR6qAWQdACdQqiUJXhZGwg+6mTTUToYIruI+AmeDeHD5lj3sGc82Za0G6gwr7YWseNgBSRu6ErtJSW3kATepe0yfn9ERsJTdq0TXLuXs/H41Byck7yvnLlXH33nOtclyCKoggiIiIi0owQqQMgIiIiouBiAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGCaARERERBrDBJCIiIhIY5gAEhEREWkME0AiIiIijWECSERERKQxTACJiIiINIYJIBEREZHGMAEkIiIi0hgmgEREREQawwSQiIiISGOYABIRERFpDBNAIiIiIo1hAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGCaARERERBrDBJCIiIhIY5gAEhEREWkME0AiIiIijWECSERERKQxTACJiIiINIYJIBEREZHGMAEkIiIi0hgmgEREREQawwSQiIiISGOYABIRERFpDBNAIiIiIo1hAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaUyo1AEomcPhwJkzZxAbGwtBEKQOh0hzRFHEhQsXkJqaipAQ5fw9y7aDSFpKbTv8SlSB1atXi2PGjBFjYmLEpKQk8bbbbhOPHTvW7X5FRUXi1VdfLer1ejEjI0P885//3KP3raioEAFw4cJF4qWioqK3zYck2HZw4SKPRWlthz+p4gxgcXExHnjgAVxzzTVob2/HY489hilTpuDIkSOIjo72uE9ZWRluueUW3HfffXjzzTfxn//8B7/61a+QlJSEH/3oRz69b2xs7Hf/qwAQ1+n5v/0N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LK+qKv9uR8HBeiMiIl+p5hJwTw0bNgzDhg1zPR4/fjwqKirw3HPPYeLEiR73Wb58OfLz812PLRaLKpPAlBT/bkfBwXojIiJfafYMoCfXXnstTpw44fV5rYzllZMDpKU5+4x5IghAerpzO5IP1hsREfmKCeBFDhw4gBSeHoFOB7zwgvP/lyYTHY/XruWNBHLDeiMiIl+pJgFsbGxEaWkpSktLAXw/eGt5eTkA5+XbefPmubZfu3YtPvjgA5w4cQKHDx/G8uXLUVBQgIULF0oRvuzMnOkcMmTAAPf1aWkcSkTOWG9EROQL1fQB3LdvH3Jzc12PO/rq3X333di4cSOqqqpcySDgnL5p6dKlqKysRGRkJEaOHIktW7bglltuCXrscjVzpnPIEM4ooSysNyIi6o4gdjXiKXXJYrHAYDDAbDartj8gkZwp9RhUatxEasFjUEWXgImIiIjIN0wAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGCaARERERBrDBJCIiIhIY5gAEhEREWkME0AiIiIijWECSERERKQxTACJiIiINIYJIBEREZHGMAEkIiIi0hgmgEREREQawwSQiIiISGOYABIRERFpDBNAIiIiIo1hAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDGhUgegBnY7UFQEVFUBKSlATg6g00kdFXXHbgdKSlhvSnNxvcXFSR2Ncqj5+86yKZOay6YIokoUFxeL06dPF1NSUkQA4ubNm7vdp6ioSLz66qtFvV4vZmRkiH/+85979J5ms1kEIKammkVAdC1paaJYUNDLglBQFBQ464n1piyd6815DJrNZqlD65GOtiNYcav5+86yKZPUZQv2MShHqrkE3NTUhFGjRmHdunU+bV9WVoZbbrkFOTk5OHDgAB599FEsWrQIBQUFPX7vM2fcH1dWArNmAZs29filKAg2bXLWz+nT7utZb/Lmrd6oa2r+vrNsyqTmsimJIIqiKHUQ/iYIAjZv3ozbb7/d6zYPP/wwCgsLcfToUde6BQsW4ODBg9i1a5dP72OxWGAwGACYAbhfixIEIC0N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cXExnn76aYmjUw8mgH525swZTJ48GQMHDsRzzz2H2tpa13Mdf9UoWXl5Oc6dO4fy8nLY7XaUlpYCAK644grExMRIG1wP5OfnY+7cuRgzZozrLG15ebkq+mo2Njbim2++cT0uKytDaWkpEhISMHDgQAkj65sHHngAb731Fj788EPExsa6zsIYDAZERkZKHJ28dHecTpkyBSNGjMDcuXPx7LPP4ty5c1i6dCnuu+8+xMXFSRu8zKm57Qim7tqpxYsXY/Xq1RgyZAiGDBmC1atXIyoqCnPmzJEwapWR8hZkNdqwYYMIwOOiBnfffbfHsn366adSh9Zjf/rTn8RBgwaJ4eHh4tVXX62a4UQ+/fRTj3V09913Sx1an3g7rjZs2CB1aLLjy3F66tQp8dZbbxUjIyPFhIQEceHChWJra6t0QSuIWtuOYOqunXI4HOKKFStEk8kk6vV6ceLEieKhQ4ekDVplBFEUxcCnmUREREQkF/LunEZEREREfscEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGCaARERERBrDBJCIiIhIY5gAEhEREWkME0AiIiIijWECSERERKQxTACJiIiINIYJIBEREZHGMAEkIiIi0hgmgEREREQawwSQiIiISGOYABIRERFpDBNAIiIiIo1hAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcb8/0Z7v7jxjKEtAAAAAElFTkSuQmCC",
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ " Figure\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "1f00d6b046d449228a592b5ba2e109a4",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABYyklEQVR4nO3deXxTZb4/8M9p2qZ72tI2XaEdZBHKJiiLls2xikAdKyiXe1n8zXDFkUFgUAe9V9F7kRl1nDKio6gjOCrjFSqiMle5ylIFZBmKUlal0jbdaEuTbjRtcn5/hEZCF9I2ydk+79crrzYn5yTf5zw5T78953meI4iiKIKIiIiINMNP6gCIiIiIyLeYABIRERFpDBNAIiIiIo1hAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGCaARERERBrDBJCIiIhIY5gAEhEREWkME0AiIiIijWECSERERKQxTACJiIiINIYJIBEREZHGMAEkIiIi0hgmgEREREQawwSQiIiISGOYABIRERFpDBNAIiIiIo1hAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGCaARERERBrDBJCIiIhIY5gAEhEREWkME0AiIiIijWECSERERKQxTACJiIiINIYJIBEREZHGMAEkIiIi0hgmgEREREQawwSQiIiISGOYABIRERFpDBNAIiIiIo1hAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGuMvdQBKZrfbUVpaivDwcAiCIHU4RJojiiLq6uqQmJgIPz/l/D/LtoNIWkptOzyJCWAvlJaWIiUlReowiDSvuLgYycnJUofhNrYdRPKgtLbDk5gA9kJ4ePjl34oBRLR7/W9/A7KyfBqSx2zfDsyb1/nrLJs8aa9sFgApVxyLytBV26HkOlIzNR9batZ5vSmz7fAkQRRFUeoglMpiscBgMAAw4+pGXBCA5GSgsBDQ6SQJr8dsNiA1FSgp6fh1lk2etFk2CwADzGYzIiLa/xMmV521HUqu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",
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ " Figure\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_lattice(square_lattice)\n",
+ "plot_lattice(tilted_lattice)\n",
+ "plot_lattice(honeycomb_lattice)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "ef0a5d74-739f-4688-ad7f-fed91c39dcaa",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "simple_cubic = Lattice([1,0,0], [0,1,0], [0,0,1])\n",
+ "graphite = Lattice([0.5,-0.5 * 3**(0.5),0], [0.5,0.5 * 3**(0.5),0], [0,0,1])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "364f3ddb-21d0-4586-8b3b-acad8ba20d9b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[6.28318531 0. 0. ]\n",
+ " [0. 6.28318531 0. ]\n",
+ " [0. 0. 6.28318531]]\n",
+ "[[ 6.28318531 -3.62759873 0. ]\n",
+ " [ 6.28318531 3.62759873 -0. ]\n",
+ " [-0. 0. 6.28318531]]\n"
+ ]
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "3eb3e14cd16741d085826e020df23362",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "image/png": "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B505c0Zr164lADZCdXW19u7d62wee/XqVcXFxclqteqHP/yhc0/nzftw2rVrV+8A+Fux2+06efKk+vfvLz8/P0lSeXm54uLiFBISog0bNrjtJ3e0vMbuK5ZYAnYXDodD586dc/YozcrK0kMPPaQRI0YoJydHffr0UUpKikvD39///ndNmTJFaWlpiomJccl9cX8jAJrI7d4ccHdqamr0r3/9y9kv7MKFC4qNjZXValVMTIxz1q+qqkplZWU6d+6cysvL5e3t7ZwZ9PX1lcVi0ZkzZ3TixAmFhYU523Z88cUXio+PV48ePbR582aOBkSjfdVDIGfOnFG3bt0k3TiFITk5mYdAWpjD4VB5ebneffddvf766yooKNCDDz6oUaNGKTExUX379m32Fo+0tDRNmjRJGzduVFxcnIsqx/2OJWDgLnl6emrIkCEaMmSIli1bpo8++kibN2/Wr371K02YMEExMTGyWq2KjY1Vt27d1K1bN1VXV6u8vFznzp3TwYMH5eXlJR8fH1VUVKh///7O8Hfx4kUlJiYqICBAmzZtIvyhUex2u86fPy+73a6amhrl5eVJknr37i1fX1/FxMSoX79+Gjt2rBYvXqzz589rxowZGj9+POGvhVksFvn7+6u2tlaSlJeXp8OHD8tms2np0qUKCgpyNqz/7ne/2+gw+P7772vixIn661//SvhDozADaCLMALaM2tpa5ebmavPmzUpLS5PdbtePfvQjWa1WDR8+XH5+frJYLKqpqdGJEyd05swZeXh46Gtf+5rsdrt8fX31+9//Xu3atdP777/vsmUhmMe4ceP05z//ucH1jIwMRUVFSboREn/+859rz5498vb21pgxY7RkyRKXPcmOO7t+/brKysrUvXt357WLFy9q+/btstls2rlzp7p06aIRI0Zo5MiRCg8P/8owmJ6eruTkZK1bt05JSUkt/SvgPkMAbKWaskGcANjyHA6Hjhw5ok2bNmnLli06fvy4oqOjlZiYqLKyMhUXF2vmzJnq0KGDzp8/rwULFuiPf/yjPD099bOf/UzJycl69NFHjf41ANxjly9fVnp6umw2m3bs2CE/Pz9nj9KIiIgGD4N98MEHGj16tNasWaPRo0fzMA8ajQDYSrlygzhahsPh0LFjx2Sz2bR27VqdPn1aoaGhmjBhghISEtS+fXuNGjVKV65c0axZs5Se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",
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ " Figure\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "9a136d5a50f749dbb2e429adbd10f48e",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "image/png": "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",
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ " Figure\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_lattice(simple_cubic);\n",
+ "plot_lattice(graphite);"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "c6512444-6c86-4e31-bc6a-2c8b1e00c28d",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "2dce1256-7afa-4e86-8aff-5db7b13b4d4d",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "conda",
+ "language": "python",
+ "name": "conda"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.12.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/src/scripts/distributions.py b/src/scripts/distributions.py
new file mode 100644
index 0000000..242d5e7
--- /dev/null
+++ b/src/scripts/distributions.py
@@ -0,0 +1,106 @@
+from numpy import fmax
+from plot import *
+
+
+def get_fig():
+ fig, ax = plt.subplots(figsize=size_half_half)
+ ax.grid()
+ ax.set_xlabel(f"$x$")
+ ax.set_ylabel("PDF")
+ return fig, ax
+
+# GAUSS / NORMAL
+def fgauss(x, mu, sigma_sqr):
+ return 1 / (np.sqrt(2 * np.pi * sigma_sqr)) * np.exp(-(x - mu)**2 / (2 * sigma_sqr))
+
+def gauss():
+ fig, ax = get_fig()
+ x = np.linspace(-5, 5, 300)
+ for mu, sigma_sqr in [(0, 1), (0, 0.2), (0, 5), (-2, 2)]:
+ y = fgauss(x, mu, sigma_sqr)
+ label = texvar("mu", mu) + ", " + texvar("sigma^2", sigma_sqr)
+ ax.plot(x, y, label=label)
+ ax.legend()
+ return fig
+export(gauss(), "distribution_gauss")
+
+# CAUCHY / LORENTZ
+def fcauchy(x, x_0, gamma):
+ return 1 / (np.pi * gamma * (1 + ((x - x_0)/gamma)**2))
+
+def cauchy():
+ fig, ax = get_fig()
+ x = np.linspace(-5, 5, 300)
+ for x_0, gamma in [(0, 1), (0, 0.5), (0, 2), (-2, 1)]:
+ y = fcauchy(x, x_0, gamma)
+ label = f"$x_0 = {x_0}$ , {texvar('gamma', gamma)}"
+ ax.plot(x, y, label=label)
+ ax.legend()
+ return fig
+export(cauchy(), "distribution_cauchy")
+
+# MAXWELL-BOLTZMANN
+def fmaxwell(x, a):
+ return np.sqrt(2/np.pi) * x**2 / a**3 * np.exp(-x**2 /(2*a**2))
+
+def maxwell():
+ fig, ax = get_fig()
+ x = np.linspace(0, 20, 300)
+ for a in [1, 2, 5]:
+ y = fmaxwell(x, a)
+ label = f"$a = {a}$"
+ ax.plot(x, y, label=label)
+ ax.legend()
+ return fig
+
+export(maxwell(), "distribution_maxwell-boltzmann")
+
+
+# POISSON
+def fpoisson(k, l):
+ return l**k * np.exp(-l) / scp.special.factorial(k)
+
+def poisson():
+ fig, ax = get_fig()
+ k = np.arange(0, 21, dtype=int)
+ for l in [1, 4, 10]:
+ y = fpoisson(k, l)
+ label = texvar("lambda", l)
+ ax.plot(k, y, color="#555")
+ ax.scatter(k, y, label=label)
+ ax.set_xlabel(f"$k$")
+ ax.set_ylabel(f"PMF")
+ ax.legend()
+ return fig
+
+export(poisson(), "distribution_poisson")
+
+# BINOMIAL
+def binom(n, k):
+ return scp.special.factorial(n) / (
+ scp.special.factorial(k) *
+ scp.special.factorial((n-k))
+ )
+def fbinomial(k, n, p):
+ return binom(n, k) * p**k * (1-p)**(n-k)
+
+def binomial():
+ fig, ax = get_fig()
+ n = 20
+ k = np.arange(0, n+1, dtype=int)
+ for p in [0.3, 0.5, 0.7]:
+ y = fbinomial(k, n, p)
+ label = f"$n={n}$, $p={p}$"
+ ax.plot(k, y, color="#555")
+ ax.scatter(k, y, label=label)
+ ax.set_xlabel(f"$k$")
+ ax.set_ylabel(f"PMF")
+ ax.legend()
+ return fig
+
+export(binomial(), "distribution_binomial")
+
+# FERMI-DIRAC
+
+# BOSE-EINSTEIN
+
diff --git a/src/scripts/plot.py b/src/scripts/plot.py
new file mode 100644
index 0000000..77a2041
--- /dev/null
+++ b/src/scripts/plot.py
@@ -0,0 +1,34 @@
+import os
+import matplotlib.pyplot as plt
+import numpy as np
+import math
+import scipy as scp
+
+outdir = "../img/"
+filetype = ".pdf"
+skipasserts = False
+
+full = 8
+size_half_half = (full/2, full/2)
+size_third_half = (full/3, full/2)
+size_half_third = (full/2, full/3)
+
+def texvar(var, val, math=True):
+ s = "$" if math else ""
+ s += f"\\{var} = {val}"
+ if math: s += "$"
+ return s
+
+def export(fig, name):
+ if not skipasserts:
+ assert os.path.abspath(".").endswith("scripts"), "Please run from the `scripts` directory"
+ filename = os.path.join(outdir, name + filetype)
+ fig.savefig(filename, bbox_inches="tight")
+
+
+@np.vectorize
+def smooth_step(x: float, left_edge: float, right_edge: float):
+ x = (x - left_edge) / (right_edge - left_edge)
+ if x <= 0: return 0.
+ elif x >= 1: return 1.
+ else: return 3*(x**2) - 2*(x**3)
diff --git a/src/scripts/qubits.py b/src/scripts/qubits.py
new file mode 100644
index 0000000..99d5661
--- /dev/null
+++ b/src/scripts/qubits.py
@@ -0,0 +1,90 @@
+from plot import *
+import scqubits as scq
+import qutip as qt
+
+# flux = scq.FluxQubit()
+fluxonium = scq.Fluxonium(EJ=9, EC=3, EL=0.5, flux=1, cutoff=100)
+
+
+
+def _plot_transmon_n_wavefunctions(qubit: scq.Transmon, fig_ax, which=[0,1]):
+ fig, ax = fig_ax
+ ax.set_ylabel(r"$|\psi_i(n)|^2$")
+ ax.set_xlabel(r"$n$")
+ colors = "brgy"
+ for i in which:
+ wf = qubit.numberbasis_wavefunction(which=i)
+ x = wf.basis_labels
+ y = wf.amplitudes
+ offset = (len(which)/2 - i) * 0.2
+ ax.bar(x-offset, y, width=0.2, align='center', label=f"$i={i}$")
+ xlim = (-4, 4)
+ ax.set_xlim(*xlim)
+ ax.set_xticks(np.arange(xlim[0], xlim[1]+1))
+
+def _plot_transmon(qubit: scq.Transmon, ngs, fig, axs):
+ _,_ = qubit.plot_evals_vs_paramvals("ng", ngs, fig_ax=(fig, axs[0]), evals_count=5, subtract_ground=False)
+ _,_ = qubit.plot_wavefunction(fig_ax=(fig, axs[1]), which=[0, 1, 2], mode="abs_sqr")
+ _plot_transmon_n_wavefunctions(qubit, (fig, axs[2]), which=[0, 1, 2])
+ qubit.ng = 0.5
+ _plot_transmon_n_wavefunctions(qubit, (fig, axs[3]), which=[0, 1, 2])
+ qubit.ng = 0
+
+
+def transmon_cpb():
+ EC = 1
+ qubit = scq.Transmon(EJ=30, EC=EC, ng=0, ncut=30)
+ ngs = np.linspace(-2, 2, 200)
+ fig, axs = plt.subplots(4, 3, squeeze=True, figsize=(full,full))
+ axs = axs.T
+ qubit.ng = 0
+ qubit.EJ = 0.1 * EC
+ title = lambda x: f"$E_J/E_C = {x}$"
+ _plot_transmon(qubit, ngs, fig, axs[0])
+ axs[0][0].set_title("Cooper-Pair-Box\n"+title(qubit.EJ))
+
+ qubit.EJ = EC
+ _plot_transmon(qubit, ngs, fig, axs[1])
+ axs[1][0].set_title("Quantronium\n"+title(qubit.EJ))
+
+ qubit.EJ = 20 * EC
+ _plot_transmon(qubit, ngs, fig, axs[2])
+ axs[2][0].set_title("Transmon\n"+title(qubit.EJ))
+
+ for ax in axs[1:,:].flatten(): ax.set_ylabel("")
+ for ax in axs[:,0].flatten():
+ ax.set_xticks([-2, -1, -0.5, 0, 0.5, 1, 2])
+ ax.set_xticklabels(["-2", "-1", "", "0", "", "1", "2"])
+ ylim = ax.get_ylim()
+ ax.vlines([-1, -0.5], ymin=ylim[0], ymax=ylim[1], color="#aaa", linestyle="dotted")
+ axs[0][2].legend()
+ fig.tight_layout()
+ return fig
+
+export(transmon_cpb(), "qubit_transmon")
+
+
+def flux_onium():
+ fig, axs = plt.subplots(1, 2, squeeze=True, figsize=(full,full))
+ fluxs = np.linspace(-2, 2, 101)
+ EJ = 35.0
+ alpha = 0.6
+ fluxqubit = scq.FluxQubit(EJ1 = EJ,
+ EJ2 = EJ,
+ EJ3 = alpha*EJ,
+ ECJ1 = 1.0,
+ ECJ2 = 1.0,
+ ECJ3 = 1.0/alpha,
+ ECg1 = 50.0,
+ ECg2 = 50.0,
+ ng1 = 0.0,
+ ng2 = 0.0,
+ flux = 0.5,
+ ncut = 10)
+ fluxqubit.plot_evals_vs_paramvals("flux", fluxs, evals_count=5, subtract_ground=True, fig_ax=(fig, axs[0]))
+
+ fluxonium = scq.Fluxonium(EJ=9, EC=3, EL=0.5, flux=1, cutoff=100)
+ fluxonium.plot_evals_vs_paramvals("flux", fluxs, evals_count=5, subtract_ground=True, fig_ax=(fig, axs[1]))
+ return fig
+
+export(flux_onium(), "qubit_flux_onium")
diff --git a/src/scripts/requirements.txt b/src/scripts/requirements.txt
new file mode 100644
index 0000000..d93e9c5
--- /dev/null
+++ b/src/scripts/requirements.txt
@@ -0,0 +1,5 @@
+numpy
+matplotlib
+scqubits
+qutip
+
diff --git a/src/scripts/stat-mech.py b/src/scripts/stat-mech.py
new file mode 100644
index 0000000..e642825
--- /dev/null
+++ b/src/scripts/stat-mech.py
@@ -0,0 +1,120 @@
+from plot import *
+
+def flennard_jones(r, epsilon, sigma):
+ return 4 * epsilon * ((sigma/r)**12 - (sigma/r)**6)
+
+def lennard_jones():
+ fig, ax = plt.subplots(figsize=size_half_half)
+ ax.grid()
+ ax.set_xlabel(r"$r$")
+ ax.set_ylabel(r"$V(r)$")
+
+ r = np.linspace(0.5, 4, 300)
+ for epsilon, sigma in [(1, 1), (1, 2)]:
+ y = flennard_jones(r, epsilon, sigma)
+ label = texvar("epsilon", epsilon) + ", " + texvar("sigma", sigma)
+ ax.plot(r, y, label=label)
+ ax.legend()
+ ax.set_ylim(-1.1, 1.1)
+ return fig
+export(lennard_jones(), "potential_lennard_jones")
+
+# BOLTZMANN / FERMI-DIRAC / BOSE-EINSTEN DISTRIBUTIONS
+def fboltzmann(x):
+ return 1 / np.exp(x)
+def fbose_einstein(x):
+ return 1 / (np.exp(x) -1)
+def ffermi_dirac(x):
+ return 1 / (np.exp(x) + 1)
+
+
+def id_qgas():
+ fig, ax = plt.subplots(figsize=size_half_half)
+ ax.grid()
+ ax.set_xlabel(r"$\beta(\epsilon-\mu)$")
+ ax.set_ylabel(r"$\langle n(\epsilon)\rangle$")
+ x = np.linspace(-4, 4, 300)
+ xbe = np.linspace(0.01, 4, 300)
+ yb = fboltzmann(x)
+ ybe = fbose_einstein(xbe)
+ yfd = ffermi_dirac(x)
+ ax.vlines([0], ymin=-10, ymax=10, color="black", linestyle="dashed")
+ ax.plot(xbe, ybe, label="Bose-Einstein")
+ ax.plot(x, yb, label="Boltzmann")
+ ax.plot(x, yfd, label="Fermi-Dirac")
+ ax.legend()
+ ax.set_ylim(-0.1, 4)
+ return fig
+export(id_qgas(), "td_id_qgas_distributions")
+
+@np.vectorize
+def fstep(x):
+ return 1 if x >= 0 else 0
+
+def fermi_occupation():
+ fig, ax = plt.subplots(figsize=size_half_third)
+ # ax.grid()
+ # ax.set_xlabel(r"$\beta(\epsilon-\mu)$")
+ ax.set_xticks([0])
+ ax.set_xticklabels([r"$\epsilon=\mu$"])
+ ax.set_ylabel(r"$\langle n(\epsilon)\rangle$")
+ x = np.linspace(-4, 4, 300)
+ ystep = fstep(-x)
+ yfd = ffermi_dirac(x)
+ ax.vlines([0], ymin=-10, ymax=10, color="black", linestyle="dashed")
+ ax.plot(x, ystep, label="$T = 0$")
+ ax.plot(x, yfd, label=r"$T > 0$")
+ ax.legend()
+ ax.set_ylim(-0.1, 1.1)
+ return fig
+export(fermi_occupation(), "td_fermi_occupation")
+
+def fermi_heat_capacity():
+ fig, ax = plt.subplots(figsize=size_half_third)
+ # ax.grid()
+ # ax.set_xlabel(r"$\beta(\epsilon-\mu)$")
+ x = np.linspace(0, 4, 100)
+ T_F = 1
+ a = np.pi**2 / (2 * T_F)
+
+ def linear(x):
+ return x * a
+ X_32 = 3/2 /(np.pi**2 / (2 * T_F))
+
+
+ low_temp_Cv = linear(x)
+ ax.plot(x, low_temp_Cv, color="orange", linestyle="dashed", label=r"${\pi^2}/{2}\,{T}/{T_\text{F}}$")
+ ax.hlines([3/2], xmin=0, xmax=10, color="blue", linestyle="dashed", label="Petit-Dulong")
+ @np.vectorize
+ def unphysical_f(x):
+ # exponential
+ # find ṕoint where unshifted exponential has slope of the linear
+ # f = 3/2 - exp(-A*x)
+ # f' = A exp(-A*x) = a
+ # x = -log(a/A) / A
+ A = 5
+ x_unshifted = -np.log(a/A) / A
+ # shift so that this the exponential intersects the linear at this point
+ y_intersect = 3/2 - np.exp(-A*x_unshifted)
+ # find intersect x value of linear
+ # x = y/a
+ x_intersect = y_intersect / a
+ # shift exp so that x_intersect becomes x_unshifted
+ if x > x_intersect: return 3/2 - np.exp(-A * (x-(x_intersect - x_unshifted)))
+ else: return a * x
+ # ax.plot(x, smoothing, label="smooth")
+ y = unphysical_f(x)
+ ax.plot(x, y, color="black")
+ ax.legend(loc="lower right")
+
+
+ ax.set_xticks([0, T_F])
+ ax.set_xticklabels(["0", r"$T_F$"])
+ ax.set_yticks([0, 3/2])
+ ax.set_yticklabels(["0", r"$3/2$"])
+ ax.set_ylabel(r"${C_V}/{N k_\text{B}}$")
+ ax.set_xlim(0, 1.4 * T_F)
+ ax.set_ylim(0, 2)
+ return fig
+export(fermi_heat_capacity(), "td_fermi_heat_capacity")
+
diff --git a/src/statistical_mechanics.tex b/src/statistical_mechanics.tex
new file mode 100644
index 0000000..184f6db
--- /dev/null
+++ b/src/statistical_mechanics.tex
@@ -0,0 +1,757 @@
+\Part[
+ \eng{Statistichal Mechanics}
+ \ger{Statistische Mechanik}
+ ]{stat}
+
+ \begin{ttext}
+ \eng{
+ \textbf{Intensive quantities:} Additive for subsystems (system size dependent): $S(\lambda E, \lambda V, \lambda N) = \lambda S(E, V, N)$\\
+ \textbf{Extensive quantities:} Independent of system size, ratio of two intensive quantities
+ }
+ \ger{
+ \textbf{Intensive Größen:} Additiv für Subsysteme (Systemgrößenabhänig): $S(\lambda E, \lambda V, \lambda N) = \lambda S(E, V, N)$\\
+ \textbf{Extensive Größen:} Unabhängig der Systemgröße, Verhältnis zweier intensiver Größen
+ }
+ \end{ttext}
+
+ \begin{formula}{liouville}
+ \desc{Liouville equation}{}{$\{\}$ poisson bracket}
+ \desc[german]{Liouville-Gleichung}{}{$\{\}$ Poisson-Klammer}
+ \eq{\pdv{\rho}{t} = - \sum_{i=1}^{N} \left(\pdv{\rho}{q_i} \pdv{H}{p_i} - \pdv{\rho}{p_i} \pdv{H}{q_i} \right) = \{H, \rho\}}
+ \end{formula}
+
+ \Section[
+ \eng{Entropy}
+ \ger{Entropie}
+ ]{entropy}
+
+ \begin{formula}{properties}
+ \desc{Positive-definite and additive}{}{}
+ \desc[german]{Positiv Definit und Additiv}{}{}
+ \eq{
+ S &\ge 0 \\
+ S(E_1, E_2) &= S_1 + S_2
+ }
+ \end{formula}
+
+ \begin{formula}{von_neumann}
+ \desc{Von-Neumann}{}{$\rho$ density matrix}
+ \desc[german]{Von-Neumann}{}{$\rho$ Dichtematrix}
+ \eq{S = - \kB \braket{\log \rho} = - \kB \tr(\rho \log\rho)}
+ \end{formula}
+
+ \begin{formula}{gibbs}
+ \desc{Gibbs}{}{$p_n$ probability for micro state $n$}
+ \desc[german]{Gibbs}{}{$p_n$ Wahrscheinlichkeit für Mikrozustand $n$}
+ \eq{S = - \kB \sum_n p_n \log p_n}
+ \end{formula}
+
+ \begin{formula}{boltzmann}
+ \desc{Boltzmann}{}{$\Omega$ \#micro states}
+ \desc[german]{Boltzmann}{}{$\Omega$ \#Mikrozustände}
+ \eq{S = \kB \log\Omega}
+ \end{formula}
+
+ \begin{formula}{temp}
+ \desc{Temperature}{}{}
+ \desc[german]{Temperatur}{}{}
+ \eq{\frac{1}{T} \coloneq \pdv{S}{E}_V}
+ \end{formula}
+
+ \begin{formula}{pressure}
+ \desc{Pressure}{}{}
+ \desc[german]{Druck}{}{}
+ \eq{p = T \pdv{S}{V}_E}
+ \end{formula}
+
+\Part[
+ \eng{Thermodynamics}
+ \ger{Thermodynamik}
+ ]{td}
+
+ \begin{formula}{therm_wavelength}
+ \desc{Thermal wavelength}{}{}
+ \desc[german]{Thermische Wellenlänge}{}{}
+ \eq{\lambda = \frac{\hbar}{\sqrt{2\pi m \kB T}}}
+ \end{formula}
+
+ \Section[
+ \eng{Processes}
+ \ger{Prozesse}
+ ]{process}
+ \begin{ttext}
+ \eng{
+ \begin{itemize}
+ \item \textbf{isobaric}: constant pressure $p = \const$
+ \item \textbf{isochoric}: constant volume $V = \const$
+ \item \textbf{isothermal}: constant temperature $T = \const$
+ \item \textbf{isentropic}: constant entropy $S = \const$
+ \item \textbf{isenthalpic}: constant entalphy $H = \const$
+ \item \textbf{adiabatic}: no heat transfer $\Delta Q=0$
+ \item \textbf{quasistatic}: happens so slow, the system always stays in td. equilibrium
+ \item \textbf{reversivle}: reversible processes are always quasistatic and no entropie is created $\Delta S = 0$
+ \end{itemize}
+ }
+ \ger{
+ \begin{itemize}
+ \item \textbf{isobar}: konstanter Druck $p = \const$
+ \item \textbf{isochor}: konstantes Volumen $V = \const$
+ \item \textbf{isotherm}: konstante Temperatur $T = \const$
+ \item \textbf{isentrop}: konstante Entropie $S = \const$
+ \item \textbf{isenthalp}: konstante Entalphie $H = \const$
+ \item \textbf{adiabatisch}: kein Wärmeübertrag $\Delta Q=0$
+ \item \textbf{quasistatsch}: läuft so langsam ab, dass das System durchgehend im t.d Equilibrium bleibt
+ \item \textbf{reversibel}: reversible Prozesse sind immer quasistatisch und es wird keine Entropie erzeugt $Delta S = 0$
+ \end{itemize}
+ }
+ \end{ttext}
+
+ \Subsection[
+ \eng{Irreversible gas expansion (Gay-Lussac experiment)}
+ \ger{Irreversible Gasexpansion (Gay-Lussac-Versuch)}
+ ]{gay}
+
+ \begin{minipage}{0.6\textwidth}
+ \vfill
+ \begin{ttext}
+ \eng{
+ A classical gas in a system with volume $V_1$ is separated from another system with volume $V_2$.
+ In the Gay-Lussac experiment, the separation is removed and the gas flows into $V_2$.
+ }
+ \ger{
+ Ein klassisches Gas in einem System mit Volumen $V_1$ ist getrennt von einem zweiten System mit Volumen $V_2$.
+ Beim Gay-Lussac Versuch wird die Trennwand entfern und das Gas fließt in das Volumen $V_2$.
+ }
+ \end{ttext}
+ \vfill
+ \end{minipage}
+ \hfill
+ \begin{minipage}{0.3\textwidth}
+ \begin{figure}[H]
+ \centering
+ \includegraphics[width=\textwidth]{img/td_gay_lussac.pdf}
+ \end{figure}
+ \end{minipage}
+
+ \begin{formula}{entropy}
+ \desc{Entropy change}{}{}
+ \desc[german]{Entropieänderung}{}{}
+ \eq{\Delta S=N\kB \ln \left(\frac{V_1 + V_2}{V_1}\right) > 0}
+ \end{formula}
+
+ \TODO{Reversible}
+
+ \TODO{Quasistatischer T-Ausgleich}
+
+ \TODO{Joule-Thompson Prozess}
+
+
+ \Section[
+ \eng{Phase transitions}
+ \ger{Phasenübergänge}
+ ]{phases}
+
+ \begin{ttext}
+ \eng{
+ A phase transition is a discontinuity in the free energy $F$ or Gibbs energy $G$ or in one of their derivatives.
+ The degree of the phase transition is the degree of the derivative which exhibits the discontinuity.
+ }
+ \ger{
+ Ein Phasenübergang ist eine Unstetigkeit in the Freien Energie $F$ oder in der Gibbs-Energie $G$ oder in ihrer Ableitungen.
+ Die Ordnung des Phasenübergangs ist die Ordnung der Ableitung, in welcher die Unstetigkeit auftritt.
+ }
+ \end{ttext}
+
+ \begin{formula}{latent_heat}
+ \desc{Latent heat}{Heat required to bring substance from phase 1 to phase 2}{$\Delta S$ entropy change of the phase transition}
+ \desc[german]{Latente Wärme}{Für den Phasenübergang von Phase 1 nach Phase 2 benötigte Wärme}{$\Delta S$ Entropieänderung des Phasenübergangs}
+ \eq{Q_\text{L} = T \Delta S}
+ \end{formula}
+ \begin{formula}{clausis_clapeyron}
+ \desc{Clausius-Clapyeron equation}{Slope of the coexistence curve}{$\Delta V$ Volume change of the phase transition}
+ \desc[german]{Clausius-Clapeyron Gleichung}{Steigung der Phasengrenzlinie}{$\Delta V$ Volumenänderung des Phasenübergangs}
+ \eq{\odv{p}{T} = \frac{Q_\text{L}}{T\Delta V}}
+ \end{formula}
+ \begin{formula}{coexistence}
+ \desc{Phase transition}{At the coexistence curve}{}
+ \desc[german]{Phasenübergang}{Im Koexistenzbereich}{}
+ \eq{G_1 = G_2 \\ \shortintertext{\GT{and_therefore}} \mu_1 = \mu_2}
+ \end{formula}
+
+ \begin{formula}{gibbs_phase_rule}
+ \desc{Gibbs rule / Phase rule}{}{$c$ \#components, $f$ \#degrees of freedom, $p$ \#phases}
+ \desc[german]{Gibbsche Phasenregel}{}{$c$ \#Komponenten, $f$ \#Freiheitsgrade, $p$ \#Phasen}
+ \eq{f = c - p + 2}
+ \end{formula}
+
+ \Subsubsection[
+ \eng{Osmosis}
+ \ger{Osmose}
+ ]{osmosis}
+ \begin{ttext}
+ \eng{
+ Osmosis is the spontaneous net movement or diffusion of solvent molecules
+ through a selectively-permeable membrane, which allows through the solvent molecules, but not the solute molecules.
+ The direction of the diffusion is from a region of high water potential
+ (region of lower solute concentration) to a region of low water potential
+ (region of higher solute concentration), in the direction that tends to equalize the solute concentrations on the two sides.
+ }
+ \ger{
+ Osmosis ist die spontane Passage oder Diffusion Lösungsmittelmolekülen durch eine semi-permeable Membran
+ die für das Lösungsmittel, jedoch nicht die darin gelösten Stoffe durchlässig ist.
+ Die Richtung der Diffusion ist vom Gebiet mit hohem chemischen Potential (niedrigere Konzentration des gelösten Stoffes)
+ in das mit niedrigem chemischem Potential (höherere Konzentraion des gelösten Stoffes), sodass die Konzentration des gelösten Stoffes ausgeglichen wird.
+ }
+ \end{ttext}
+ \begin{formula}{osmosis}
+ \desc{Osmotic pressure}{}{$N_c$ \#dissolved particles}
+ \desc[german]{Osmotischer Druck / Van-\'t-hoffsches Gesetz}{}{$N_c$ \#gelöster Teilchen}
+ \eq{p_\text{osm} = \kB T \frac{N_c}{V}}
+ \end{formula}
+
+
+ \Subsection[
+ \eng{Material properties}
+ \ger{Materialeigenschaften}
+ ]{}
+ \begin{formula}{heat_cap}
+ \desc{Heat capacity}{}{$Q$ heat}
+ \desc[german]{Wärmekapazität}{}{$Q$ Wärme}
+ \eq{c = \frac{Q}{\Delta T}}
+ \end{formula}
+ \begin{formula}{heat_cap_V}
+ \desc{Isochoric heat capacity}{}{$U$ internal energy}
+ \desc[german]{Isochore Wärmekapazität}{}{$U$ innere Energie}
+ \eq{c_v = \pdv{Q}{T}_V = \pdv{U}{T}_V}
+ \end{formula}
+
+ \begin{formula}{heat_cap_p}
+ \desc{Isobaric heat capacity}{}{$H$ enthalpy}
+ \desc[german]{Isobare Wärmekapazität}{}{$H$ Enthalpie}
+ \eq{c_p = \pdv{Q}{T}_P = \pdv{H}{T}_P}
+ \end{formula}
+
+ \begin{formula}{bulk_modules}
+ \desc{Bulk modules}{}{$p$ pressure, $V$ initial volume}
+ \desc[german]{Kompressionsmodul}{}{$p$ Druck, $V$ Anfangsvolumen}
+ \eq{K = -V \odv{p}{V} }
+ \end{formula}
+
+ \begin{formula}{compressibility}
+ \desc{Compressibility}{}{}
+ \desc[german]{Kompressibilität}{}{}
+ \eq{\kappa = -\frac{1}{V} \pdv{V}{p} }
+ \end{formula}
+
+ \begin{formula}{compressibility_T}
+ \desc{Isothermal compressibility}{}{}
+ \desc[german]{Isotherme Kompressibilität}{}{}
+ \eq{\kappa_T = -\frac{1}{V} \pdv{V}{p}_{T} = \frac{1}{K}}
+ \end{formula}
+
+ \begin{formula}{compressibility_S}
+ \desc{Adiabatic compressibility}{}{}
+ \desc[german]{Adiabatische Kompressibilität}{}{}
+ \eq{\kappa_S = -\frac{1}{V} \pdv{V}{p}_{S}}
+ \end{formula}
+
+ \begin{formula}{therm_expansion}
+ \desc{Thermal expansion coefficient}{}{}
+ \desc[german]{Thermaler Ausdehnungskoeffizient}{}{}
+ \eq{\alpha = \frac{1}{V} \pdv{V}{T}_{p,N}}
+ \end{formula}
+
+
+
+\Section[
+ \eng{Laws of thermodynamics}
+ \ger{Hauptsätze der Thermodynamik}
+ ]{laws}
+
+ \Subsection[
+ \eng{Zeroeth law}
+ \ger{Nullter Hauptsatz}
+ ]{law0}
+ \begin{ttext}
+ \eng{If two systems are each in thermal equilibrium with a third, they are also in thermal equilibrium with each other.}
+ \ger{Wenn sich zwei Siesteme jeweils im thermischen Gleichgewicht mit einem dritten befinden, befinden sie sich auch untereinander im thermischen Gleichgewicht.}
+ \end{ttext}
+
+ \Eng[teq]{th. eq.}
+ \Ger[teq]{th. GGW.}
+ \def\ggwarrow{\overset{\GT{teq}}{\leftrightarrow}}
+ \begin{equation}
+ \label{eq:\fqname}
+ A \ggwarrow C \quad\wedge\quad B \ggwarrow C \quad\Rightarrow\quad A \ggwarrow B
+ \end{equation}
+
+ \Subsection[
+ \eng{First law}
+ \ger{Erster Hauptsatz}
+ ]{law1}
+ \begin{ttext}
+ \eng{In a process without transfer of matter, the change in internal energy, $\Delta U$, of a thermodynamic system is equal to the energy gained as heat, $Q$, less the thermodynamic work, W, done by the system on its surroundings.}
+ \ger{In einem abgeschlossenem System ist die Änderung der inneren Energie $U$ gleich der gewonnenen Wärme $Q$ minus der vom System an der Umgebung verrichteten Arbeit $W$.}
+ \end{ttext}
+
+ \begin{formula}{internal_energy}
+ \desc{Internal energy change}{}{}
+ \desc[german]{Änderung der inneren Energie}{}{}
+ \eq{
+ \Delta U &= \delta Q - \delta W \\
+ \d U &= T \d S - p \d V
+ }
+ \end{formula}
+
+
+ \Subsection[
+ \eng{Second law}
+ \ger{Zweiter Hauptsatz}
+ ]{law2}
+ \begin{ttext}
+ \eng{
+ \textbf{Clausius}: Heat can never pass from a colder to a warmer body without some other change, connected therewith, occurring at the same time.\\
+ \textbf{Kelvin}: It is impossible for a self-acting machine, unaided by any external agency, to convey heat from one body to another at a higher temperature.
+ }
+ \ger{
+ \textbf{Clausius}: Es gibt keine Zustansänderung, deren einziges Ergebnis die Übertragung von Wärme von einem Körper niederer Temperatur auf einen Körper höherer Temperatur ist.\\
+ \textbf{Kelvin}: Es ist unmöglich, eine periodisch arbeitende Maschine zu konstruieren, die weiter nichts bewirkt als Hebung einer Last und Abkühlung eines Wärmereservoirs.
+ }
+ \end{ttext}
+ \Subsection[
+ \eng{Third law}
+ \ger{Dritter Hauptsatz}
+ ]{law3}
+ \begin{ttext}
+ \eng{It is impussible to cool a system to absolute zero.}
+ \ger{Es ist unmöglich, ein System bis zum absoluten Nullpunkt abzukühlen.}
+ \end{ttext}
+
+ \begin{formula}{3d_law}
+ \desc{Entropy density}{}{$s = \frac{S}{N}$}
+ \desc[german]{Entropiedichte}{}{$s = \frac{S}{N}$}
+ \eq{
+ \lim_{T\to 0} s(T) &= 0 \\
+ \shortintertext{\GT{and_therefore_also}} \\
+ \lim_{T\to 0} c_V &= 0
+ }
+ \end{formula}
+
+\Section[
+ \eng{Ensembles}
+ \ger{Ensembles}
+ ]{ensembles}
+
+
+
+ \begin{table}[H]
+ \centering
+ \caption{caption}
+ \label{tab:\fqname}
+
+ \begin{tabular}{l|c|c|c}
+ & \gt{mk} & \gt{k} & \gt{gk} \\ \hline
+ \GT{variables} & $E$, $V,$ $N$ & $T$, $V$, $N$ & $T$, $V$, $\mu$ \\ \hline
+ \GT{partition_sum} & $\Omega = \sum_n 1$ & $Z = \sum_n \e^{-\beta E_n}$ & $Z_\text{g} = \sum_{n} \e^{-\beta(E_n - \mu N_n)}$ \\ \hline
+ \GT{probability} & $p_n = \frac{1}{\Omega}$ & $p_n = \frac{\e^{-\beta E_n}}{Z}$ & $p_n = \frac{\e^{-\beta (E_n - \mu N_n}}{Z_\text{g}}$ \\ \hline
+ \GT{td_pot} & $S = \kB\ln\Omega$ & $F = - \kB T \ln Z$ & $ \Phi = - \kB T \ln Z$ \\ \hline
+ \GT{pressure} & $p = T \pdv{S}{V}_{E,N}$ &$p = -\pdv{F}{V}_{T,N}$ & $p = -\pdv{\Phi}{V}_{T,\mu} = -\frac{\Phi}{V}$ \\ \hline
+ \GT{entropy} & $S = \kB = \ln\Omega$ & $S = -\pdv{F}{T}_{V,N}$ & $S = -\pdv{\Phi}{T}_{V,\mu}$ \\ \hline
+ \end{tabular}
+ \end{table}
+
+ \begin{formula}{ergodic_hypo}
+ \desc{Ergodic hypothesis}{Over a long periode of time, all accessible microstates in the phase space are equiprobable}{$A$ Observable}
+ \desc[german]{Ergodenhypothese}{Innerhalb einer langen Zeitspanne sind alle energetisch erreichbaren Mikrozustände im Phasenraum gleich wahrscheinlich}{$A$ Messgröße}
+ \eq{\braket{A}_\text{\GT{time}} = \braket{A}_\text{\GT{ensemble}}}
+ \end{formula}
+
+
+ \Subsection[
+ \eng{Potentials}
+ \ger{Potentiale}
+ ]{pots}
+ \begin{formula}{internal_energy}
+ \desc{Internal energy}{}{}
+ \desc[german]{Innere Energie}{}{}
+ \eq{\d U(S,V,N) = T\d S -p\d V + \mu\d N}
+ \end{formula}
+ \begin{formula}{enthalpy}
+ \desc{Enthalpy}{}{}
+ \desc[german]{Enthalpie}{}{}
+ \eq{\d H(S,p,N) = T\d S +V\d p + \mu\d N}
+ \end{formula}
+ \begin{formula}{gibbs_energy}
+ \desc{Gibbs energy}{}{}
+ \desc[german]{Gibbsche Energie}{}{}
+ \eq{\d G(T,p,N) = -S\d T + V\d p + \mu\d N}
+ \end{formula}
+ \begin{formula}{free_energy}
+ \desc{Free energy / Helmholtz energy }{}{}
+ \desc[german]{Freie Energie / Helmholtz Energie}{}{}
+ \eq{\d F(T,V,N) = -S\d T -p\d V + \mu\d N}
+ \end{formula}
+ \begin{formula}{grand_canon_pot}
+ \desc{Grand canonical potential}{}{}
+ \desc[german]{Großkanonisches Potential}{}{}
+ \eq{\d \Phi(T,V,\mu) = -S\d T -p\d V - N\d\mu}
+ \end{formula}
+
+ \TODO{Maxwell Relationen, TD Quadrat}
+
+\Section[
+ \eng{Ideal gas}
+ \ger{Ideales Gas}
+ ]{id_gas}
+ \begin{ttext}
+ \eng{The ideal gas consists of non-interacting, undifferentiable particles.}
+ \ger{Das ideale Gas besteht aus nicht-wechselwirkenden, ununterscheidbaren Teilchen.}
+ \end{ttext}
+
+ \begin{formula}{phase_space_vol}
+ \desc{Phase space volume}{$3N$ sphere}{$N$ \#particles, $h^{3N}$ volume of a microstate, $N!$ particles are undifferentiable}
+ \desc[german]{}{$3N$ Kugel}{$N$ \#Teilchen, $h^{3N}$ Volumen eines Mikrozustandes, $N!$ Teilchen sind ununterscheidbar}
+ \eq{
+ \Omega(E) &= \int_V\d^3q_1 \sdots \int_V\d^3q_N \int \d^3p_1 \sdots \int\d^3p_N \frac{1}{N!\,h^{3N}} \Theta\left(E - \sum_{i} \frac{\vec{p_i}^2}{2m}\right) \\
+ &= \left(\frac{V}{N}\right)^N \left(\frac{4\pi m E}{3 h^2 N}\right)^{\frac{3N}{2}} \e^\frac{5N}{2}
+ }
+ \end{formula}
+ \begin{formula}{entropy}
+ \desc{Entropy}{}{}
+ \desc[german]{Entropie}{}{}
+ \eq{
+ S = \frac{5}{2} N\kB + N\kB\ln\left(\frac{V}{N}\left(\frac{2\pi m E}{3 h^2 N}\right)^{\frac{3}{2}}\right)
+ }
+ \end{formula}
+
+ \begin{formula}{id_gas_eq}
+ \desc{Ideal gas equation}{}{}
+ \desc[german]{Ideale Gasgleichung}{Thermische Zustandsgleichung idealer Gase}{}
+ \eq{pV &= nRT \\ &= N\kB T}
+ \end{formula}
+
+ \begin{formula}{equation_of_state}
+ \desc{Equation of state}{}{}
+ \desc[german]{Kalorische Zustangsgleichung}{}{}
+ \eq{U = \frac{3}{2} N\kB T}
+ \end{formula}
+
+ % \Subsubsection[
+ % \eng{Equipartitiontheorem}
+ % \ger{Äquipartitionstheorem}
+ % ]{equipart}
+ \begin{formula}{equipart}
+ \desc{Equipartitiontheorem}{Each degree of freedom contributes $U_\text{D}$ (for classical particle systems)}{}
+ \desc[german]{Äquipartitionstheorem}{Jedem Freiheitsgrad steht die Energie $U_\text{D}$ zur Verfügung}{}
+ \eq{U_\text{D} = \frac{1}{2} \kB T}
+ \end{formula}
+
+
+ \begin{formula}{maxwell_velocity}
+ \desc{Maxwell velocity distribution}{See also \ref{sec:pt:distributions::maxwell-boltzmann}}{}
+ \desc[german]{Maxwellsche Geschwindigkeitsverteilung}{Siehe auch \ref{sec:pt:distributions::maxwell-boltzmann}}{}
+ \eq{w(v) \d v = 4\pi \left(\frac{\beta m}{2\pi}\right)^\frac{3}{2} v^2 \e^{-\frac{\beta m v^2}{2}} \d v}
+ \end{formula}
+
+ \begin{formula}{avg_velocity}
+ \desc{Average quadratic velocity}{per particle in a 3D gas}{}
+ \desc[german]{Mittlere quadratosche Geschwindigkeit}{pro Teilchen im 3D-Gas}{}
+ \eq{\braket{v^2} = \int_0^\infty \d v\,v^2 w(v) = \frac{3\kB T}{m}}
+ \end{formula}
+
+ \Subsubsection[
+ \eng{Molecule gas}
+ \ger{Molekülgas}
+ ]{molecule_gas}
+
+ \begin{formula}{desc}
+ \desc{Molecule gas}{2 particles of mass $M$ connected by a ``spring'' with distance $L$}{}
+ \desc[german]{Molekülgas}{2 Teilchen der Masse $M$ sind verbunden durch eine ``Feder'' mit Länge $L$}{}
+ \content{
+ % \begin{figure}[h]
+ \centering
+ \tikzstyle{spring}=[thick,decorate,decoration={coil,aspect=0.8,amplitude=5,pre length=0.1cm,post length=0.1cm,segment length=10}]
+ \begin{tikzpicture}
+ \def\radius{0.5}
+ \coordinate (left) at (-3, 0);
+ \coordinate (right) at (3, 0);
+ \draw (left) circle (\radius);
+ \draw[spring] ($(left) + (\radius,0)$) -- ($(right) - (\radius,0)$);
+ \draw (right) circle (\radius);
+ \end{tikzpicture}
+ % \end{figure}
+ }
+ \end{formula}
+
+ \begin{formula}{translation}
+ \desc{Translation}{}{$n_i \in \N_0$, $i=x,\,y,\,z$}
+ \desc[german]{Translation}{}{$n_i \in \N_0$, $i=x,\,y,\,z$}
+ \eq{p_i &= \frac{2\pi\hbar}{L}n_i \\
+ E_\text{kin} &= \frac{\vec{p}_r^2}{2M}
+ }
+ \end{formula}
+ \begin{formula}{vibration}
+ \desc{Vibration}{}{$n \in \N_0$}
+ \desc[german]{Schwingungen}{}{$n \in \N_0$}
+ \eq{E_\text{vib} = \hbar \omega \left(n+\frac{1}{2}\right)}
+ \end{formula}
+ \begin{formula}{rotation}
+ \desc{Rotation}{}{$j\in \N_0$}
+ \desc[german]{Rotation}{}{$j\in \N_0$}
+ \eq{E_\text{rot} = \frac{\hbar^2}{2I}j(j+1)}
+ \end{formula}
+ \TODO{Diagram für verschiedene Temperaturen, Weiler Skript p.83}
+
+
+\Section[
+ \eng{Real gas}
+ \ger{Reales Gas}
+ ]{real_gas}
+
+ \Subsection[
+ \eng{Virial expansion}
+ \ger{Virialentwicklung}
+ ]{virial}
+ \begin{ttext}
+ \eng{Expansion of the pressure $p$ in a power series of the density $\rho$.}
+ \ger{Entwicklung desw Drucks $p$ in eine Potenzreihe der Dichte $\rho$.}
+ \end{ttext}
+
+ \begin{formula}{series}
+ \desc{Virial expansion}{The 2\ts{nd} and 3\ts{d} virial coefficient are tabelated for many substances}{$B$ and $C$ 2\ts{nd} and 3\ts{d} virial coefficient, $\rho = \frac{N}{V}$}
+ \desc[german]{Virialentwicklung}{Der zweite und dritte Virialkoeffizient ist für viele Substanzen tabelliert}{$B$ und $C$ 2. und 3. Virialkoeffizient, $\rho = \frac{N}{V}$}
+ \eq{p = \kB T \rho\,[1 + B(T) \rho + C(T) \rho^2 + \dots]}
+ \end{formula}
+
+ \begin{formula}{mayer_function}
+ \desc{Mayer function}{}{$V(i,j)$ pair potential}
+ \desc[german]{Mayer-Funktion}{}{$V(i,j)$ Paarpotential}
+ \eq{f(\vec{r}) = \e^{-\beta V(i,j)} - 1}
+ \end{formula}
+
+ \begin{formula}{second_coefficient}
+ \desc{Second virial coefficient}{Depends on pair potential between two molecules}{}
+ \desc[german]{Zweiter Virialkoeffizient}{Hängt vom Paarpotential zweier Moleküle ab}{}
+ \eq{B = -\frac{1}{2} \int_V \d^3 \vec{r} f(\vec{r})}
+ % b - \frac{a}{\kB T}}
+ \end{formula}
+
+ \begin{formula}{lennard_jones}
+ \desc{Lennard-Jones potential}{Potential between two molecules. Attractive for $r > \sigma$, repulsive for $r < \sigma$}{}
+ \desc[german]{Lennard-Jones-Potential}{Potential zwischen zwei Molekülen. Attraktiv für $r > \sigma$, repulsiv für $r < \sigma$}{}
+ \figeq{img/potential_lennard_jones.pdf}{V(r) = 4\epsilon \left[\left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^{6}\right]}
+ \end{formula}
+
+ \Subsection[
+ \eng{Van der Waals equation}
+ \ger{Van der Waals Gleichung}
+ ]{vdw}
+ \begin{ttext}
+ \eng{Assumes a hard-core potential with a weak attraction.}
+ \ger{Annahme eines Harte-Kugeln Potentials mit einer schwachen Anziehung}
+ \end{ttext}
+ \begin{formula}{partition_sum}
+ \desc{Partition sum}{}{$a$ internal pressure}
+ \desc[german]{Zustandssumme}{}{$a$ Kohäsionsdruck}
+ \eq{Z_N = \frac{(V-V_0)^N}{\lambda^{3N}N!} \e^{\frac{\beta N^2 a}{V}}}
+ \end{formula}
+ \begin{formula}{equation}
+ \desc{Van der Waals equation}{}{$b$ co-volume?}
+ \desc[german]{Van der Waals-Gleichung}{}{$b$ Kovolumen}
+ \eq{p = \frac{N \kB T}{V-b} - \frac{N^2 a}{V^2}}
+ \end{formula}
+ \TODO{sometimes N is included in a, b}
+
+
+\Section[
+ \eng{Ideal quantum gas}
+ \ger{Ideales Quantengas}
+ ]{id_qgas}
+ \def\bosfer{$\pm$: {$\text{bos} \atop \text{fer}$}}
+
+ \begin{formula}{fugacity}
+ \desc{Fugacity}{}{}
+ \desc[german]{Fugazität}{}{}
+ \eq{z = \e^{\mu\beta} = \e^\frac{\mu}{\kB T}}
+ \end{formula}
+
+ \begin{formula}{occupation}
+ \desc{Occupation number}{}{$r$ states}
+ \desc[german]{Besetzungszahl}{}{$r$ Zustände}
+ \eq{\sum_{r} n_r = N}
+ \end{formula}
+ \begin{formula}{undiff_particles}
+ \desc{Undifferentiable particles}{}{$p_i$ state}
+ \desc[german]{Ununterscheidbare Teilchen}{}{$p_i$ Zustand}
+ \eq{\ket{p_1,p_2,\dots,p_N} = \ket{p_1}\ket{p_2}\dots \ket{p_N}}
+ \end{formula}
+ \begin{formula}{parity}
+ \desc{Applying the parity operator}{yields a \textit{symmetric} (Bosons) and a \textit{antisymmetic} (Fermions) solution}{$\hat{P}_{12}$ parity operator swaps $1$ and $2$, \bosfer}
+ \desc[german]{Anwenden des Paritätsoperators}{gibt eine \textit{symmetrische} (Bosonen) und eine \textit{antisymmetrische} (Fermionen) Lösung}{$\hat{O}_{12}$ Paritätsoperator tauscht $1$ und $2$, \bosfer}
+ \eq{\hat{P}_{12} \psi(p_i(\vec{r}_1),\,p_j(\vec{r}_2)) = \pm \psi(p_i(\vec{r}_1),\,p_j(\vec{r}_2))}
+ \end{formula}
+
+ \begin{formula}{spin_degeneracy_factor}
+ \desc{Spin degeneracy factor}{}{$s$ spin}
+ \desc[german]{Spinentartungsfaktor}{}{$s$ Spin}
+ \eq{g_s = 2s+1}
+ \end{formula}
+ \begin{formula}{dos}
+ \desc{Density of states}{}{$g_s$ \fqEqRef{td:id_qgas:spin_degeneracy_factor}}
+ \desc[german]{Zustandsdichte}{}{$g_s$ \fqEqRef{td:id_qgas:spin_degeneracy_factor}}
+ \eq{g(\epsilon) = g_s \frac{V}{4\pi} \left(\frac{2m}{\hbar^2}\right)^\frac{3}{2} \sqrt{\epsilon}}
+ \end{formula}
+
+ \begin{formula}{occupation_number_per_e}
+ \desc{Occupation number per energy}{}{\fqEqRef{td:id_qgas:dos}, \bosfer}
+ \desc[german]{Besetzungszahl pro Energie}{}{\fqEqRef{td:id_qgas:dos}, \bosfer}
+ \eq{n(\epsilon)\, \d\epsilon &= \frac{g(\epsilon)}{\e^{\beta(\epsilon - \mu)} \mp 1}\,\d\epsilon}
+ \end{formula}
+
+ \begin{formula}{occupation_number}
+ \desc{Occupation number}{}{\bosfer}
+ \desc[german]{Besetzungszahl}{}{\bosfer}
+ \figeq{img/td_id_qgas_distributions.pdf}{%
+ \braket{n(\epsilon)} &= \frac{1}{\e^{\beta(\epsilon - \mu)} \mp 1} \\
+ \shortintertext{\GT{for} $\epsilon - \mu \gg \kB T$}
+ &= \frac{1}{\e^{\beta(\epsilon - \mu)}}
+ }
+
+ \end{formula}
+
+
+ \begin{formula}{particle_number}
+ \desc{Number of particles}{}{}
+ \desc[german]{Teilchenzahl}{}{}
+ \eq{\braket{N} = \int_0^\infty n(\epsilon) \d\epsilon}
+ \end{formula}
+
+ \begin{formula}{energy}
+ \desc{Energy}{Equal to the classical ideal gas}{}
+ \desc[german]{Energie}{Gleich wie beim klassischen idealen Gas}{}
+ \eq{\braket{E} = \int_0^\infty \epsilon n(\epsilon)\,\d\epsilon = \frac{3}{2} pV}
+ \end{formula}
+
+
+ \begin{formula}{equation_of_state}
+ \desc{Equation of state}{Bosons: decreased pressure, they like to cluster\\Fermions: increased pressure because of the Pauli principle}{\bosfer, $v = \frac{V}{N}$ specific volume}
+ \desc[german]{Zustandsgleichung}{Bosonen: verringerter Druck da sie clustern\\Fermionen: erhöhter Druck durch das Pauli-Prinzip}{\bosfer, $v = \frac{V}{N}$ spezifisches Volumen}
+ \eq{
+ pV &= \kB T \ln Z_g \\
+ \shortintertext{\GT{after} \GT{td:real_gas:virial}}
+ &= N \kB T \left[1 \mp \frac{\lambda^3}{2^{5/2} g v} + \Order\left(\left(\frac{\lambda^3}{v}\right)^2\right)\right]
+ }
+ \end{formula}
+ \begin{formula}{relevance}
+ \desc{Relevance of qm. corrections}{Corrections become relevant when the particle distance is in the order of the thermal wavelength}{}
+ \desc[german]{Relevanz der qm. Korrekturen}{Korrekturen werden relevant, wenn der Teilchenabstand in der Größenordnung der thermischen Wellenlänge ist}{}
+ \eq{\left(\frac{V}{N}\right)^\frac{1}{3} \sim \frac{\lambda}{g_s^\frac{1}{3}}}
+ \end{formula}
+
+ \begin{formula}{generalized_zeta}
+ \desc{Generalized zeta function}{}{}
+ \desc[german]{Verallgemeinerte Zeta-Funktion}{}{}
+ \eq{\left \begin{array}{l}g_\nu(z)\\f_\nu(z)\end{array}\right\} \coloneq \frac{1}{\Gamma(\nu)} \int_0^\infty \d x\, \frac{x^{\nu-1}}{\e^x z^{-1} \mp 1}}
+ \end{formula}
+
+ \Subsection[
+ \eng{Bosons}
+ \ger{Bosonen}
+ ]{bos}
+ \begin{formula}{partition_sum}
+ \desc{Partition sum}{}{$p \in\N_0$}
+ \desc[german]{Zustandssumme}{}{$p \in\N_0$}
+ \eq{Z_\text{g} = \prod_{p} \frac{1}{1-\e^{-\beta(\epsilon_p - \mu)}}}
+ \end{formula}
+ \begin{formula}{occupation}
+ \desc{Occupation number}{Bose-Einstein distribution}{}
+ \desc[german]{Besetzungszahl}{Bose-Einstein Verteilung}{}
+ \eq{\braket{n_p} = \frac{1}{\e^{\beta(\epsilon-\mu)}-1}}
+ \end{formula}
+
+
+ \Subsection[
+ \eng{Fermions}
+ \ger{Fermionen}
+ ]{fer}
+ \begin{formula}{partition_sum}
+ \desc{Partition sum}{}{$p = 0,\,1$}
+ \desc[german]{Zustandssumme}{}{$p = 0,\,1$}
+ \eq{Z_\text{g} = \prod_{p} \left(1+\e^{-\beta(\epsilon_p - \mu)\right)}}
+ \end{formula}
+ \begin{formula}{occupation}
+ \desc{Occupation number}{Fermi-Dirac distribution. At $T=0$ \textit{Fermi edge} at $\epsilon=\mu$}{}
+ \desc[german]{Besetzungszahl}{Fermi-Dirac Verteilung}{Bei $T=0$ \textit{Fermi-Kante} bei $\epsilon=\mu$}
+ \figeq{img/td_fermi_occupation.pdf}{\braket{n_p} = \frac{1}{\e^{\beta(\epsilon-\mu)}+1}}
+ \end{formula}
+
+ \begin{formula}{slater_determinant}
+ \desc{Slater determinant}{}{}
+ \desc[german]{Slater-Determinante}{}{}
+ \eq{
+ \psi(\vecr_1,\vecr_2,\dots,\vecr_N) = \frac{1}{\sqrt{N!}}
+ \begin{vmatrix}
+ p_1(\vecr_1) & p_2(\vecr_1) & \dots & p_N(\vecr_1) \\
+ p_1(\vecr_2) & p_2(\vecr_2) & \dots & p_N(\vecr_2) \\
+ \vdots & \vdots & \ddots & \vdots \\
+ p_1(\vecr_N) & p_2(\vecr_N) & \dots & p_N(\vecr_N) \\
+ \end{vmatrix}
+ }
+ \end{formula}
+
+ \begin{formula}{fermi_energy}
+ \desc{Fermi energy}{}{}
+ \desc[german]{Fermienergie}{}{}
+ \eq{\epsilon_\text{F} \coloneq \mu(T = 0)}
+ \end{formula}
+ \begin{formula}{fermi_temperature}
+ \desc{Fermi temperature}{}{}
+ \desc[german]{Fermi Temperatur}{}{}
+ \eq{T_\text{F} \coloneq \frac{\epsilon_\text{F}}{\kB}}
+ \end{formula}
+
+ \begin{formula}{fermi_impulse}
+ \desc{Fermi impulse}{Radius of the \textit{Fermi sphere} in impulse space. States with $p_\text{F}$ are in the \textit{Fermi surface}}{}
+ \desc[german]{Fermi-Impuls}{Radius der \textit{Fermi-Kugel} im Impulsraum. Zustände mit $P_\text{F}$ sind auf der \textit{Fermi-Fläche}}{}
+ \eq{p_\text{F} = \hbar k_\text{F} = (2mE_\text{F})^\frac{1}{2}}
+ \end{formula}
+
+ \begin{formula}{specific_density}
+ \desc{Specific density}{}{$f$ \fqEqRef{td:id_qgas:generalized_zeta}, $g$ degeneracy factor, $z$ \fqEqRef{td:id_qgas:fugacity}}
+ \desc[german]{Spezifische Dichte}{}{$f$ \fqEqRef{td:id_qgas:generalized_zeta}, $g$ Entartungsfaktor, $z$ \fqEqRef{td:id_qgas:fugacity}}
+ \eq{v = \frac{N}{V} = \frac{g}{\lambda^3}f_{3/2}(z)}
+ \end{formula}
+
+ \Subsubsection[
+ \eng{Strong degeneracy}
+ \ger{Starke Entartung}
+ ]{degenerate}
+ \eng[low_temps]{for low temperatures $T \ll T_\text{F}$}
+ \ger[low_temps]{für geringe Temperaturen $T\ll T_\text{F}$}
+
+ \begin{formula}{sommerfeld}
+ \desc{Sommerfeld expansion}{\gt{low_temps}}{}
+ \desc[german]{Sommerfeld-Entwicklung}{\gt{low_temps}}{}
+ \eq{f_\nu(z) = \frac{(\ln z)^\nu}{\Gamma(\nu+1)} \left(1+\frac{\pi^6}{6}\frac{\nu(\nu-1)}{(\ln z)^2} + \dots\right)}
+ \end{formula}
+
+ \begin{formula}{energy_density}
+ \desc{Energy density}{}{}
+ \desc[german]{Energiedichte}{}{}
+ \eq{
+ \frac{E}{V} &= \frac{3}{2}\frac{g}{\lambda^3} \kB T f_{5/2}(z) \\
+ \shortintertext{\GT{td:id_qgas:fer:degenerate:sommerfeld}}
+ &\approx \frac{3}{5} \frac{N}{V} E_\text{F} \left(1+\frac{5\pi^2}{12}\left(\frac{\kB T}{E_\text{F}}\right)^2 \right)
+ }
+ \end{formula}
+
+ \begin{formula}{heat_cap}
+ \desc{Heat capacity}{\gt{low_temps}}{differs from \fqEqRef{td:TODO:petit_dulong}}
+ \desc[german]{Wärmecapacity}{\gt{low_temps}}{weicht ab vom \fqEqRef{td:TODO:petit_dulong}}
+ \figeq{img/td_fermi_heat_capacity.pdf}{C_V = \pdv{E}{T}_V = N\kB \frac{\pi}{2} \left(\frac{T}{T_\text{F}}\right)}
+ \end{formula}
+
+
+ \TODO{Entartung und Sommerfeld}
+ \TODO{DULONG-PETIT Gesetz}
+
diff --git a/src/svgs/bravais/aP.svg b/src/svgs/bravais/aP.svg
new file mode 100644
index 0000000..a64a12c
--- /dev/null
+++ b/src/svgs/bravais/aP.svg
@@ -0,0 +1,118 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/cF.svg b/src/svgs/bravais/cF.svg
new file mode 100644
index 0000000..f12d89b
--- /dev/null
+++ b/src/svgs/bravais/cF.svg
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/cI.svg b/src/svgs/bravais/cI.svg
new file mode 100644
index 0000000..02cda80
--- /dev/null
+++ b/src/svgs/bravais/cI.svg
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/cP.svg b/src/svgs/bravais/cP.svg
new file mode 100644
index 0000000..7e7be45
--- /dev/null
+++ b/src/svgs/bravais/cP.svg
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/svgs/bravais/fix.sh b/src/svgs/bravais/fix.sh
new file mode 100644
index 0000000..efa8f32
--- /dev/null
+++ b/src/svgs/bravais/fix.sh
@@ -0,0 +1,6 @@
+mkdir -p out
+for file in bravais/*; do
+ link=https:$(grep "Original file" "$file" | grep -Po '(?<=href=")[^"]+')
+ wget "$link" -O "$file"
+ sleep 1
+done
diff --git a/src/svgs/bravais/hP.svg b/src/svgs/bravais/hP.svg
new file mode 100644
index 0000000..8065fba
--- /dev/null
+++ b/src/svgs/bravais/hP.svg
@@ -0,0 +1,344 @@
+
+
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2
+ 1
+
+ 0
+
+
+
diff --git a/src/svgs/bravais/hR.svg b/src/svgs/bravais/hR.svg
new file mode 100644
index 0000000..5f6b43e
--- /dev/null
+++ b/src/svgs/bravais/hR.svg
@@ -0,0 +1,181 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/hp.svg b/src/svgs/bravais/hp.svg
new file mode 100644
index 0000000..a97f9e5
--- /dev/null
+++ b/src/svgs/bravais/hp.svg
@@ -0,0 +1,635 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 120°
+ a
+
+ a
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/mP.svg b/src/svgs/bravais/mP.svg
new file mode 100644
index 0000000..392642d
--- /dev/null
+++ b/src/svgs/bravais/mP.svg
@@ -0,0 +1,110 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/mS.svg b/src/svgs/bravais/mS.svg
new file mode 100644
index 0000000..9f9d5b0
--- /dev/null
+++ b/src/svgs/bravais/mS.svg
@@ -0,0 +1,134 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/mp.svg b/src/svgs/bravais/mp.svg
new file mode 100644
index 0000000..ad10b44
--- /dev/null
+++ b/src/svgs/bravais/mp.svg
@@ -0,0 +1,614 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ θ
+ a
+ b
+
+
+
+
+
+
diff --git a/src/svgs/bravais/oF.svg b/src/svgs/bravais/oF.svg
new file mode 100644
index 0000000..9b091a7
--- /dev/null
+++ b/src/svgs/bravais/oF.svg
@@ -0,0 +1,162 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/oI.svg b/src/svgs/bravais/oI.svg
new file mode 100644
index 0000000..71f9549
--- /dev/null
+++ b/src/svgs/bravais/oI.svg
@@ -0,0 +1,110 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/oP.svg b/src/svgs/bravais/oP.svg
new file mode 100644
index 0000000..51078c1
--- /dev/null
+++ b/src/svgs/bravais/oP.svg
@@ -0,0 +1,90 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/oS.svg b/src/svgs/bravais/oS.svg
new file mode 100644
index 0000000..624dc53
--- /dev/null
+++ b/src/svgs/bravais/oS.svg
@@ -0,0 +1,114 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/oc.svg b/src/svgs/bravais/oc.svg
new file mode 100644
index 0000000..2e05c4c
--- /dev/null
+++ b/src/svgs/bravais/oc.svg
@@ -0,0 +1,609 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ b
+
+ a
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/op.svg b/src/svgs/bravais/op.svg
new file mode 100644
index 0000000..11ef0b2
--- /dev/null
+++ b/src/svgs/bravais/op.svg
@@ -0,0 +1,602 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ b
+
+ a
+
+
+
+
+
+
diff --git a/src/svgs/bravais/tI.svg b/src/svgs/bravais/tI.svg
new file mode 100644
index 0000000..6873dba
--- /dev/null
+++ b/src/svgs/bravais/tI.svg
@@ -0,0 +1,110 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/tP.svg b/src/svgs/bravais/tP.svg
new file mode 100644
index 0000000..7385d2d
--- /dev/null
+++ b/src/svgs/bravais/tP.svg
@@ -0,0 +1,90 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/svgs/bravais/tp.svg b/src/svgs/bravais/tp.svg
new file mode 100644
index 0000000..aade05e
--- /dev/null
+++ b/src/svgs/bravais/tp.svg
@@ -0,0 +1,602 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a
+ a
+
+
+
+
+
+
+
diff --git a/src/svgs/convertToPdf.sh b/src/svgs/convertToPdf.sh
new file mode 100755
index 0000000..d5705ce
--- /dev/null
+++ b/src/svgs/convertToPdf.sh
@@ -0,0 +1,7 @@
+IFS=$'\n'
+for d in $(find . -type d); do
+ mkdir -p "../img/$d"
+done
+for file in $(find . -type f -name '*.svg'); do
+ inkscape -o "../img/${file%.*}.pdf" "$file"
+done
diff --git a/src/svgs/td_gay_lussac.svg b/src/svgs/td_gay_lussac.svg
new file mode 100644
index 0000000..fa563c3
--- /dev/null
+++ b/src/svgs/td_gay_lussac.svg
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/topo.tex b/src/topo.tex
index a8b1c4b..c11d900 100644
--- a/src/topo.tex
+++ b/src/topo.tex
@@ -1,3 +1,85 @@
\Part{Topo}
-\Section{berry_phase}
+\Section[
+ \eng{Berry phase / Geometric phase}
+ \ger{Berry-Phase / Geometrische Phase}
+ ]{berry_phase}
+ \begin{ttext}[desc]
+ \eng{
+ While adiabatically traversing a closed through the parameter space $R(t)$, the wave function of a systems
+ may pick up an additional phase $\gamma$.\\
+ If $\vec{R}(t)$ varies adiabatically (slowly) and the system is initially in eigenstate $\ket{n}$,
+ it will stay in an Eigenstate throughout the process (quantum adiabtic theorem).
+ }
+ \ger{
+ Beim adiabatischem Durchlauf eines geschlossenen Weges durch den Parameterraum $R(t)$ kann die Wellenfunktion eines Systems
+ eine zusätzliche Phase $\gamma$ erhalten.\\
+ Wenn $\vec{R}(t)$ adiabatisch (langsam) variiert und das System anfangs im Eigenzustand $\ket{n}$ ist,
+ bleibt das System während dem Prozess in einem Eigenzustand (Adiabatisches Theorem der Quantenmechanik).
+ }
+ \end{ttext}
+ \Eng[dynamic_phase]{Dynamical Phase}
+ \Eng[berry_phase]{Berry Phase}
+ \Ger[dynamic_phase]{Dynamische Phase}
+ \Ger[berry_phase]{Berry Phase}
+ \begin{formula}{schroedinger_equation}
+ \desc{Schrödinger equation}{}{}
+ \desc[german]{Schrödinger Gleichung}{}{}
+ \eq{H(\vec{R}(t)) \ket{n(\vec{R}(t))} = \epsilon(\vec{R}(t)) \ket{n(\vec{R}(t))}}
+ \end{formula}
+ \begin{formula}{wavefunction}
+ \desc{Wave function}{After full adiabtic loop in $\vec{R}$}{}
+ \desc[german]{Wellenfunktion}{Nach vollem adiabtischem Umlauf in $\vec{R}$}{}
+ \eq{\ket{\psi_n(t)} = \underbrace{\e^{i\gamma_n(t)}}_\text{\GT{berry_phase}}
+ \underbrace{\e^{\frac{-i}{\hbar} \int^r \epsilon_n(\vec{R}(t`))\d t}}_\text{\GT{dynamic_phase}} \ket{n(\vec{R}(t))}
+ }
+ \end{formula}
+
+ \begin{formula}{berry_connection}
+ \desc{Berry connection}{}{}
+ \desc[german]{Berry connection}{}{}
+ \eq{A_n(\vec{R}) = i\braket{\psi | \nabla_R | \psi}}
+ \end{formula}
+
+ \begin{formula}{berry_curve}
+ \desc{Berry curvature}{Gauge invariant}{}
+ \desc[german]{Berry-Krümmung}{Eichinvariant}{}
+ \eq{\vec{\Omega}_n = \Grad_R \times A_n(\vec{R})}
+ \end{formula}
+
+ \begin{formula}{berry_phase}
+ \desc{Berry phase}{Gauge invariant up to $2\pi$}{}
+ \desc[german]{Berry-Phase}{Eichinvariant bis auf $2\pi$}{}
+ \eq{\gamma_n = \oint_C \d \vec{R} \cdot A_n(\vec{R}) = \int_S \d\vec{S} \cdot \vec{\Omega}_n(\vec{R})}
+ \end{formula}
+
+ \begin{ttext}[chern_number_desc]
+ \eng{The Berry flux through any 2D closed surface is quantized by the \textbf{Chern number}.
+ If there is time-reversal symmetry, the Chern-number is 0.
+ }
+ \ger{Der Berry-Fluß durch eine geschlossene 2D Fl[cher is quantisiert durch die \textbf{Chernzahl}
+ Bei erhaltener Zeitumkehrungssymmetrie ist die Chernzahl 0.
+ }
+ \end{ttext}
+ \begin{formula}{chern_number}
+ \desc{Chern number}{Eg. number of Berry curvature monopoles in the Brillouin zone (then $\vec{R} = \vec{k}$)}{$\vec{S}$ closed surface in $\vec{R}$-space. A \textit{Chern insulator} is a 2D insulator with $C_n \neq 0$}
+ \desc[german]{Chernuzahl}{Z.B. Anzahl der Berry-Krümmungs-Monopole in der Brilouinzone (dann ist $\vec{R} = \vec{k}$). Ein \textit{Chern-Isolator} ist ein 2D Isolator mit $C_n\neq0$}{$\vec{S}$ geschlossene Fläche im $\vec{R}$-Raum}
+ \eq{C_n = \frac{1}{2\pi} \oint \d \vec{S}\ \cdot \vec{\Omega}_n(\vec{R})}
+ \end{formula}
+
+ \TODO{Hall conductance of 2D band insulator (lecture 4 revision)}
+ \begin{formula}{hall_conductance}
+ \desc{Hall conductance of a 2D band insulator}{}{}
+ \desc[german]{Hall-Leitfähigkeit eines 2D Band-Isolators}{}{}
+ \eq{\vec{\sigma}_{xy} = \sum_n \frac{e^2}{h} \int_\text{\GT{occupied}} \d^2k\, \frac{\Omega_{xy}^n}{2\pi} = \sum_n C_n \frac{e^2}{h}}
+ \end{formula}
+
+ \begin{ttext}
+ \eng{A 2D insulator with a non-zero }
+
+ \end{ttext}
+
+
+
+
+
diff --git a/src/translations.tex b/src/translations.tex
index 580a850..18f59bc 100644
--- a/src/translations.tex
+++ b/src/translations.tex
@@ -1,8 +1,27 @@
-\ENG[angle_deg]{Degree}
-\GER[angle_deg]{Grad}
+\Eng[angle_deg]{Degree}
+\Ger[angle_deg]{Grad}
-\ENG[angle_rad]{Radian}
-\GER[angle_rad]{Rad}
+\Eng[angle_rad]{Radian}
+\Ger[angle_rad]{Rad}
+
+\Eng[see_also]{See also}
+\Ger[see_also]{Siehe auch}
+
+\Eng[and_therefore]{and therefore}
+\Ger[and_therefore]{und damit}
+
+\Eng[and_therefore_also]{and therefore also}
+\Ger[and_therefore_also]{und damit auch}
+
+\Eng[time]{Time}
+\Ger[time]{Zeit}
+
+\Eng[ensemble]{Ensemble}
+\Ger[ensemble]{Ensemble}
+
+\Eng[even]{even}
+\Ger[even]{gerade}
+
+\Eng[odd]{odd}
+\Ger[odd]{ungerade}
-\ENG[see_also]{See also}
-\GER[see_also]{Siehe auch}