summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
Diffstat (limited to 'sources')
-rw-r--r--sources/know/concept/quantum-fourier-transform/circuit.tex166
-rw-r--r--sources/know/concept/shors-algorithm/circuit.tex48
2 files changed, 214 insertions, 0 deletions
diff --git a/sources/know/concept/quantum-fourier-transform/circuit.tex b/sources/know/concept/quantum-fourier-transform/circuit.tex
new file mode 100644
index 0000000..41cbd85
--- /dev/null
+++ b/sources/know/concept/quantum-fourier-transform/circuit.tex
@@ -0,0 +1,166 @@
+\documentclass[11pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{physics}
+\usepackage{yquant}
+
+
+\begin{document}
+
+\section{Spacer}
+
+\yquantdefinebox{dots}[inner sep=0pt]{$\vdots$}
+\begin{tikzpicture}
+ \begin{yquant}[register/separation=0mm]
+ qubit {$\ket{x_1}$} x1;
+ qubit {$\ket{x_2}$} x2;
+ qubit {$\ket{x_3}$} x3;
+ nobit xdots;
+ qubit {$\ket{x_{n\!-\!1}}$} xn1;
+ qubit {$\ket{x_n}$} xn;
+
+ h x1;
+ box {$R_2$} x1 | x2;
+ box {$R_3$} x1 | x3;
+ align x1, x2, x3, xdots, xn1, xn;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} x1;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} x2;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} x3;
+ [draw=none]
+ box {$\ddots$} xdots;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} xn1;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} xn;
+ [operator/separation=0mm]
+ box {$R_{n\!-\!1}$} x1 | xn1;
+ box {$R_n$} x1 | xn;
+
+ h x2;
+ box {$R_2$} x2 | x3;
+ align x1, x2, x3, xdots, xn1, xn;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} x1;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} x2;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} x3;
+ [draw=none]
+ box {$\ddots$} xdots;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} xn1;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} xn;
+ [operator/separation=0mm]
+ box {$R_{n\!-\!2}$} x2 | xn1;
+ box {$R_{n\!-\!1}$} x2 | xn;
+
+ align x1, x2, x3, xdots, xn1, xn;
+ [draw=none, operator/separation=3mm]
+ box {$\cdots$} x1;
+ [draw=none, operator/separation=3mm]
+ box {$\cdots$} x2;
+ [draw=none, operator/separation=3mm]
+ box {$\cdots$} x3;
+ [draw=none, operator/separation=3mm]
+ box {$\ddots$} xdots;
+ [draw=none, operator/separation=3mm]
+ box {$\cdots$} xn1;
+ [draw=none, operator/separation=3mm]
+ box {$\cdots$} xn;
+
+ align x1, x2, x3, xdots, xn1, xn;
+ [operator/separation=3mm]
+ h xn1;
+ box {$R_2$} xn1 | xn;
+
+ h xn;
+
+ [value=$\ket{k_n}$]
+ output x1;
+ [value=$\ket{k_{n\!-\!1}}$]
+ output x2;
+ [value=$\ket{k_{n\!-\!2}}$]
+ output x3;
+ [value=$\ket{k_2}$]
+ output xn1;
+ [value=$\ket{k_1}$]
+ output xn;
+ \end{yquant}
+\end{tikzpicture}
+
+\section{Spacer}
+
+
+\begin{tikzpicture}
+ \begin{yquant}[register/separation=0mm]
+ qubit {$\ket{x_1}$} x1;
+ qubit {$\ket{x_2}$} x2;
+ qubit {$\ket{x_3}$} x3;
+ nobit xdots;
+ qubit {$\ket{x_{n\!-\!1}}$} xn1;
+ qubit {$\ket{x_n}$} xn;
+
+ h x1;
+ box {$R_2$} x1 | x2;
+ box {$R_3$} x1 | x3;
+ align x1, x2, x3, xdots, xn1, xn;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} x1;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} x2;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} x3;
+ [draw=none]
+ box {$\ddots$} xdots;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} xn1;
+ [draw=none]
+ box {$\!\cdot\!\cdot\!\cdot\!$} xn;
+ [operator/separation=0mm]
+ box {$R_{n\!-\!1}$} x1 | xn1;
+ box {$R_n$} x1 | xn;
+
+ align x1, x2, x3, xdots, xn1, xn;
+ [draw=none, operator/separation=3mm]
+ box {$\cdots$} x1;
+ [draw=none, operator/separation=3mm]
+ box {$\cdots$} x2;
+ [draw=none, operator/separation=3mm]
+ box {$\cdots$} x3;
+ [draw=none, operator/separation=3mm]
+ box {$\ddots$} xdots;
+ [draw=none, operator/separation=3mm]
+ box {$\cdots$} xn1;
+ [draw=none, operator/separation=3mm]
+ box {$\cdots$} xn;
+
+ align x1, x2, x3, xdots, xn1, xn;
+ [operator/separation=3mm]
+ h xn1;
+ box {$R_2$} xn1 | xn;
+
+ h xn;
+
+ swap (x1, xn);
+ swap (x2, xn1);
+ swap (x3, xdots);
+
+ [value=$\ket{k_1}$]
+ output x1;
+ [value=$\ket{k_{2}}$]
+ output x2;
+ [value=$\ket{k_{3}}$]
+ output x3;
+ [value=$\ket{k_{n-1}}$]
+ output xn1;
+ [value=$\ket{k_n}$]
+ output xn;
+ \end{yquant}
+\end{tikzpicture}
+
+\end{document}
diff --git a/sources/know/concept/shors-algorithm/circuit.tex b/sources/know/concept/shors-algorithm/circuit.tex
new file mode 100644
index 0000000..ae3d5e7
--- /dev/null
+++ b/sources/know/concept/shors-algorithm/circuit.tex
@@ -0,0 +1,48 @@
+\documentclass[11pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{physics}
+\usepackage{yquant}
+
+
+\begin{document}
+
+\section{Spacer}
+
+\yquantdefinebox{dots}[inner sep=0pt]{$\vdots$}
+\begin{tikzpicture}
+ \begin{yquant}[operator/separation=5mm, register/separation=0mm]
+ qubit {$\ket{0}_1$} a1;
+ qubit {$\ket{0}_2$} a2;
+ nobit adots;
+ qubit {$\ket{0}_{q\!}$} af;
+
+ nobit sep;
+
+ qubit {$\ket{0}_1$} b1;
+ qubit {$\ket{0}_2$} b2;
+ nobit bdots;
+ qubit {$\ket{0}_{q\!}$} bf;
+
+ h a1;
+ h a2;
+ dots adots;
+ h af;
+ dots bdots;
+ box {$U_f(a, N)$} (a1, a2, adots, af, sep, b1, b2, bdots, bf);
+ measure b1;
+ measure b2;
+ dots bdots;
+ measure bf;
+ barrier a1, a2, adots, af;
+ box {$\mathrm{QFT}_q$} (a1, a2, adots, af);
+ align a1, a2, adots, af, b1, b2, bdots, bf;
+ measure a1;
+ measure a2;
+ dots adots;
+ measure af;
+ \end{yquant}
+\end{tikzpicture}
+
+\end{document}