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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 129 × 149 pixels, file size: 16 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: Triclinic crystal structure.
Date +Original: 1 August 2005; Vector: 2 March 2007
Source +Own work based on: Triclinic.png by DrBob at English Wikipedia
Author +Vectorization: Stannered
SVG development
InfoField
 
The SVG code is valid.
 
This vector image was created with Inkscape.
+
+

Licensing

+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

2 March 2007

image/svg+xml

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + + + + +
Date/TimeThumbnailDimensionsUserComment
current09:32, 8 August 2016Thumbnail for version as of 09:32, 8 August 2016129 × 149 (16 KB)Officer781Remove 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 2016Thumbnail for version as of 11:39, 31 July 2016129 × 165 (26 KB)Officer781Labelled a, b and c.
19:53, 21 May 2012Thumbnail for version as of 19:53, 21 May 2012129 × 154 (26 KB)TretyakСorrection of an error
21:44, 2 March 2007Thumbnail for version as of 21:44, 2 March 2007129 × 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
+ +
+ + +

Global file usage

+

The following other wikis use this file: +

+

View more global usage of this file. +

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 109 × 127 pixels, file size: 19 KB) +

+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
Description +Face-centered cubic crystal structure
Date +
Source +Cubic, face-centered.png Lattice face centered cubic.svg
Author +Original PNGs by Daniel Mayer and DrBob, traced in Inkscape by User:Stannered
+
+
 
This vector image was created with Inkscape .
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +
+ + + +
GNU head +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. +

Captions

Astatine's crystal structure is thought to be cubic

Items portrayed in this file

depicts

2 March 2007

image/svg+xml

13d85480de70b83926dcc206a73c2fc4c1d577ff

19,160 byte

127 pixel

109 pixel

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + +
Date/TimeThumbnailDimensionsUserComment
current21:44, 2 March 2007Thumbnail for version as of 21:44, 2 March 2007109 × 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
+ +
+ +
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+

Global file usage

+

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 109 × 127 pixels, file size: 16 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: The body-centred cubic crystal structure.
+
Bahasa Indonesia: Struktur kristal kubus acuan badan.
+
Українська: Кубічна об'ємноцентрована структура кристалічної ґратки.
+
العربية: الهيكل البلوري لمكعب مركزي الجسم
Date +2 March 2007
Source +Crystal stucture
Author +
Vector:
Other versions +
SVG development
InfoField
 
The SVG code is valid.
 
This geometry was created with Inkscape.
+
+

Licensing

+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Cubic-body-centered

Items portrayed in this file

depicts

2 March 2007

image/svg+xml

6b7cdf8abb6821b2fa2a27d8c39026e507e17911

16,047 byte

127 pixel

109 pixel

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + +
Date/TimeThumbnailDimensionsUserComment
current21:44, 2 March 2007Thumbnail for version as of 21:44, 2 March 2007109 × 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
+ +
+ +
+
The following pages on the English Wikipedia use this file (pages on other projects are not listed):
+
+

Global file usage

+

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 109 × 127 pixels, file size: 14 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: Simple cubic crystal structure.
Date +2 March 2007
Source +Own work based on: Cubic crystal shape.png by Daniel Mayer at English Wikipedia
Author +Vectorization: Stannered
Other versions +
SVG development
InfoField
 
The SVG code is valid.
 
This diagram was created with Inkscape.
+
+

Licensing

+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

2 March 2007

image/svg+xml

3d519680fe695e002aed717d4940209951926218

14,800 byte

127 pixel

109 pixel

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + +
Date/TimeThumbnailDimensionsUserComment
current21:44, 2 March 2007Thumbnail for version as of 21:44, 2 March 2007109 × 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
+ +
+ + +

Global file usage

+

The following other wikis use this file: +

+

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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 160 × 206 pixels, file size: 26 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: Hexagonal lattice cell. View from the front
Date +
Source +Own work
Author +Bor75
+
+

Licensing

+
I, the copyright holder of this work, hereby publish it under the following license:
+
w:en:Creative Commons
+attribution share alike
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.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

22 January 2013

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

(newest | oldest) View (newer 10 | ) (10 | 20 | 50 | 100 | 250 | 500)
+ + + + + + + + + + + + +
Date/TimeThumbnailDimensionsUserComment
current01:09, 24 January 2013Thumbnail for version as of 01:09, 24 January 2013160 × 206 (26 KB)Bor75Reverted to version as of 20:11, 23 January 2013
00:19, 24 January 2013Thumbnail for version as of 00:19, 24 January 2013157 × 206 (28 KB)Bor75improved
23:31, 23 January 2013Thumbnail for version as of 23:31, 23 January 2013157 × 206 (28 KB)Bor75one more attempt to improve lines
23:31, 23 January 2013Thumbnail for version as of 23:31, 23 January 2013157 × 206 (28 KB)Bor75one more attempt to improve lines
20:42, 23 January 2013Thumbnail for version as of 20:42, 23 January 2013160 × 206 (26 KB)Bor75optimized SVG
20:40, 23 January 2013Thumbnail for version as of 20:40, 23 January 2013160 × 206 (26 KB)Bor75plain svg
20:39, 23 January 2013Thumbnail for version as of 20:39, 23 January 2013100 × 134 (17 KB)Bor75saved as plain svg
20:11, 23 January 2013Thumbnail for version as of 20:11, 23 January 2013160 × 206 (26 KB)Bor75Reverted to version as of 03:47, 23 January 2013
03:51, 23 January 2013Thumbnail for version as of 03:51, 23 January 2013160 × 205 (26 KB)Bor75Reverted to version as of 02:18, 23 January 2013
03:47, 23 January 2013Thumbnail for version as of 03:47, 23 January 2013160 × 206 (26 KB)Bor75grouped objects
+
(newest | oldest) View (newer 10 | ) (10 | 20 | 50 | 100 | 250 | 500)
+
+ +
+
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: +

+

View more global usage of this file. +

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 139 × 141 pixels, file size: 20 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: Rhombohedral crystal structure.
Date +27 February 2007
Source +Own work based on: Rhombohedral.png by Daniel Mayer at English Wikipedia
Author +Vectorization: Stannered
SVG development
InfoField
 
The SVG code is valid.
 
This structural formula was created with Inkscape.
+
+

Licensing

+
I, the copyright holder of this work, hereby publish it under the following license:
+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + + + + + +
Date/TimeThumbnailDimensionsUserComment
current07:20, 23 April 2019Thumbnail for version as of 07:20, 23 April 2019139 × 141 (20 KB)Officer781Removed inequality captions. Better to include those in the articles themselves.
11:36, 31 July 2016Thumbnail for version as of 11:36, 31 July 2016139 × 166 (26 KB)Officer781Simplified 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 2012Thumbnail for version as of 21:15, 21 January 2012139 × 166 (35 KB)TretyakCorrect error in γ angle
04:25, 30 August 2009Thumbnail for version as of 04:25, 30 August 2009139 × 166 (37 KB)R.e.b.Changed commas to equals signs
14:41, 27 February 2007Thumbnail for version as of 14:41, 27 February 2007139 × 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=
+ +
+ + +

Global file usage

+

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 114 × 143 pixels, file size: 13 KB) +

+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Description +Monoclinic crystal structure.
Date +
Source +Crystal stucture
Author +Original PNGs by Daniel Mayer, traced in Inkscape by User:Stannered
Permission
(Reusing this file)
+GNU Free Documentation License
+
+


+

+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

2 March 2007

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + + + + + + +
Date/TimeThumbnailDimensionsUserComment
current07:19, 23 April 2019Thumbnail for version as of 07:19, 23 April 2019114 × 143 (13 KB)Officer781Removed inequality captions. Better to include those in the articles themselves.
11:37, 31 July 2016Thumbnail for version as of 11:37, 31 July 2016114 × 178 (24 KB)Officer781Simplified 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 2012Thumbnail for version as of 20:56, 20 August 2012114 × 178 (31 KB)Karol007correcting α=γ=90°≠β
20:04, 21 May 2012Thumbnail for version as of 20:04, 21 May 2012114 × 178 (33 KB)TretyakCorrect of an error
14:31, 18 March 2007Thumbnail for version as of 14:31, 18 March 2007114 × 178 (32 KB)Stanneredcorrecting = and ≠
21:44, 2 March 2007Thumbnail for version as of 21:44, 2 March 2007114 × 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
+ +
+ + +

Global file usage

+

The following other wikis use this file: +

+

View more global usage of this file. +

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 114 × 143 pixels, file size: 15 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: Base-centred monoclinic crystal structure.
Date +2 March 2007
Source +Own work based on: Monoclinic-base-centered.png by DrBob at English Wikipedia
Author +Vectorization: Stannered
SVG development
InfoField
 
The SVG code is valid.
 
This structural formula was created with Inkscape.
+
+

Licensing

+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

2 March 2007

image/svg+xml

bb9c153e3baf36976a09721486517e90448fae1f

15,307 byte

143 pixel

114 pixel

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + + + + + + + + +
Date/TimeThumbnailDimensionsUserComment
current07:19, 23 April 2019Thumbnail for version as of 07:19, 23 April 2019114 × 143 (15 KB)Officer781Removed inequality captions. Better to include those in the articles themselves.
12:58, 19 April 2019Thumbnail for version as of 12:58, 19 April 2019114 × 178 (22 KB)Officer781Correcting constraints. This one does not have the a!=c constraint.
02:25, 1 August 2016Thumbnail for version as of 02:25, 1 August 2016114 × 178 (26 KB)Officer781Adjusted text to match the primitive monoclinic image.
11:38, 31 July 2016Thumbnail for version as of 11:38, 31 July 2016114 × 178 (26 KB)Officer781Simplified 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 2012Thumbnail for version as of 20:56, 20 August 2012114 × 178 (32 KB)Karol007correcting α=γ=90°≠β
20:07, 21 May 2012Thumbnail for version as of 20:07, 21 May 2012114 × 178 (34 KB)TretyakCorrect of an error
14:32, 18 March 2007Thumbnail for version as of 14:32, 18 March 2007114 × 178 (34 KB)Stanneredcorrecting = and ≠
21:44, 2 March 2007Thumbnail for version as of 21:44, 2 March 2007114 × 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
+ +
+ + +

Global file usage

+

The following other wikis use this file: +

+

View more global usage of this file. +

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 108 × 142 pixels, file size: 16 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: Face-centred orthorhombic crystal structure.
Date +2 March 2007
Source +Own work based on: Orthorhombic-face-centered.png by Rocha
Author +Vectorization: Stannered
SVG development
InfoField
 
The SVG code is valid.
 
This structural formula was created with Inkscape.
+
+

Licensing

+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

2 March 2007

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + + +
Date/TimeThumbnailDimensionsUserComment
current07:18, 23 April 2019Thumbnail for version as of 07:18, 23 April 2019108 × 142 (16 KB)Officer781Removed inequality captions. Better to include those in the articles themselves.
21:44, 2 March 2007Thumbnail for version as of 21:44, 2 March 2007108 × 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
+ +
+ + +

