Wykład 4

This commit is contained in:
RobertBendun 2022-03-19 15:49:53 +01:00
parent a78be7fcd7
commit f5be51f324
4 changed files with 177 additions and 4 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
*.log *.log
*.aux *.aux
*.pdf *.pdf
*.out

View File

@ -1,4 +1,6 @@
PDFs = wykład-2022-02-24.pdf wykład-2022-03-10.pdf PDFs = wykład-2022-02-24.pdf \
wykład-2022-03-10.pdf \
wykład-2022-03-17.pdf
all: $(PDFs) all: $(PDFs)
@ -7,4 +9,4 @@ all: $(PDFs)
pdflatex $< pdflatex $<
clean: clean:
rm -f *.log *.aux $(PDFs) rm -f *.log *.aux $(PDFs)

View File

@ -1,11 +1,18 @@
# Algorytmy Kwantowe - notatki # Algorytmy Kwantowe - notatki
[__Pobierz najnowsze wersje ukończonych notatek__](https://github.com/RobertBendun/notatki-algorytmy-kwantowe/releases/)
To repozytorium zawiera notatki powiązane z przedmiotem Algorytmy Kwantowe prowadzonym na Uniwersystecie im. Adama Mickiewicza w Poznaniu. To repozytorium zawiera notatki powiązane z przedmiotem Algorytmy Kwantowe prowadzonym na Uniwersystecie im. Adama Mickiewicza w Poznaniu.
Wszelkie treści dostępne w tym repozytorium domyślnie podlegają licencji [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/). Wszelkie treści dostępne w tym repozytorium domyślnie podlegają licencji [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/).
Wykorzystywana jest biblioteka [Qcircuit](https://github.com/CQuIC/qcircuit/).
## Spis treści
1. [Trygonometria i liczby zespolone](./wykład-2022-02-24.pdf)
2. _pojawią się niedługo_
3. [Iloczyn tensorowy, postulaty mechaniki kwantowej](./wykład-2022-03-10.pdf)
4. [Bramki kwantowe, układy kwantowe](./wykład-2022-03-17.pdf)
## Budowanie ## Budowanie
Osobiście używam pdflatex, na Ubuntu instalacja wygląda następująco: Osobiście używam pdflatex, na Ubuntu instalacja wygląda następująco:

163
wykład-2022-03-17.tex Normal file
View File

@ -0,0 +1,163 @@
\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}