notatki-algorytmy-kwantowe/wykład-2022-03-17.tex
RobertBendun f5be51f324 Wykład 4
2022-03-19 15:49:53 +01:00

164 lines
3.7 KiB
TeX

\documentclass{article}
\usepackage[top=1.5cm,bottom=1.5cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{amsfonts}
\usepackage{hyperref}
\usepackage{mathtools}
\usepackage{multicol}
\usepackage{polski}
\usepackage{qcircuit}
\newcommand\CC{\mathbb{C}}
\newcommand\NN{\mathbb{N}}
\DeclarePairedDelimiter\ket{\lvert}{\rangle}
\DeclarePairedDelimiter\bra{\langle}{\rvert}
\begin{document}
\section{Bramki}
% TODO Bramki X, Y, Z
\subsection{Bramki odwracalne}
Bramka $U$ działająca na $m$ kubitach jest odwracalna, jeśli liczba wejść bramki jest równa liczbie wyjść.
\subsection{Bramka Hadamarda}
$$ \Qcircuit @C=1em @R=1em { & \gate{H} & \qw } $$
$$ H = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} $$
\begin{align*}
H(|0\rangle) & = \frac{1}{\sqrt{2}} |0\rangle + \frac{1}{\sqrt{2}} |1\rangle =: |+\rangle \\
H(|1\rangle) & = \frac{1}{\sqrt{2}} |0\rangle - \frac{1}{\sqrt{2}} |1\rangle =: |-\rangle \\
H(|+\rangle) & = |0\rangle \\
H(|-\rangle) & = |1\rangle
\end{align*}
\subsection{Bramka CNOT}
Jest to bramka kontrolowanej negacji.
\[
\Qcircuit @C=1em @R=.7em {
\lstick{\ket{\alpha}} & \ctrl{1} & \rstick{\ket{\alpha}} \qw \\
\lstick{\ket{\beta}} & \targ & \rstick{\ket{\alpha \oplus \beta }} \qw
}
\]
\begin{multicols}{2}
\begin{align*}
\ket{00} \rightarrow \ket{00} \\
\ket{01} \rightarrow \ket{01} \\
\ket{10} \rightarrow \ket{11} \\
\ket{11} \rightarrow \ket{10}
\end{align*}
$$
\text{CNOT} = \begin{bmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 \\
0 & 0 & 1 & 0
\end{bmatrix}
$$
\end{multicols}
\subsection{Bramka SWAP}
Zamienia kubity ze sobą.
\[
\Qcircuit @C=1em @R=2em {
\lstick{\ket{\alpha}} & \qswap & \rstick{\ket{\beta}} \qw \\
\lstick{\ket{\beta}} & \qswap \qwx & \rstick{\ket{\alpha}} \qw
}
\]
\begin{multicols}{2}
\begin{align*}
\ket{00} \rightarrow \ket{00} \\
\ket{01} \rightarrow \ket{10} \\
\ket{10} \rightarrow \ket{01} \\
\ket{11} \rightarrow \ket{11}
\end{align*}
$$
\text{SWAP} = \begin{bmatrix}
1 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1
\end{bmatrix}
$$
\end{multicols}
Implementowalna przy pomocy bramki CNOT.
\[
\Qcircuit @C=1em @R=.7em {
\lstick{\ket{\alpha}} & \ctrl{1} & \targ & \ctrl{1} & \rstick{\ket{\beta}} \qw \\
\lstick{\ket{\beta}} & \targ & \ctrl{-1} & \targ & \rstick{\ket{\alpha}} \qw
}
\]
\subsection{Bramka Toffoliego}
\[
\Qcircuit @C=1em @R=.7em {
\lstick{\ket{a}} & \ctrl{1} & \rstick{\ket{a}} \qw \\
\lstick{\ket{b}} & \ctrl{1} & \rstick{\ket{b}} \qw \\
\lstick{\ket{c}} & \targ & \rstick{\ket{c \oplus (a \land b) }} \qw
}
\]
\begin{multicols}{2}
\begin{align*}
\ket{000} \rightarrow \ket{000} \\
\ket{001} \rightarrow \ket{001} \\
\ket{010} \rightarrow \ket{010} \\
\ket{011} \rightarrow \ket{011} \\
\ket{100} \rightarrow \ket{100} \\
\ket{101} \rightarrow \ket{101} \\
\ket{110} \rightarrow \ket{111} \\
\ket{111} \rightarrow \ket{110}
\end{align*}
W zależności od ustawienia kubitów, bramka implementuje następujące operacje:
\begin{align*}
c = 0 &\longrightarrow a \land b \\
c = 1 &\longrightarrow \lnot (a\land b) \\
a = b = 1 & \longrightarrow \lnot c \\
a = 1, c = 0 & \longrightarrow \text{copy } b \text{ to } c
\end{align*}
\end{multicols}
Zbiór bramek odwracalnych $R$ nazywamy uniwersalnym, jeśli przy użyciu bramek należących do $R$, można zbudować dowolny układ odwracalny.
\section{Układy kwantowe}
\subsection{Półsumator}
Dodaje kubity $a$ i $b$, dając w wyniku bit sumy $s$ i bit przeniesienia (carry) $c$.
\[
\Qcircuit @C=1em @R=.7em {
\lstick{\ket{a}} & \ctrl{1} & \ctrl{1} & \rstick{\ket{a}} \qw \\
\lstick{\ket{b}} & \ctrl{1} & \targ & \rstick{\ket{s}} \qw \\
\lstick{\ket{0}} & \targ & \qw & \rstick{\ket{c}} \qw
}
\]
% TODO Teleportacja kwantowa
\end{document}