Global file usage

+

The following other wikis use this file: +

+

View more global usage of this file. +

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 108 × 142 pixels, file size: 12 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: Body-centred orthorhombic crystal structure.
Date +2 March 2007
Source +Own work based on: Orthorhombic-body-centered.png by DrBob at English Wikipedia
Author +Vectorization: Stannered
SVG development
InfoField
 
The SVG code is valid.
 
This structural formula was created with Inkscape.
+
+

Licensing

+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

2 March 2007

image/svg+xml

c2302e8b0439f3924263f2467ca4a85c364ca484

12,165 byte

142 pixel

108 pixel

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + + +
Date/TimeThumbnailDimensionsUserComment
current07:17, 23 April 2019Thumbnail for version as of 07:17, 23 April 2019108 × 142 (12 KB)Officer781Removed inequality captions. Better to include those in the articles themselves.
21:44, 2 March 2007Thumbnail for version as of 21:44, 2 March 2007108 × 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
+ +
+ + +

Global file usage

+

The following other wikis use this file: +

+

View more global usage of this file. +

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 108 × 142 pixels, file size: 11 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: Orthorhombic crystal structure.
Date +2 March 2007
Source +Own work based on: Orthorhombic.png by Daniel Mayer at English Wikipedia
Author +Vectorization: Stannered
SVG development
InfoField
 
The SVG code is valid.
 
This structural formula was created with Inkscape.
+
+

Licensing

+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Orthorhombic crystal structure.

Items portrayed in this file

depicts

2 March 2007

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + + +
Date/TimeThumbnailDimensionsUserComment
current07:16, 23 April 2019Thumbnail for version as of 07:16, 23 April 2019108 × 142 (11 KB)Officer781Removed inequality captions. Better to include those in the articles themselves.
21:44, 2 March 2007Thumbnail for version as of 21:44, 2 March 2007108 × 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
+ +
+ + +

Global file usage

+

The following other wikis use this file: +

+

View more global usage of this file. +

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 108 × 142 pixels, file size: 12 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: Base-centred orthorhombic crystal structure.
Date +2 March 2007
Source +Own work based on: Orthorhombic-base-centered.png by DrBob at English Wikipedia
Author +Vectorization: Stannered
SVG development
InfoField
 
The SVG code is valid.
 
This structural formula was created with Inkscape.
+
+

Licensing

+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

2 March 2007

image/svg+xml

bb09f8c9a0ed2be2a7623a1e7d267e3a996a9f3d

12,735 byte

142 pixel

108 pixel

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + + + +
Date/TimeThumbnailDimensionsUserComment
current07:17, 23 April 2019Thumbnail for version as of 07:17, 23 April 2019108 × 142 (12 KB)Officer781Removed inequality captions. Better to include those in the articles themselves.
13:02, 19 April 2019Thumbnail for version as of 13:02, 19 April 2019108 × 157 (18 KB)Officer781Actually 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 2007Thumbnail for version as of 21:44, 2 March 2007108 × 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
+ +
+ + +

Global file usage

+

The following other wikis use this file: +

+

View more global usage of this file. +

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 108 × 165 pixels, file size: 12 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: Body-centred tetragonal crystal structure.
Date +2 March 2007
Source +Own work based on: Tetragonal-body-centered.png by Rocha
Author +Vectorization: Stannered
SVG development
InfoField
 
The SVG code is valid.
 
This structural formula was created with Inkscape.
+
+

Licensing

+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

2 March 2007

image/svg+xml

cf2d027d0abc56683ac0d355c617e98b8fbb07c1

12,499 byte

165 pixel

108 pixel

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + + +
Date/TimeThumbnailDimensionsUserComment
current07:15, 23 April 2019Thumbnail for version as of 07:15, 23 April 2019108 × 165 (12 KB)Officer781Removed inequality captions. Better to include those in the articles themselves.
21:44, 2 March 2007Thumbnail for version as of 21:44, 2 March 2007108 × 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
+ +
+ + +

Global file usage

+

The following other wikis use this file: +

+

View more global usage of this file. +

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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

+ +
+ + +
+ +
+ Page contents not supported in other languages. +
+ +
+
+
+
+
+
+ +
+
+ + + +
+
+
+
+
+ + +
+
+
+
+
+
This is a file from the Wikimedia Commons
+
+ +
From Wikipedia, the free encyclopedia
+
+
+ + +
+

Original file(SVG file, nominally 108 × 165 pixels, file size: 11 KB) +

+
+ +
+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Description +
English: Tetragonal crystal structure.
Date +2 March 2007
Source +Own work based on: Tetragonal.png by Daniel Mayer at English Wikipedia
Author +Vectorization: Stannered
SVG development
InfoField
 
The SVG code is valid.
 
This structural formula was created with Inkscape.
+
+

Licensing

+ + + +
GNU head +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. +
+ + + + + + + + + + +
w:en:Creative Commons
attribution share alike +
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. +

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

2 March 2007

+ + + + +
+

File history

+
+

Click on a date/time to view the file as it appeared at that time. +

+ + + + +
Date/TimeThumbnailDimensionsUserComment
current07:15, 23 April 2019Thumbnail for version as of 07:15, 23 April 2019108 × 165 (11 KB)Officer781Removed inequality caption. Better to include those in the articles themselves.
21:44, 2 March 2007Thumbnail for version as of 21:44, 2 March 2007108 × 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
+ +
+ + +

Global file usage

+

The following other wikis use this file: +

+

View more global usage of this file. +

Metadata

