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 +++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 sources/know/concept/quantum-fourier-transform/circuit.tex (limited to 'sources/know/concept/quantum-fourier-transform/circuit.tex') 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} -- cgit v1.2.3