From 93c8b6e86aeafb2f1b7f6b4d39049276ebbcc91c Mon Sep 17 00:00:00 2001 From: Prefetch Date: Wed, 5 May 2021 20:18:57 +0200 Subject: Expand knowledge base --- .../concept/quantum-fourier-transform/circuit.tex | 166 +++++++++++++++++++++ sources/know/concept/shors-algorithm/circuit.tex | 48 ++++++ 2 files changed, 214 insertions(+) create mode 100644 sources/know/concept/quantum-fourier-transform/circuit.tex create mode 100644 sources/know/concept/shors-algorithm/circuit.tex (limited to 'sources/know') 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} -- cgit v1.2.3