+ +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ 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/0NyMvrZaEoYAoLgblzvT/PepMnz/VmAZB+0bGoDF21HUr+/qn52GLZghePP3kvmzLbDn8SRFEUpQ7C32pra5GcnIzi4mJMnDjR4zYPP/wwCgsLcfToUde6BQsW4ODBg9i1a5dP72OxWGAwGACYcWkjLghAWhpQVgbodL0tCfmb3Q4MHgycPu35edabPHmvNwsAA8xmM+LiOv8RJlfe2g4lf//UfGyxbGosmzLbDn9S5YVvs9kMAEhISPC6za5duzBlyhS3dVOnTsW+ffvQ1tbmcR+r1QqLxeK2eCOKQEUFUFLSiwJQwJSUeG/oANabXHVXb2qh5O+fmo8tlk2dZdM61SWAoigiPz8f119/PTIzM71uV11dDaPR6LbOaDSivb0ddXV1HvdZs2YNDAaDa0lPT+82nqqqnsVPgeVrfbDe5EVr9aHE8qr52GLZ1F02rVJdArhw4UJ89dVXePvtt7vd9tK77zquhnu7K2/58uUwm82upaKiotv3SEnxIWgKGl/rg/UmL1qrDyWWV83HFsum7rJplaoSwAcffBCFhYX49NNPkZaW1uW2JpMJ1dXVbutqamoQGhqK/v37e9xHr9cjLi7ObfFGEID0dCAnp+floMDJyXH2Z/E28gbrTZ66qze1UPL3T83HFsumzrJpnSoSQFEUsXDhQmzatAk7duxARkZGt/uMHz8e27dvd1u3bds2jBkzBmFhYX2Kp+PLtnat8jrNqp1OB7zwgvP/lzYKrDf56qre1ELp3z81H1ssm/rKRoAqxgH85S9/KRoMBrGoqEisqqpyLc3Nza5tHnnkEXHu3Lmux//73//EqKgoccmSJeKRI0fE1157TQwLCxPff/99n9/XbDaLAMTUVLPo7CrrXNLTRbGgwK9FJD8rKBDFtDSR9aYwnevNeQyazWapQ+uRjrbDGb+6vn9qPrZYNmXyVLYBA5TZdviTKoaB8dZnb8OGDZg/fz4AYP78+Th58iSKiopczxcXF2PJkiU4fPgwUlNT8fDDD2PBggU+v2/HUA7nzplx8GAcqqqcfQ5ycpT515LW2O3Ou8RYb8pycb3FxVkwfbryhnLoaDv+9S8zLJY41X3/1HxssWzKdGnZRo2yICFBeW2HP6kiAZRKRyOu5S8QkZSUegwqNW4iteAxqJI+gERERETkOyaARERERBrDBJCIiIhIY5gAEhEREWkME0AiIiIijWECSERERKQxTACJiIiINIYJIBEREZHGMAEkIiIi0hgmgEREREQawwSQiIiISGOYABIRERFpDBNAIiIiIo1hAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGCaAREQX+eyzzzBjxgykpqZCEAR88MEHbs+LooiVK1ciNTUVkZGRmDx5Mg4fPixNsEREvcQEkIjoIk1NTRg1ahTWrVvn8flnnnkGzz//PNatW4e9e/fCZDLhpptuwoULF4IcKRFR74VKHQARkZxMmzYN06ZN8/icKIpYu3YtHnvsMcycORMA8Ne//hVGoxFvvfUW7r///mCGSkTUazwDSETko7KyMlRXV2PKlCmudXq9HpMmTcLOnTsljIyIqGd4BpCIyEfV1dUAAKPR6LbeaDTi1KlTXvezWq2wWq2uxxaLJTABEhH5iGcAiYh6SBAEt8eiKHZad7E1a9bAYDC4lvT09ECHSETUJSaAREQ+MplMAL4/E9ihpqam01nBiy1fvhxms9m1VFRUBDROIqLuMAEkIvJRRkYGTCYTtm/f7lpns9lQXFyMCRMmeN1Pr9cjLi7ObSEikhL7AFKX7HagpASoqgJSUoCcHECnkzoq6g7rrfcaGxvxzTffuB6XlZWhtLQUCQkJGDhwIBYvXozVq1djyJAhGDJkCFavXo2oqCjMmTNHwqiJiHpGNWcAuxu89VJFRUUQBKHTcuzYseAErACbNgGDBwO5ucCcOc6fgwc715N8sd76Zt++fcjKykJWVhYAID8/H1lZWXj88ccBAL/5zW+wePFi/OpXv8KYMWNQWVmJbdu2ITY2VsqwiYh6RDVnADsGb/35z3+OH/3oRz7vd/z4cbfLMUlJSYEIT3E2bQJmzQJE0X19ZaVz/fvvA98Ng0Yywnrru8mTJ0O89AO8iCAIWLlyJVauXBm8oIiI/Ew1CWBXg7d2JTk5GfHx8f4PSMHsduChhzonEYBznSAAixcDt93Gy4pywnojIiJfqeYScG9lZWUhJSUFP/zhD/Hpp592ua3VaoXFYnFb1KikBDh92vvzoghUVDi3I/lgvRERka80mwCmpKTg5ZdfRkFBATZt2oRhw4bhhz/8IT777DOv+2hlLK+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/xMmV521HUquIzVT87GlZl3XmzLbDk/S5oVvHxBFoLgYyMuTOpLuy8vrvKEDWDa50nLZ1ELJdaRmaj621Ewr7UZPMQH0srIyqSPoPndjZtnkhWVTD62VV+7UfGypGeuja0wAvSwhQeoIus/dmFk2eWHZ1ENr5ZU7NR9basb66Br7APaC2vsAmkyOSxtXY9nkSZtlU2Y/HvYBVBY1H1tq1nW9KbPt8CSeAfSCtmm9cnKU2RjodMC6dY7fr56ijGWTL62WTS2UXkdqpuZjS8200G70BhNAD0hMdH2enAxs2QJkZ0sTjydkZzvKkJTkupxlkzctlk0t1FBHaqbmY0vNOqs3tbYj3cFLwL3QdhmnpsaMY8ciUFbm6HOQkaGe/wRtNsdIKpZNWbRStogIC2bMUN5lnLa245NPzLBYIlRXR2qm5mNLza6utxEjLIiOVl7b4UlMAHuhrRHX8heISEpKPQaVGjeRWvAY5CVgIiIiIs1hAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGNUkgHv37sXMmTORmJgIQRCwbdu2LtffvXs3BEFo9zh16pRvAiYiIiKSiL/UAXhKQ0MDRowYgfvvvx/33HOP29udPn0aERERzuexsbHeCI+IiIhINlSTAE6bNg3Tpk3r9nZxcXGIjIz0fEBEREREMqWaS8A9NWrUKCQkJODWW2/Frl27uly3ubkZFovF5UFERESkNJpNABMSErBhwwZs3boVubm5GDRoEG699Vbs3bu3023Wrl0Lg8HgfKSkpPgwYiIiIiLPEERRFKUOwtMEQcCHH36IX/ziF93abubMmRAEAdu3b+/w9ebmZjQ3NzufWywWpKSkwGw2u/QjJCLfsFgsMBgMijsGlRo3kVrwGNTwGcCOjBs3DmfPnu30db1ej4iICJcHERERkdIwAbzC0aNHkZCQIHUYRERERF6lmlHA9fX1+P77753PCwsLkZ+fj+joaPTt2xerVq2CyWTC22+/DQDIyclBamoqhg4dCqvVinfeeQdbt27F1q1bpSoCERERkU+oJgE8fPgwpkyZ4ny+YsUKAMCCBQuwceNGlJWVoaioyPm61WrFypUrYTKZEBwcjKFDh+LTTz/FnXfe6fPYiYiIiHxJlYNAfIWdSImkpdRjUKlxE6kFj0H2ASQiIiLSHCaARERERBrDBJCIiIhIY5gAEhEREWkME0AiIiIijWECSERERKQxTACJiIiINIYJIBEREZHGMAEkIiIi0hjV3AqOiIjkwWYD8vKAsjIgIQHIyAB0OqmjomthvWkLE0AiIvKY3Fzg4YeBkpKfliUnA+vWAdnZ0sVFXWO9aQ8vARMRkUfk5gKzZrkmEQBgMjmW5+ZKExd1jfWmTUwAiYio12w2xxkkUWz/WtuyZcsc65F8sN60iwkgERH1Wl5e+zNIVxJFoLjYsR7JB+tNu5gAEhFRr5WVeXY98g3Wm3YxASQiol5LSPDseuQbrDftYgJIRES9lpHhGDUqCB2/LghASopjPZIP1pt2MQEkIqJe0+kcU4YA7ZOJtuc5OZxXTm5Yb9rFBJCIiDwiOxvYsgVISnJdnpzsWM755OSJ9aZNnAiaiIg8JjsbuOsu3lFCaVhv2sMEkIiIPEqnAyZPljoK6i7Wm7bwEjAR0RX27t2LmTNnIjExEYIgYNu2bS6vi6KI1atXIzExEcHBwZg8eTIKCgqkCZaIqIeYABIRXaGhoQEjRozA+vXrO3z9ueeew4svvoj169fj0KFDiI+Px2233Ya6ujofR0pE1HO8BExEdIVp06Zh2rRpHb4miiJycnLwxBNPIPtyz/hNmzbBaDTivffewwMPPODLUImIeoxnAImI3FRYWIjy8nJkZmY6l+n1ekyaNAn79u3rdLvm5mZYLBaXBxGRlJgAEhG5qby8HABgNBpdlhuNRudrHVm7di0MBoPzkZKS4tU4iYiuhQkgEVE3CVfNmCuKYrtlV1q1ahXMZrPzUVxc7O0QiYi6xD6ARERuio+PB+A4E5hwxc1RKysr250VvJJer4der/d6fERE7uIZQCIiN6WlpSE+Ph47d+50LrNardizZw8mTJggYWRERN3DM4BERFeor6/H999/73xeWFiI/Px8REdHo2/fvli2bBmeffZZDBgwAAMGDMCzzz6LkJAQzJ07V8KoiYi6hwkgEdEVDh8+jClTpjifr1ixAgCwYMECbNy4EY8++iiamprw61//GhcvXsTYsWPx+eefIzw8XKqQiYi6TRBFUZQ6CKWyWCwwGAwwm82IiIiQOhwizVHqMajUuInUgscg+wASERERaQ4TQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGCaARERERBrDBJCIiIhIY5gAEhEREWmMahLAvXv3YubMmUhMTIQgCNi2bds1t9mzZw9Gjx6NoKAg/OxnP8Orr77q/UCJiIiIJKaaBLChoQEjRozA+vXr3Vq/sLAQd955JzIyMnD06FE8/vjjWLp0KbZu3erlSImIiIik5S91AJ4ybdo0TJs2ze31X331VfTt2xc5OTkAgOuvvx6HDx/GCy+8gHvuucdLURIRERFJTzVnALtr//79yMzMdFl2++234/Dhw2hpaelwm+bmZlgsFpcHERERkdJoNgEsLy+H0Wh0WWY0GtHa2oqqqqoOt1m7di0MBoPzkZKS4otQiYiIiDxKswkgAAiC4PJcFMUOl7dZtWoVzGaz81FcXOz1GImIiIg8TTV9ALsrPj4e5eXlLssqKyvh7++PPn36dLiNXq+HXq/3RXhEREREXqPZM4Djx4/Hzp07XZZ9/vnnGDNmDAICAiSKioiIiMj7VJMA1tfXIz8/H/n5+QAc07zk5+ejqKgIgOPy7fz5853rL168GOfPn8eKFStw8uRJ/PWvf8Wbb76JlStXShE+ERERkc+o5hLw4cOHMWXKFOfzFStWAAAWLFiAjRs3oqyszJkMAkBaWhp27NiB5cuX4+WXX0ZiYiL+/Oc/cwoYIiIiUj1BbBv5QN1msVhgMBhgNpsREREhdThEmqPUY1CpcROpBY9BFV0CJiIiIiL3MAEkIiIi0hjV9AHUCpsNyMsDysqAhAQgIwPQ6aSOyjNYNmVSc9m8LS8PsFi435SE33dlurreRoyQOiIZEKnHzGazCEA0m80++bytW0UxOVkUgZ8eycmO5UrHsimT1GXz9THoKW1xA2bVfSfUTOrvO/VMR/WWmKjMtsOTOAikF3zZiTQ3F5g1y/HVvVLbTUu2bAGys70agtewbL6PyxPkUDalduRuixswA3DErYbvhJrJ4ftO3ddZvQEWAMprOzyJCWAv+OqPj80GpKYCJSUdvy4IQHIyUFiovEsRLBvL1htqSgABZX8n1Ewu33fqnq7rjQkgB4EoQF5e5w0P4PjPprjYsZ7SsGwsG/2E+02e+H1XpmvVm9YxAVSAsjLPricnLBvLRu1xv8kLv+/KxProGhNABUhI8Ox6ctI+5lYABgArrrGe/Gmr3nq3HrnifpOX9vXxRwAJAKzXWI+kxProGvsA9oKv+wCaTB11ZFV2/5P2ZTsNYPDlVzdCEBaoqGyu1FVvrtgHsGvsA6gsrt93G4B4AFUANgBYxHqTqa7bKfYB5BlABdDpgHXrHL+3jThr0/Y8J0eZDU/7shVc8er9EMUtKirbT9RXbz9Retmkwv0mX1d+34H34Uj+AOBptJ0FZL3JT1ftFDEBVIzsbMc0A0lJrsuTk5U//YBr2QoAtLWiIvz85iAoaId0wfWSdurtJ2oomxS43+QtOxt4/30bdLonAbRlEyZERW1ivclYZ+3U1c+1iJeAe0GKy09qnoXeZgN+/vP7sGfPFoiiHQAgCAICAgLw2WefYfLkydIG2Atqrzepyqb0S8CffGKGxRKhuu+EWr333nv413/91yuWCEhKSsS5c+cQGBgoWVx0be3vBGJBdLTy2g5PYgLYC0r94yNngwYNwpkzZ1yW+fn5Qa/XY9euXRg7dqxEkZEcKfUYVGrcWmaz2TBo0CCcO3cOV//Z3LBhAxYtWiRRZNQTPAZ5CZhkpKWlBefOnWu33G63o7m5GbfddhuOHTsmQWREpHXvv/8+fvjhh3bJnyAIePrpp2G1WjvZkkiemACSbJw9exatra0dvma329HY2IgpU6bg1KlTPo6MiLTMZrPhySefhNDBSAJRFGEymbBp0yYJIiPqOSaAJBvHjx/v8nWbzQaLxYLJkyejsLDQR1ERkdZ1dvavDc8CkhIxASTZKCgogL+/f5fr2Gw2VFRUYM6cOT6Kioi0rKuzf214FpCUiAkgycbx48dht9s7fK0tMQwMDMT06dPx5JNPdvle5eXlWLp0aafvR0Tkjmud/WvT2VlAtkUkV12fbiHyofz8fJdG0t/fH62trQgICMC8efNw11134ec//zlCQkLabbthwwa89957LstOnz6NQYMG4aGHHvJ67ESkTmvXrgUAl6sTdrsddru93TKTyYQHH3wQP/zwg8t7sC0iOeI0ML3AYeSeY7VaERwc7EwABwwYgHvuuQd1dXV44403UFNT02Hi15mamhrMnz8f77zzDiIjI70UNUlNqcegUuPWoj/96U/t+iefOHECBw8exMKFC12W+/n54eGHH0Z6erpzGdsieeIxyASwV/gF8hxRFPHoo48iMTERM2fOxHXXXQcAOHPmDAYNGoSPPvoIWVlZbr+f1WqFKIrQ6/XeCplkQKnHoFLjJof169dj5cqVuHTp0jXXZVskTzwGeQmYZEIQBDz//PPtlg8cOBCDBg3C9u3bu5UAclZ+IpIDtkUkVxwEQrKXlZWFjz/++JqdqJ955hkMGzYMoaGhMBqNePDBB9HS0uKjKImIHB577DFMmzZN6jCIusQEkGQvKysLlZWVOHjwYKfriKIIm82G1157DSdOnMDGjRuxZcsWvPHGGz6MlIjIMaBtxIgRUodB1CUmgCR748ePR58+fbB9+/ZO12mbgmHChAno168fpk2bhttuuw2nTp1CcXExJk+ejCFDhmD48OH44IMPfBg9EWnNsWPHMHLkSKnDIOoSE0CSPZ1OhxkzZnSZAJ4/fx5LlixBeno6oqKiEBYWhv/5n/9BcnIy/P39kZOTgxMnTuD//u//sHz5cjQ0NPiwBESkFeXl5aioqIDdbsfEiRMREhKCMWPG8D7mJDtMAEkRsrKyUFBQ0G5+LQCoqqrCTTfdhKqqKrz44ov46quvsH//fuh0OowcORIJCQnO/8bj4uIQHR2NmpoaH5eAiLTg6NGjAICcnBw8++yzOHz4MMLDw3n3IpIdJoCkCJmZmQgMDMTHH3/c7rUdO3agtbUVmzdvRmZmJoYOHYq9e/fCarW2uwxz+PBh2O12pKSk+ChyItKS/Px8BAUFYdu2bbjlllswZMgQrFmzht1RSHaYAJIihIWF4dZbb+3wMnB0dDQsFgu2b9+Os2fP4sUXX8Tq1auRlJSE2NhY53rV1dWYP38+NmzY4MvQiUhD8vPzce+99yIxMdG5LDQ0FIBjomh2RyG5YAJIinHXXXdh7969uHjxosvy6dOn45e//CXmzZuHW265BSaTCffee6/L2b/m5mbcfffdWLVqFSZMmODjyIlIK/Lz89tdefjnP/+J+Ph4JCYmsjsKyQYTQFKMGTNmwGaz4R//+IfLckEQ8Oqrr8JisaCiogJ//OMf8fLLL+OTTz4B4JgiZuHChZg6dSrmzZsnReikIqtXr4YgCC6P+Ph4qcMiGWhsbMT3338Pm83mXGa32/HSSy9h4cKFEATBuZzdUUhqTABJMZKSkjBmzJguRwN35Ouvv8b777+Pbdu2YeTIkRg5ciS+++47wG4DKnYDP252/LTbrvVWRACAoUOHoqyszPn47rvvpA6JZODYsWPQ6XR46623cPDgQZw5cwb33nsvGhoa8PjjjzvXY3cUkgPeCo4UJSsrCy+88AKsVqvbt1i65ZZb2t9FpDgX2H4n0Fjy07KQZGD0OiAl24MRkxr5+/vzrB+1c+zYMQwcOBBPPfUU7rnnHtTU1CArKwv79u1DeHg4AHZHIfngGUBSlKysLFgsFuzZs6fnb1KcC+TNck3+AKDR5FhenNu7IEn1zp49i8TERKSlpWHOnDk4d+5cl+s3NzfDYrG4PEh9Fi9ejOPHj2P27NkoLi5GQ0MDNm/ejD59+gBgdxSSFyaApCjDhw9H3759u30Z2MluA448DEDs4MXLy44s4+Vg6tTYsWPx9ttv47PPPsPrr7+O8vJyTJgwAdXV1Z1us3btWhgMBueD/b60qdPuKEQSYAJIiiIIArKysrB9+3aIYkdJ3DVcyGt/5s+FCDQWO9Yj6sC0adNwzz33YNiwYfj5z3+OTz/9FACwadOmTrdZtWoVzGaz81FcXOyrcElG2rqj5OfnOx/Dhg2TOizSKCaApDhZWVkoKirCt99+2/2Nm8o8ux5pXmhoKIYNG4azZ892uo5er0dERITLg4hISkwASXEmTZqE8PDwnl0GDk7w7Hqkec3NzTh58iQSEvidISLlYAJIihMYGIhp06b1LAGMzYA9KLHDHoAAIEIAQlKA2IxexUjqtXLlSuzZsweFhYX45ptvMGvWLFgsFixYsEDq0IiI3MYEkBQpKysLhw8fhslk6tZ2DU2XcDZiCYD2w0Ccz0fnAH663oZIKlVSUoJ/+Zd/waBBg5CdnY3AwEAcOHAA/fr1kzo0IiK3qSoBfOWVV5CWloagoCCMHj0aeXmdd+TfvXt3u9n8BUHAqVOnfBgx9dS0adOg0+mcd/twx6VLl3DixAmcaUrHDwl/QIt/nMvrzX6xyA97AqW6cZ4Ol1Tk73//O0pLS2G1WmEymbB161YMGTJE6rCIiLpFNRNBv//++1i2bBleeeUV3HzzzXjttdcwbdo0nDhxAn379u10u9OnT7t0yI6NjfVFuNRL0dHRyMjIwPbt2/HAAw9cc32r1YoTJ06gvLwc8fHxsOiScDxiCsIajyLAVoUWXQzqQ0bhYq0FVQUF8Pf3R1xc3DXfl4iISIlUcwbwxRdfxC9/+Uv86le/wvXXX4+cnBykpKTgL3/5S5fbxcXFIT4+3vnQ6XjpTymysrLwxRdfoL6+vsv1Wltbcfr0aZSUlCAuLu6nOhZ0qA8dg4sRd6A+dAwg6BAVFQVRFFFQUMCbtBMRkWqpIgG0Wq04cuQIMjMzXZZnZmZi3759XW47atQoJCQk4NZbb8WuXbu6XJez+ctLVlYWmpubsXPnzk7XsdlsOHv2LAoLCxEXF4eAgIBrvm+fPn3Q1NSE48ePs46JiEiVVJEAVlVVwWazwWg0uiw3Go0oLy/vcJuEhARs2LABW7duRW5uLgYNGoRbb70Ve/fu7fRzOJu/vPTv3x9Dhw7tdDSwKIo4d+4cfvjhB/Tp08ftewcLggCj0Yi6ujocP34cDQ0NngybiIhIcqrpAwg4/nBfSRTFdsvaDBo0CIMGDXI+Hz9+PIqLi/HCCy9g4sSJHW6zatUqrFixwvncYrEwCZRYVlYWXn/9ddhsNpfL96Io4scff8SZM2dgMBgQHBzcrfdtSwLLyspQUFCAYcOGdfs9iIiI5EoVZwBjYmKg0+nane2rrKxsd1awK+PGjeNs/gqTlZWFqqoqHDhwwGW5yWTCqVOnEBYWhtDQ0B69t5+fH+Lj41FRUYETJ07AarV6ImQi1bPZgN27gc2bHT9tcri1tt0GVOwGftzs+CmH+33LLCZZ1ht5jSoSwMDAQIwePbpdX7CdO3diwoQJbr/P0aNHOZu/wtx0002Ii4vDRx995FxWUVGBkydPQq/XIzw8vFfvr9PpYDQaYTKZcPLkSbS2tvY2ZCJVy80FUlOBKVOAuXMdP1NTHcslU5wLbE8FvpgC7Jvr+Lk91bGcMQGQab2RV6kiAQSAFStW4I033sBf//pXnDx5EsuXL0dRUREWL14MwHH5dv78+c71c3JysG3bNpw9exYFBQVYtWoVtm7diiVLlkhVBOoBPz8/zJw509kPsKqqCgUFBQCAyMhIj3xG25Qw58+fx5kzZ2Djv8VEHcrNBWbNAkpKXJebTI7lkiQTxblA3iyg8aqgGk2O5VIkXDKLSZb1Rl6nmj6A9913H6qrq/HMM8+grKwM6enp2LFjh3N2/rKyMhQVFTnXt1qtWLlyJUwmE4KDgzF06FB8+umnuPPOO6UqAvVQVlYW3nzzTRw6dAiNjY2wWq0en8MvMDAQsbGx+OGHH+Dv74/rrrsOfn6q+f+JqNdsNuDhhwGxg/ssiiIgCMCyZcBddwE+m23LbgOOPIz29/3B5WUCcGQZkHSX7+7+I7OYZFlv5BOCKHZU7eQOi8UCg8EAs9nM/oASamxsRJ8+ffD//t//w5133on4+PhOB/944rNqa2sxZMgQpKWlee1zyD1KPQaVGndXdu92XDa8ll27gMmTvR3NZRW7HZdWr8F84za0Rt/i9tu+8cYbeOqpp7p9K0oA8K/5CoZDv7j2irfuAoyTu/3+3SXLevMBNR6D3aWaM4CkbWPGjMHu3btx//33ezUpCwkJgd1ux6lTpxAQEMBR4ESXlZV5dj2PaHLvw84d/xqlge7/OSwsLITdbm83+MwdidavMcqdFd2Mvbd+qo9aANsAJAP4eRfrkVowASRFa25uRkFBAUaOHIlXXnkFZrMZUVFRXv3MsLAw2Gw2nDhxAv7+/hw4RATA3cPAp4dLsHsfFhLTH/Eh8W6/bUREBARBQHy8+9s4P6uxP1Dsxopuxt4Toijihx9+wNdff40tW/YB2APg9OVXrwPQfjYMNnPqwwSQFKulpQUnT55EWVkZ7rzzTqxfvx5ff/01ZsyY4fXPNhgMqKmpcSaBvIc0aV1GBpCc7Bg40FHHIkFwvJ6R4cOgYjOAkGTH4IoO+tyJAFr8jWgIuaFbVw7a1u3J1YaGkBtg9Y9DQGslOt5acMQc67kd1dTUhCNHjmDfvn346quvsHfvXpjNZgCOQW7AlbMb/ME1GinqjXyCvdhJkWw2G06fPo2ioiIYjUYYjUakp6d3eScXT4uOjkZrayuOHz+Oixcv+uxzieRIpwPWrXP8fnVe1PY8J8fHAwn8dMDodRDRPv1zPBdQYlwJCD4MStChxPjIFTG4vOj4MTrHIwNAPvjgA4wZMwZhYWHIyMjAY489ho8//tiZ/AG4amqr6wD84qdopKo38gkmgKQ4drvdeX/f2NhY5/19J02ahH379qG5udlnscTExPC+wUSXZWcDW7YASUmuy5OTHcuzsyUIKiUbtemv45LQx2Vxi78RhUnPoTZ8qs9Dqg2fisKk59Hi7zpbgRicBGRsAVI8s6OOHTuGI0eOwG63u7V+ZOSjuDItkLTeyOt4CZgUpa3vyvfff4/o6Gjo9XrnaxMnTsTLL7+MI0eOdGsC8N4QBAFxcXEoLy9HQUEBhg8f3uM7jxCpQXa2Y8qQvDzHwIGEBMflQ6nOIImiiB+sI1AVuQk/CzMhwFaFFl0M6kNG+fbM31Vqw6eiNmwSwhqPQtdSiUqLDj8btwDG+ESPfcaTTz6J3bt348CBA9ecvzQqKgpFRf+Gw4flUW/kfUwASVHOnz+Ps2fPdnh/3/79+yMpKQl79uzxWQII/HTLuLKyMpw4cQLDhg1DUFCQzz6fSG50OvlMGVJbW4uqqioYIqNRr5fZSAZBh/rQMQCAi5fKUVZeiThjgsdmMggMDMSHH36IUaNGoby8vNMk0M/PD0uXLkVYWLBs6o28j5eASTHa7u8bEhLS4Vk2QRAwadIk7N27F76e3vLqJJD3DSaSh4qKCrS0tLhcLZAjg8GACxcuoK6uzqPvGxsbix07dnS5jk6nw69//WuPfi7JHxNAUoTKykqcOHECAQEBXU7aOXHiRFRWVuLUqVM+jM6h7b7BJSUlOHXqFO8bTCSxS5cuoaysrNf3BPeF4OBgXLp0CRcuXPD4eyclJbW7YtLG398f8+fP9/jdk0j+mACS7FVXV+P48eMQRfGac/yNHDkS4eHhPh0NfKWAgADExcXhxx9/5H2DiSRWVVWF+vp6hIWFSR2KW0JDQ2EymTx6BaGgoAA33XQTGhoaMHHixHavt7a2YsWKFR77PFIOJoAkH3ab49ZNP252/LTbYDabUVBQgObmZsTExFzzLQICAnDzzTdjz549Xg+3M4GBgYiJicG5c+dw7tw5x+XoDspGRN5jt9tRWlqKwMBAxdy3Ozw8HBaLBdXV1R55v48//hjjxo1DYGAgRFHEokWL0KfPT6Oh/fz8kJmZiSFDhnjk80hZlHFUkPoV5wLbUx337dw3F/hiCuzb+qH04Muoq6vr1uWJSZMm4fTp0yiT8N5FQUFBiIyMxJkzZ1B55FWIH6W6lA3bUx1lJiKvqK2tRXV1NQwGg9ShuE2n00Gn06G0tLRX/ZhFUcTatWtx11134bbbbsOaNWsAAH/+85+xefNm9O/fH4AjSX7kkUc8EjspDxNAkl5xLpA3C2gscVksXDJh8IUnMCikoFuj4saPHw+dToe8vDxPR9otISEhSNX9E3Fnfg00uZYNjSZHmZkEEnlFRUUFbDYbAgMDpQ6lWwwGA6qqqlwma+6OxsZGzJ07F48//jiefPJJbNmyBadPn0ZQUBC2bduG2267DV988YWzX+TQoUNx9913IyoqCrNmzfJkUUjmmACStOw24MjD6GJOfPS98CIgun/JNDw8HGPGjJH0MjAAQLRhgGU9AHRwy6fL5T2yjJeDiTysqalJMYM/rhYUFASr1dqjwSDFxcXIyMjA9u3b8cEHH2D16tXw8/NDfn4+7r33XiQmOuYY7NevHz744AMAjrOFS5cuxdtvv+3RcpD8MQEkaV3Ia3fm70oCgMDWCoQ1Hu3W206cOBGHDx9GfX19LwPsubDGowjs9H6fACACjcWOfUBEHtM2+EOpk7KHh4fDZDJ1665G+/fvx4033oiqqip8/fXXLmfz8vPzMXLkSJf1S0tLER8fj4SEBEyZMkWRyTL1DhNAklaTe/30AmxV3XrbiRMnorW1Ffv37+9JVB7hdsxu7gMiujabzQaTyYTg4GDFDP64WlhYGOrq6lBV5V4bsnHjRkyePBkDBgzAoUOHXJK9xsZGfP/99y4zEtjtdrz00ktYuHChxyadJuVR5tFB6hHs3sz8LbprjwC+UmJiIgYMGCDZdDBAN2J2cx8Q0bVdvHgRNTU1Xc4XKnd+fn4IDAxEaWlpl/fxbZvC5f7778f8+fPxxRdftBswd+zYMeh0Orz11ls4ePAgzpw5g3vvvRcNDQ14/PHHvV0UkjEmgCSt2AwgJBkd9ZIDHD3lrP5Gx307u2nixIn46quvJJuQuT5kFKz+cR30bmwjACEpjn1ARB5RUVEBURQREBAgdSi9YjAYUF1d3elgkIsXL2L69On485//jJdeegkbNmzocMDLsWPHMHDgQKxevRr33HMPRo0ahYCAAOzbt4+XfTWOCSBJy08HjF53+YlrEiheXlZiXNmjm7ZPmjQJFosFx44d622UPSPoUGJ0TLHQ6RCX0TmOfUBEvdbQ0IDy8nJVJDaBgYFoaWlBRUVFu9dOnTqFsWPH4vDhw/j888+xZMmSTi/lLl68GMePH8fs2bNRXFyMhoYGbN682WU+QNImJoAkvZRsIGMLEJLksrjF34jCpOdQGz61R297/fXXIzY2VtLRwLXhU1GY9Dxa/K+axzAk2VHmlGxpAiNSoaqqKjQ2Nip28MfVIiIiUFZWhqamJueyHTt2YOzYsQgICMDBgwcxdWrP2scr3X777Zg9ezZ27NiB5ORkHDp0qNfvSfLnL3UARAAciVDSXag58xF+PLkfYTEDHJd9e3Dmr42fnx8mTpyIPXv2YPny5ZJ1dq4Nn4rasEkQK/bCENiI64ZlOC778swfkcfYbDaUlJQgODhYNQMbQkNDUVpaiurqaiQlJeGFF17AY489hhkzZuCdd97xWD/Hzz77zCPvQ8rCM4AkH346tETdjNKASagPHdOr5K/NxIkTUVJSgh9//LH38fWGoMPFwBGoDs8EjJOZ/BF5WHV1NWpraxU9+ONqfn5+CAoKwrlz5zBv3jw8+uijWLVqFbZt26aqcpI0eAaQVO3GG29EUFAQ9uzZg7S0NKnDISIvKS8vBwD4+6vrz5rVasVvfvMbFBUVYfPmzZgzZ47UIZFK8AwgqZper8f48eMlnQ6GiLyrvr4eFRUVirrvrzuOHz+O+++/H9XV1Xj77beZ/JFHMQEk1Zs4cSK+/fZbVFdXSx0KEXlBZWUlLl26hODgYKlD8ZgdO3Zg0aJFSExMxOuvv44+ffqgsbFR6rBIRZgAkuplZDjm2fvqq68kjoSIPK21tRWlpaUICQlRxeAPm82GdevW4T//8z9x++2347XXXkPfvn3R0NDg9p1BiNzBBJBULyoqCsOHD5d0Ohgi8g41Df6oq6vD8uXL8c477+C3v/0tnnrqKQQGBkIQBAQFBaGkpMTllm5EvcEEkDRh0qRJOHDgAC5duiR1KETkIaIooqysDH5+ftDplD2y/vz581iwYAG+/fZb/PnPf8bcuXNdzmhGRESgtrYWFy9elDBKUhMmgKQJEydORHNzMw4ePCh1KETkIXV1dbhw4YLiB3/s378fCxYsgCAIePvttzF+/Ph26wQEBDgTXiJPYAJImpCamoq+fftyNDCRily4cAFNTU2KHfwhiiLeffddLF26FMOHD8fGjRvRt2/fTtePiIhARUUFGhoafBglqZW6Jkwi6oQgCJg4cSL+8Y9/wG63w8+P//sQKZnVaoXJZEJYWJjUofSI1WrFs88+i48//hgLFizAQw89dM3L2CEhIbh48SKqqqpUc7s7kg7/CpJmTJo0CdXV1Thx4oTUoRBRL1VXV8NisSA8PFzqULqtqqoKDzzwAD777DP813/9F5YuXepWH0ZBEBASEoKSkhK0trb6IFJSMyaApBnDhw+HwWDgZWAihRNFEaWlpdDpdIob/HHixAnMmzcPpaWleP3113HnnXd2a/u2wSA1NTVeipC0ggkgaYa/vz9uueUWTgdDpHBmsxlVVVWKG/zx2Wef4Ve/+hViY2PxzjvvID09vdvv0Xaru9LSUk+HRxrDBJA0ZdKkSfj+++9hMpmkDoWIeujChQuwWq0ICgqSOhS32O12rF+/Ho8//jhuvfVWbNiwAbGxsT1+P4PBgAsXLqCurs6DUZLWMAEkTRk3bhwCAgJ4GZhIoZqbm2EymRTT96++vh6//e1vsXHjRjz88MN45plnep24hoSEoKmpCRcuXPBQlKRFTABJU0JDQ3HjjTcyASRSqOrqatTV1Sli9G9xcTHuv/9+HDlyBDk5OZg/f77HblcXGhoKk8mElpYWj7wfaQ8TQNKciRMn4siRI7x8QqQwdrsdJpMJgYGBsp/K6eDBg5g/fz5aW1uxadMm3HLLLR59/4iICJjNZlRXV3v0fUk75H0EEXnBxIkTYbPZ8PXXX0sdSo+Ul5dj6dKlsNvtUodC5FNtCY+c7/sriiL+/ve/Y8mSJRgyZAg2bdqEtLQ0j3+OTqeDn58fysrKIIqix9+f1I8JIGmO0WjE4MGDFXMZeMOGDRg0aBBiYmJwww03YM6cOfjggw/wl7/8RerQiHyqoqICra2t0Ov1UofSoZaWFvz3f/83nn/+ecyZMwfr1q3zarLKwSDUG7wTiAfYbMDu3UBZGZCQAGRkAAqbmqpTNhuQl6e+sk2aNAnvvvsuDhwIRG1tKGJiWjBqVL0sy/bv//7v2Lt3L959911UV1djypQp6N+/P/71X/+1023UWm+Aa9lkfCLILXl5gMWivjryKLsNuJAHq+U8mn6sQXjYCEnDsdmAoiI97Hbg8OEwZ7tRU1ODRx55BAUFBXjqqaeQlZXl9ViCg4NRU1ODivJSRDT9E2gqA4ITgNgMwI9fpitd3SaOkPZrJAuqOgP4yiuvIC0tDUFBQRg9ejTy8vK6XH/Pnj0YPXo0goKC8LOf/Qyvvvpqjz43PR2YMgWYO9fxMzUVyM3t0VvJSm6uoyxqLFtw8HTU19fjoYcq8MQTaXjggYGYMSMdX34ZKXVonWrr87Rnzx58/fXXuO+++/DNN9+0W0/N9XZ12WbMkC6W7rY3HZkxQ3115FHFucD2VOCLKQg8tBCjalZgfOW/ILLuS0nC+fLLSMyYkY6//z0Ora2Cs934299K8W//9m8oLi7Ghg0bfJL8tUnV/RMp/5wIfDEF2DfX8XN7qmPfEYCO28QeTMGoOqpJAN9//30sW7YMTzzxBI4ePYqMjAxMmzYNRUVFHa5fWFiIO++8ExkZGTh69Cgef/xxLF26FFu3bu32Z189H6fJBMyapezGPDfXUYaSEtflaijbl19GIidnOoBkANudyysrA/DII2myTQLbRg+29f374osvMG7cONx+++3ORFDN9dZZ2aTQ3fbGHWqoI48qzgXyZgGNrhUe0FqJNNMjPk8Cv/wyEo88kobKygCX5ZWV25CTcy8CAmLxt7/9DcOHD/dZTJF1XyK9djX09qumg2k0OfYdk8BO2w3Oow0Iokp6j44dOxY33HCDS7+o66+/Hr/4xS+wdu3adus/9thj2L59O06ePOlctnjxYhw7dgz79+936zMtFsvlmejNAFyvRQkCkJwMFBYq77KOzeb4b6mzP7TeLFtFRQUOHTqExMREz77xZTYbMGNG+uVGfAmAHQDOAWibmkGE0diCjz8+7vGy1dTUIDw8HGPHju32tiNGjMC3337b4Ws6nQ42mw2ZmZk4evQZXLjQ8fur8ztpAWCA2Wz26cCA7rY3V+us7VByHXmU3eY4i9XYcSMkAmjxN+J4/48Bwfs7yrXdEACsB7ASwKMA/gvAHMTF/QWffHLOd/Um2pD+wwwEtFai44llBCAkGcgq1Ozl4K7/lknTdsiJKvoAWq1WHDlyBL/73e9clmdmZmLfvn0dbrN//35kZma6LLv99tvx5ptvoqWlBQEBAe22aW5uRnNzs/O5xWLpNCZRBIqLHX0OJk/uRmFkIC+v67MsSi7b0aNhqKwMvPwsC8Arlx+pznUqKoC33zbhuuuaPPrZ9fX1CA4ORlVVVbe2E0URZrMZgiB0ONrPZrMBAP7v//4PdvvnAEYBWANg2lXvo9x6u9Z30pd60t6423YouY486kJep8kf4EjBAlsrENZ4FPWhY7wejmu7AQBWAC0A/hvAswB+h8pKAUePhmHMmHqvxwMAYY1HEdha2cUaItBY7NiXxsk+iUlu5NRuyJEqEsCqqirYbDYYjUaX5UajEeXl5R1uU15e3uH6ra2tqKqqQkJCQrtt1q5di6effrpbsZWVdWt1WXA3ZiWWrarqysR+MoC2M4Gu1q/3UUAe9NO0MEcBLADQ8R8HJdabnGLuSXvT3bZDTuWVRJN7OyDA1r1/pnrKtd0AHGduRQAfAZjZxXre43bZ3dyXaqT54+gaVJEAtrl6hnVRFLucdb2j9Tta3mbVqlVYsWKF87nFYkFKSkqXMXWQR8qeuzErsWwxMVfOmq8HUA2god16zz33A0aMaL+8N2praxEWFoYbbrihW9sVFxdjzpw5OHfunBtrhwBYDMelqY4psd7kGHN32pvuth1yLK9PBbu3A1p0MV4OxMG13QCA1QCeBKC7xnre43bZ3dyXaqT54+gaVJEAxsTEQKfTtfvvu7Kyst1/6W3i4+M7XN/f3x99+vTpcBu9Xu/2/FNtfXkyMtxaXVYyMhyxm0yOS1JXU3LZRo2qR1yc9Yq+POGXH20cfQAnTy6FThfs0c/28/NDeHg44uPj3d6mqqoKM2bMQHBwMPz8/Dqc/NnPzw+BgYFITU2DxfI1ysqiVFdv1/pO+lJP2ht32w4l15FHxWY4+q81muA40+aqrQ9gfcgon4TTvt0Q4Jr8OdqNUaN8c/kXAOpDRsHqH3ftPoCx2v0yyandkCNVjAIODAzE6NGjsXPnTpflO3fuxIQJEzrcZvz48e3W//zzzzFmzJgO+/91R9tJgJwcZXbk1umAdescv199QkMNZXvkkbZOIVe3CCIEAVi5skQ2ZduxYwdaW1tx8803tzu7JAgCQkND8R//8R/4n//5HwwdOgQvvRR1+TVcta7jp5LrrbPvpK/1pL1xh9LryKP8dMDoyxV+VXpz+ToNSowrfTIABJBpuyHoUGJ8pMOInPtsdI5mB4AA8mo35EgVCSAArFixAm+88Qb++te/4uTJk1i+fDmKioqwePFiAI5LMPPnz3euv3jxYpw/fx4rVqzAyZMn8de//hVvvvkmVq5c2e3PvnrAanIysGULkJ3dqyJJKjvbUYakJNflaijb1Km1eP75QsTFuV6uMRpb8NxzhZg6tVaawDoQHR0Ni8WCkpISl7N/giDgP/7jP1BUVISnn34a4eGOs5hqrrfOyiaFa7U3PaGGOvKolGwgYwsQ4lrhVn8jCpOeQ234VJ+GI8d2ozZ8Kr6NeBJWXazrCyHJjn2Xwi9TZ+2GHNoRqalmGhjAMTHrc889h7KyMqSnp+NPf/oTJk6cCABYuHAhfvzxR+zevdu5/p49e7B8+XIUFBQgMTERjz32WLca8LapHGpqzDh2LEL1d13wRdm8PQ3MlWw2x+i+qqoAn9wJpCfTwIiiiAcffBBvvvkmWltb4e/vj5EjRyI6OhqfffaZc73du3dj/fr12LJlCwAt3QnEghkzpJnKoav25lra2o5PPjHDYolQXR151OU7gbTWF+PEuYu4IAxGVLRv+v51xNftRldEUYTJZMKI4enoF1zEO4F0of2dQCyIjtb2NDCqSgB9ra0R1/IXyNN8mQD6Wm/mAfzyyy/xzTff4IEHHkB0dHS7169OALVCqcegUuOW2rlz53D8+HEkJydLHYos1NfXo6WlBePGjUNoaKjU4SgKj0GVDAIhUrupU6di6tSOL3ndfvvt+Oc//4mGhgYkJyfjww8/xI033ujjCIm8LzY2FsHBwWhsbERISIjU4Uiurq4OqampTP6oR5gAEinclZeCidQsPDwcsbGxMJlMmk8AW1paIAhCpyPPia5FNYNAiIhI/dq6h7S2tkocibQsFguio6MRFRUldSikUEwAiYhIMaKjoxEZGdnlrTjVzm63o6mpCUlJSdBx5BD1EBNAIiJSDH9/fyQlJaGxsbHDe2NrQUNDA8LCwhATI91oaFI+JoBERKQosbGxCAkJQWNjo9ShSKKurg4JCQkIDvbs3YpIW5gAEhGRooSGhsJoNGryMrDVaoVOp+PgD+o1JoBERKQ4CQkJEAQBLS0t115ZRcxmM/r06YPIyEipQyGFYwJIRESKExUVpbnBIHa7HVarFYmJifDz459v6h1+g4iISHF0Oh2Sk5Nx6dIlzQwGqa+v5+AP8hgmgEREpEgxMTEIDQ1FQ0OD1KH4RNvgj6CgIKlDIRVgAkhERIoUEhKC+Ph4TVwGbm5uRkBAAAd/kMcwASQiIsUyGo3Q6XSqHwxiNpsRExPDwR/kMUwAiYhIsaKiohAVFQWz2Sx1KF5jt9vR0tKCxMRECIIgdTikEkwAiYhIsfz8/JyDQex2u9TheEVdXR0iIiI4+IM8igkgEREpWp8+fRAeHq7awSD19fVITExEYGCg1KGQijABJCIiRQsODkZCQoIqB4M0NTUhMDCQgz/I45gAEhGR4hmNRgQEBMBqtUodikdZLBbExcUhPDxc6lBIZZgAknzYbQi4+DUSW/YgrOEwINqkjshzRBuirMfQp+5zoGI3YFdR2YhkwGAwoE+fPqoaDGKz2WCz2Zy3vSPyJH+pAyACABTnAkceRnRjCaIBoBiw+sehxPgIasOnSh1dr0TWfYnkiucR2FrpWPAFgJBkYPQ6ICVb0tiI1MLPzw+JiYkoLy+H3W5Xxa3SLBYLIiIi0KdPH6lDIRVS/hFCylecC+TNAhpLXBYHtFYizfQIIuu+lCiw3ous+xJppkcQ0Jb8tWk0OcpcnCtNYEQqFBMTg/DwcNTX10sdikc0NjYiOTkZAQEBUodCKsQEkKRltwFHHgbQ/l6ebRc8kiteUOblYNGG5IrnAfxUlitedPw4soyXg4k8RK/XIzExEXV1dVKH0muNjY0ICgpCbGys1KGQSjEBJGldyGt35u9KAoDA1gqENR71XUweEtZ4FIGtlR0kf21EoLHYsQ+IyCPi4uIQGBiIS5cuSR1Kr5jNZsTGxnLwB3kNE0CSVlOZW6sF2Kq8HIjnuR2zm/uAiK7NYDAgJiZG0YNBWltbAQCJiYkSR0JqxgSQpBWc4NZqLTrlzYDvdsxu7gMiujZBEJCYmOgcQatEFosFkZGRiI6OljoUUjEmgCSt2AzHiNhOLpSKAKz+RtSHjPJpWJ5QHzIKVv+4Dno3thGAkBTHPiAij+nTpw8iIiIU2RdQFEU0NjYiKSkJ/v6cqIO8hwkgSctP55gOBcDVSaB4+fn5mOWAoPNxYB4g6HAyZDGAn8pyxYuOH6NzHPuAiDwmMDAQSUlJirw1XGNjI0JCQjj4g7yOCSBJLyUbyNgChCS5Lg9OwrnE53CqYYgiL+XU1taiUn8LzMPehHB12UKSHWXmPIBEXhEbGwu9Xo+mpiapQ+kWi8UCo9GI0NBQqUMhleP5ZZKHlGwg6S7HiNimMiA4AUJsBhKbraj+7juUl5cjISFBMZO71tXVobm5GcOGDUNk8m3A0AUuZUNsBs/8EXlReHg4YmNjUVZWhuDgYKnDcUtraysEQUB8fLzUoZAGMAEk+fDTAcbJLouCg4MxdOhQtLS0oKKiAvHx8bK/JVJDQwPq6+sxdOhQJCcnOxZ2UDYi8p62wSAmkwk2mw06nfz/4TKbzRz8QT6jjNMppGmhoaEYNmwYwsPDUVlZee0NJNTU1ASz2YyBAweiX79+UodDpGnR0dEwGAywWCxSh3JNoiji0qVLSEpKUkSySsrHBJAUISIiAunp6QgKCkJVlTznBLRaraipqUH//v3Rv39/2Z+pJFK7gIAAJCUlobGxEaLY+Xh8OWhoaEBoaCgHf5DPMAEkxYiOjsbQoUMhCAIuXrwodTguWlpaUFlZidTUVAwcOFAxfRWJ1C4uLg5BQUGyHwxisVgQHx+PkJAQqUMhjWAfQFKUuLg4DB06FN9++y0sFgsiIiKkDgk2mw0VFRVISUnBoEGDePmGNM9mA/LygLIyICEByMgApDoswsLCEBcXh5Li84gTTyDAVoUWXYxjblGpp5cSbQhrPAq/5gq02AMRF3ujpOHIqd7I+5gAkuIkJiaipaUFBQUF8PPzQ1hYmGSx2O125wjl66+/HoGBgZLFQiQHubnAww8DJVfc4js5GVi3DsiWaNajVN0/MbDuUQRbfuo+YvWPQ4nxEdSGT5Ukpsi6L5Fc8TwCWx39mq8DIH61HhizTpLpoeRYb+RdvE5FitS3b18MGjQIFotFsks7drsdZWVliImJwdChQxEUFCRJHERykZsLzJrlmkQAgMnkWJ6bK0FQxbmI+PaXCBJd+w4HtFYizfQIIuu+9HlIkXVfIs30CAJaXQe1CU0mIG8WUOzbHSXLeiOvYwJIiiQIAtLS0nDdddehpqYGzc3NPv18URRRUVGBqKgopKens98OaZ7N5jiD1NFYi7Zly5Y51vMZuw048jCEzu/Fg+SKFwDRh0GJNiRXPO8SwxUvOn4cWeaI3QdkWW/kE7wETIrl5+eHAQMGoLW1FefOnYPRaERAQIBPPruqqgqhoaEYOnQowsPDffKZRHKWl9f+DNKVRBEoLnasN3myj4K6kAc0dh6UACCwtQIBtQdgCbrBJyFFXPqn87Jvx0SgsdgRuw/mDpVlvZFPMAEkRdPpdBg0aBBaW1tRXFwMo9Ho9RuoV1dXIyAgAOnp6YiKivLqZxEpRVmZZ9fziCY3P6ypDE2ib7qSRFxyPyZfkGW9kU8wASTFCwgIwPXXX4/W1laUlpYiISHBayNxa2trIYoihgwZgpiYGK98BpESJSR4dj2PCHbvwwYOn4TrYm/2cjAOfhdswFdrr72im7H3lizrjXyCCSCpgl6vx9ChQ9Ha2uq8ZZyn5+K78v6+vFcnkauMDMeoUZOp4/5kguB4PSPDh0HFZgAhyUCjCc7+da5RASHJ0Cf/3Hf35k7+uVsxIdY3O0qW9UY+oYpBIBcvXsS8efNgMBhgMBgwb9481NbWdrnNwoULIQiCy2PcuHG+CZi8Ijg42HlZtrKy0qMz/zc2NqK+vh6DBg1CUlKSx96XSC10OseUIYAjabhS2/OcHB/PK+enA0ava4viqhcvPx+d47vkT4YxybLeyCdUkQDOnTsX+fn5+N///V/87//+L/Lz8zFv3rxrbnfHHXegrKzM+dixY4cPoiVvCgsLQ3p6OsLCwjx23+BLly6htrYWAwYMQFpaGm/xRtSJ7Gxgyxbg6v+RkpMdyyWZTy4lG8jYAoRcFVRIsmO5BHPuyS0mWdYbeZ0gyv0Giddw8uRJDBkyBAcOHMDYsWMBAAcOHMD48eNx6tQpDBo0qMPtFi5ciNraWmzbtq3Hn22xWGAwGGA2m2VxRwr6SXV1NY4dOwabzYY+ffr0+H2sVisqKytx3XXX8S4fMqTUY1CpcbtLlneUsNscI2ubyhz962IzfHvmTwExybLevETtx6A7FN8HcP/+/TAYDM7kDwDGjRsHg8GAffv2dZoAAsDu3bsRFxeHyMhITJo0CWvWrEFcXFyn6zc3N7vMN2exWDxTCPK4Pn36OG8Zd/HixR6N1m1tbXW5vy+TPyL36HQynDLET+eTaVW6RWYxybLeyGsUfwm4vLy8w6QtLi4O5eXlnW43bdo0vPvuu/jyyy/xxz/+EYcOHcLUqVO7nFB47dq1zn6GBoMBKSkpHikDeYfRaMSQIUPQ0tKCurq6bm1rs9lQXl6O5ORkDB482OtTyxAREfmSbBPA1atXtxukcfXj8OHDANBhnyxRFLvsq3Xfffdh+vTpSE9Px8yZM/GPf/wDZ86cwaefftrpNqtWrYLZbHY+iouLe19Q8qqkpCQMHjwYDQ0NaGhocGubtvv7xsfHY8iQIby/LxERqY5sT2ssWbIEc+bM6XKd1NRUfPvtt6ioqGj32oULF2A0Gt3+vISEBPTr1w9nz57tdB29Xg+9Xu/2e5I89OvXDy0tLTh9+jT8/PwQHBzc6bqiKKK8vNx5CZn39yUiIjWSbQIYExPj1kS748ePh9lsxsGDB3HTTTcBAL755huYzWZMmDDB7c+rrq5GcXExEjjbpeoIgoD+/fvDZrPh7NmziI2NdZzVE20IazyKAFsVWnQxqAseiYrKKhgMBqSnpyM0NFTq0ImIiLxCtgmgu66//nrccccdWLRoEV577TUAwL//+79jxowZLgNABg8ejLVr1+Luu+9GfX09Vq9ejXvuuQcJCQn48ccf8fjjjyMmJgZ33323VEUhL2q7b3BLSwsKCwsxOPQEUqv/5HJPzkt+MQiMWILk9KWaHRVGRETaINs+gN3x7rvvYtiwYcjMzERmZiaGDx+Ov/3tby7rnD59GmazGYDj/rHfffcd7rrrLgwcOBALFizAwIEDsX//foSHh0tRBPIBnU6HwYMHY1jkWQyoWIWAq27IrrdXIb32aUTV75IoQiIiIt9Q/DyAUuI8Qgpkt0H8qB/QZGo3B7/D5dswZRVKP0cYXZMUx2BqairOnz/vsuyxxx7D73//e7ffg20HkbR4DKrgEjBRt1zIg9Bk6mIFEWgsdkzOKqP5uUhennnmGSxatMj5PCwsTMJoiIi6jwkgaUtTmWfXI00KDw9HfHy81GEQEfWYKvoAErkt2M1R3u6uR5r0hz/8AX369MHIkSOxZs0aWK1WqUMiIuoWngEkbYnNcPTxazQB6Kj76+U+gLEZvo6MFOLhhx/GDTfcgKioKBw8eBCrVq1CYWEh3njjjU634W0kiUhueAaQtMVPB4xed/nJ1cNALj8fncMBIBrTnTsPLV++HJMmTcLw4cPxq1/9Cq+++irefPNNVFdXd/r+vI0kEckNRwH3AkcRKVhxLnDkYaCx5KdlISmO5C8lW7KwqHs8dQxWVVWhqqqqy3VSU1M7vDOMyWRCcnIyDhw4gLFjx3a4bUdnAFNSUth2EEmEf795CZi0KiUbSLrLMdq3qczR5y82g2f+NMrdOw915OjRowDQ5V2EeBtJIpIbJoCkXX46TvVC3bJ//34cOHAAU6ZMgcFgwKFDh7B8+XJkZWWhb9++UodHROQ2JoBERG7S6/V4//338fTTT6O5uRn9+vXDokWL8Oijj0odGhFRtzABJCJy0w033IADBw5IHQYRUa9xFDARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGCaARERERBrDBJCIiIhIY5gAEhEREWkME0AiIiIijWECSERERKQxTACJiIiINIYJIBEREZHG+EsdAHWPzQbk5QFlZUBCApCRAeh0UkflGSybMqm5bN6WlwdYLNxvSsLvuzJdXW8jRkgdkQyI1GNms1kEIJrNZp983tatopicLIrAT4/kZMdypWPZlEnqsvn6GPSUtrgBs+q+E2om9fedeqajektMVGbb4UmCKIqitCmoclksFhgMBpjNZkRERHj1s3JzgVmzHF/dKwmC4+eWLUB2tldD8BqWzfdxeYIcyubLY9CT2uIGzAAccavhO6Fmcvi+U/d1Vm+ABYDy2g5PYgLYC77642OzAampQElJx68LApCcDBQWKu9SBMvGsvWGmhJAQNnfCTWTy/eduqfremMCyEEgCpCX13nDAzj+sykudqynNCwby0Y/4X6TJ37flela9aZ1TAAVoKzMs+vJCcvGslF73G/ywu+7MrE+usYEUAESEjy7npywbCwbtcf9Ji/8visT66Nr7APYC77uA2gyddSRVdn9T1g2lq032AeQfEEu33fqnq7rjX0AeQZQAXQ6YN06x+9tI87atD3PyVFmw8OysWzkwP0mX/y+K1NX9UZMABUjO9sxzUBSkuvy5GTlTz/AsimTmssmBe43eeP3XZk6q7ern2sRLwH3ghSXn9Q8Cz3LpkxSlk3pl4A/+cQMiyVCdd8JNVPzsaxm7e8EYkF0tPLaDk9iAtgLSv3jQ6QWSj0GlRo3kVrwGOQlYCIiIiLNYQJIREREpDGqSADXrFmDCRMmICQkBJGRkW5tI4oiVq9ejcTERAQHB2Py5MkoKCjwbqBEREREMqCKBNBqtWL27Nl48MEH3d7mueeew4svvoj169fj0KFDiI+Px2233Ya6ujovRkpEREQkPVUkgE8//TSWL1+OYcOGubW+KIrIycnBE088gezsbKSnp2PTpk1obGzEe++95+VoiYiIiKSligSwuwoLC1FeXo7MzEznMr1ej0mTJmHfvn2dbtfc3AyLxeLyICIiIlIaTSaA5eXlAACj0eiy3Gg0Ol/ryNq1a2EwGJyPlJQUr8ZJRERE5A2yTQBXr14NQRC6fBw+fLhXnyFcdW8YURTbLbvSqlWrYDabnY/i4uJefT4RERGRFPylDqAzS5YswZw5c7pcJzU1tUfvHR8fD8BxJjAhIcG5vLKyst1ZwSvp9Xro9foefSYRERGRXMg2AYyJiUFMTIxX3jstLQ3x8fHYuXMnRo0aBcAxknjPnj34wx/+4JXPJCIiIpIL2V4C7o6ioiLk5+ejqKgINpsN+fn5yM/PR319vXOdwYMH48MPPwTguPS7bNkyPPvss/jwww9x/PhxLFy4ECEhIZg7d65UxSAiIiLyCdmeAeyOJ598Eps2bXI+bzurt2vXLkyePBkAcPr0aZjNZuc6jz76KJqamvDrX/8aFy9exNixY/H5558jPDzcp7ETERER+ZogiqIodRBKxZtJE0lLqcegUuMmUgsegyq5BExERERE7mMCSERERKQxTACJiIiINIYJIBEREZHGMAEkIiIi0hgmgEREREQawwSQiIiISGOYABIRERFpDBNAIiIiIo1hAkhEdNmaNWswYcIEhISEIDIyssN1ioqKMHPmTISGhiImJgZLly6F1Wr1baBERL2kinsBExF5gtVqxezZszF+/Hi8+eab7V632WyYPn06YmNj8dVXX6G6uhoLFiyAKIp46aWXJIiYiKhnmAASEV329NNPAwA2btzY4euff/45Tpw4geLiYiQmJgIA/vjHP2LhwoVYs2aNZu8pSkTKw0vARERu2r9/P9LT053JHwDcfvvtaG5uxpEjRySMjIioe3gGkIjITeXl5TAajS7LoqKiEBgYiPLy8k63a25uRnNzs/O5xWLxWoxERO7gGUAiUrXVq1dDEIQuH4cPH3b7/QRBaLdMFMUOl7dZu3YtDAaD85GSktKjshAReQrPABKRqi1ZsgRz5szpcp3U1FS33is+Ph7ffPONy7KLFy+ipaWl3ZnBK61atQorVqxwPrdYLEwCiUhSTACJSNViYmIQExPjkfcaP3481qxZg7KyMiQkJABwDAzR6/UYPXp0p9vp9Xro9XqPxEBE5AlMAImILisqKkJNTQ2Kiopgs9mQn58PALjuuusQFhaGzMxMDBkyBPPmzcPzzz+PmpoarFy5EosWLeIIYCJSFCaARESXPfnkk9i0aZPz+ahRowAAu3btwuTJk6HT6fDpp5/i17/+NW6++WYEBwdj7ty5eOGFF6QKmYioRwRRFEWpg1Aqi8UCg8EAs9nM//6JJKDUY1CpcROpBY9BngEkIiIPs9mAvDygrAxISAAyMgCdTuqo6FpYb9rCBJCIiDwmNxd4+GGgpOSnZcnJwLp1QHa2dHFR11hv2sN5AImIyCNyc4FZs1yTCAAwmRzLc3OliYu6xnrTJiaARETUazab4wxSR73K25YtW+ZYj+SD9aZdTACJiKjX8vLan0G6kigCxcWO9Ug+WG/axQSQiIh6razMs+uRb7DetIsJIBER9drlG6N4bD3yDdabdjEBJCKiXsvIcIwaFYSOXxcEICXFsR7JB+tNu5gAEhFRr+l0jilDgPbJRNvznBzOKyc3rDftYgJIREQekZ0NbNkCJCW5Lk9OdiznfHLyxHrTJk4ETUREHpOdDdx1F+8ooTSsN+1hAkhERB6l0wGTJ0sdBXUX601beAmYiIiISGOYABIRERFpDBNAIiIiIo1hAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjVJEArlmzBhMmTEBISAgiIyPd2mbhwoUQBMHlMW7cOO8GSkRERCQDqkgArVYrZs+ejQcffLBb291xxx0oKytzPnbs2OGlCImIiIjkQxX3An766acBABs3buzWdnq9HvHx8V6IiIiIiEi+VHEGsKd2796NuLg4DBw4EIsWLUJlZaXUIRERERF5nSrOAPbEtGnTMHv2bPTr1w+FhYX4z//8T0ydOhVHjhyBXq/vcJvm5mY0Nzc7n1ssFl+FS0REROQxsj0DuHr16naDNK5+HD58uMfvf99992H69OlIT0/HzJkz8Y9//ANnzpzBp59+2uk2a9euhcFgcD5SUlJ6/PlEREREUpHtGcAlS5Zgzpw5Xa6Tmprqsc9LSEhAv379cPbs2U7XWbVqFVasWOF8brFYmAQSERGR4sg2AYyJiUFMTIzPPq+6uhrFxcVISEjodB29Xt/p5WEiIiIipZDtJeDuKCoqQn5+PoqKimCz2ZCfn4/8/HzU19c71xk8eDA+/PBDAEB9fT1WrlyJ/fv348cff8Tu3bsxc+ZMxMTE4O6775aqGEREREQ+IdszgN3x5JNPYtOmTc7no0aNAgDs2rULkydPBgCcPn0aZrMZAKDT6fDdd9/h7bffRm1tLRISEjBlyhS8//77CA8P93n8RERERL4kiKIoSh2EUlksFhgMBpjNZkREREgdDpHmKPUYVGrcRGrBY1All4CJiIiIyH1MAImIiIg0hgkgERERkcYwASQiIiLSGCaARERERBrDBJCIiIhIY5gAEhEREWkME0AiIiIijWECSERERKQxTACJiIiINIYJIBEREZHGMAEkIiIi0hgmgEREREQa4y91AGpgswG7dwNlZUBCApCRAeh0UkflGTYbkJfHsimNVsoWESF1NL2TlwdYLOqrIzVT87GlZlfX24gRUkckAyL1mNlsFgGIiYlmERCdj+RkUdy6Veroem/rVkdZWDZl0VbZHMeg2WyWOrRuaWs7HPGrq47UTM3Hlpp1VG+Ov9vKazs8SRBFUZQ2BVUui8UCg8EAwAzgp1MRguD4uWULkJ0tSWi9lpsLzJrlOFSuxLLJm/bKZgFggNlsRoSCTgd21HaooY7UTM3Hlpp1Vm9KbTs8iQlgL3SWAAKORiE5GSgsVN7lAZsNSE0FSko6fp1lkydtlk2ZjXhX/zwqtY7UTM3Hlpp1XW/KbDs8iYNAvEQUgeJiR58DpcnL67yhA1g2udJy2dRCyXWkZmo+ttRMK+1GTzEB9LKyMqkj6D53Y2bZ5IVlUw+tlVfu1HxsqRnro2tMAL0sIUHqCLrP3ZhZNnlh2dRDa+WVOzUfW2rG+uga+wD2gtr7AJpMHXWcZdnkSptlU2Y/HvYBVBY1H1tq1nW9KbPt8CTOA9gLP+XOlg5eA559Fmho8G1MnrJ2LTBvXsevsWzypb2yOY49pf0f21nbofQ6UjM1H1tq1nm9KbPt8CSeAeyFkpISpKSkSB0GkeYVFxcjOTlZ6jDcxraDSB6U1nZ4EhPAXrDb7SgtLUV4eDjq6uqQkpKC4uJi1Z1OtlgsLJsCaaFsRUVFEAQBiYmJ8PNTTpfmK9sOoW0iOQ9Tc/1LjfvWu3yxf0VRRF1dneLaDk/iJeBe8PPzc/7n0NaIR0REqLZBYNmUSc1lMxgMiizblW2Ht6m5/qXGfetd3t6/jn642qXNtJeIiIhIw5gAEhEREWkME0AP0ev1eOqpp6DX66UOxeNYNmVi2bSN+8h7uG+9i/vXNzgIhIiIiEhjeAaQiIiISGOYABIRERFpDBNAIiIiIo1hAkhERESkMUwAPezHH3/EL3/5S6SlpSE4OBj9+/fHU089BavVKnVoHrFmzRpMmDABISEhiIyMlDqcXnnllVeQlpaGoKAgjB49Gnl5eVKH5BF79+7FzJkzkZiYCEEQsG3bNqlD8oi1a9fixhtvRHh4OOLi4vCLX/wCp0+fljosWXLnOC0qKsLMmTMRGhqKmJgYLF26VDXtlLepte3wpWu1U6IoYvXq1UhMTERwcDAmT56MgoICaYJVKSaAHnbq1CnY7Xa89tprKCgowJ/+9Ce8+uqrePzxx6UOzSOsVitmz56NBx98UOpQeuX999/HsmXL8MQTT+Do0aPIyMjAtGnTUFRUJHVovdbQ0IARI0Zg/fr1UofiUXv27MFDDz2EAwcOYOfOnWhtbUVmZiYaGhqkDk12rnWc2mw2TJ8+HQ0NDfjqq6/w97//HVu3bsVvf/tbH0eqPGpuO3zpWu3Uc889hxdffBHr16/HoUOHEB8fj9tuuw11dXU+jlTFRPK65557TkxLS5M6DI966623RIPBIHUYPXbTTTeJixcvdlk2ePBg8Xe/+51EEXkHAPHDDz+UOgyvqKysFAGIe/bskToU2ersON2xY4fo5+cnmkwm57LNmzeLer1eNJvNPoxQebTSdvjS1e2U3W4X4+Pjxd///vfOZZcuXRINBoP46quvShChOvEMoA+YzWZER0dLHQZdZrVaceTIEWRmZrosz8zMxL59+ySKirrLbDYDAI+tHti/fz/S09ORmJjoXHb77bejubkZR44ckTAyeWPb4RuFhYUoLy932c96vR6TJk3ifvYgJoBe9sMPP+Cll17C4sWLpQ6FLquqqoLNZoPRaHRZbjQaUV5eLlFU1B2iKGLFihW45ZZbkJ6eLnU4ilNeXt7u+x8VFYXAwEAeA11g2+EbbfuS+9m7mAC6afXq1RAEocvH4cOHXbYpLS3FHXfcgdmzZ+NXv/qVRJFfW0/KpgaCILg8F0Wx3TKSpyVLluDbb7/F5s2bpQ7FZzx9nHb0Xecx4B62Hb7B/exd/lIHoBRLlizBnDlzulwnNTXV+XtpaSmmTJmC8ePHY8OGDV6Orne6Wzali4mJgU6na/efZGVlZbv/OEl+fvOb32D79u3Yu3cvkpOTpQ7HZzx5nMbHx+Obb75xWXbx4kW0tLTwGOgC2w7fiI+PB+A4E5iQkOBczv3sWUwA3RQTE4OYmBi31jWZTJgyZQpGjx6Nt956C35+8j7R2p2yqUFgYCBGjx6NnTt34u6773Yu37lzJ+666y4JI6OuiKKI3/zmN/jwww+xe/dupKWlSR2ST3nyOB0/fjzWrFmDsrIy5x/Yzz//HHq9HqNHj/bIZ6gR2w7fSEtLQ3x8PHbu3IlRo0YBcPS/3LNnD/7whz9IHJ16MAH0sNLSUkyePBl9+/bFCy+8gAsXLjhfa/uvRsmKiopQU1ODoqIi2Gw25OfnAwCuu+46hIWFSRtcN6xYsQLz5s3DmDFjnGdpi4qKVNFXs76+Ht9//73zeWFhIfLz8xEdHY2+fftKGFnvPPTQQ3jvvffw0UcfITw83HkWxmAwIDg4WOLo5OVax2lmZiaGDBmCefPm4fnnn0dNTQ1WrlyJRYsWISIiQtrgZU7NbYcvXaudWrZsGZ599lkMGDAAAwYMwLPPPouQkBDMnTtXwqhVRsohyGr01ltviQA6fKjBggULOizbrl27pA6t215++WWxX79+YmBgoHjDDTeoZjqRXbt2dVhHCxYskDq0XunsuHrrrbekDk123DlOz58/L06fPl0MDg4Wo6OjxSVLloiXLl2SLmgFUWvb4UvXaqfsdrv41FNPifHx8aJerxcnTpwofvfdd9IGrTKCKIqi99NMIiIiIpILeXdOIyIiIiKPYwJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGCaARERERBrDBJCIiIhIY5gAEhEREWkME0AiIiIijWECSERERKQxTACJiIiINIYJIBEREZHGMAEkIiIi0hgmgEREREQawwSQiIiISGOYABIRERFpDBNAIiIiIo1hAkhERESkMUwAiYiIiDSGCSARERGRxjABJCIiItIYJoBEREREGsMEkIiIiEhjmAASERERaQwTQCIiIiKNYQJIREREpDFMAImIiIg0hgkgERERkcYwASQiIiLSGCaARERERBrDBJCIiIhIY/4/wvyrCkgebdIAAAAASUVORK5CYII=", + "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}