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

