5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

この記事では,1入力1出力の基本的な量子ゲートをまとめる.

また,最初に量子ゲート・量子回路がどのようなものか触れた後,
各量子ゲートに注目する.

量子ゲートについて

量子ゲートは古典コンピュータにおける量子ビットの状態を
操作することで計算を行う.
(古典コンピュータにおけるANDやOR演算)

量子ビットの状態はベクトルで表されるので,
量子ゲートの操作は行列形式で表現される.

量子回路

量子コンピュータも古典コンピュータと同じように,
複数の量子ゲートからなる回路を用いる.

以下が回路の例である.

スクリーンショット 2024-11-30 180051.png

左端の値が初期状態である.

Xゲート(NOTゲート)

Xゲートは量子ビット反転をするゲート.
その性質からNOTゲートとも呼ばれる.

Xゲートの行列表現は以下のようになる.

X = 
\left(
\begin{matrix} 
0 & 1\\ 
1 & 0
\end{matrix} 
\right)

Xゲートをブラケット記法で表すと以下のようになる.

  • $X = |0\rangle \langle 1| + |1\rangle \langle 0|$

以下はXゲートを用いた回路の例となる.

スクリーンショット 2024-11-30 195149.png

Xゲートは,以下のような記号で表現されることもある.
スクリーンショット 2024-11-30 200221.png

行列での計算例(Xゲート)

Xにより,量子状態$|0\rangle,|1\rangle, \frac{1}{\sqrt{2}}(|0\rangle +|1\rangle), \frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)$が
どのように計算されるか以下に示す.

\displaylines{
X|0\rangle 
=
\left(
\begin{matrix} 
0 & 1\\ 
1 & 0
\end{matrix} 
\right)

\left(
\begin{matrix} 
1 \\ 
0
\end{matrix} 
\right)
= 
\left(
\begin{matrix} 
0 \\ 
1
\end{matrix} 
\right)

=

|1\rangle 
\\

X|1\rangle 
=
\left(
\begin{matrix} 
0 & 1\\ 
1 & 0
\end{matrix} 
\right)

\left(
\begin{matrix} 
0 \\ 
1
\end{matrix} 
\right)
= 
\left(
\begin{matrix} 
1 \\ 
0
\end{matrix} 
\right)

=

|0\rangle \\

X
\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle)
=
\left(
\begin{matrix} 
0 & 1\\ 
1 & 0
\end{matrix} 
\right)

\left(
\begin{matrix} 
\frac{1}{\sqrt{2}} \\ 
\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

= 

\left(
\begin{matrix} 
\frac{1}{\sqrt{2}} \\ 
\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

=

\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle) \\

X
\frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)
=
\left(
\begin{matrix} 
0 & 1\\ 
1 & 0
\end{matrix} 
\right)

\left(
\begin{matrix} 
\frac{1}{\sqrt{2}} \\ 
-\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

= 

\left(
\begin{matrix} 
-\frac{1}{\sqrt{2}} \\ 
\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

=

-\frac{1}{\sqrt{2}}(|0\rangle -|1\rangle) 
}

Zゲート

Zゲートは位相を反転するゲート.

すなわち,$|0\rangle$は変化させないが,$|1\rangle$の符号を反転させる.

Zゲートの行列表現は以下のようになる.

Z
=
\left(
\begin{matrix} 
1 & 0\\ 
0 & -1
\end{matrix} 
\right)

Zゲートをブラケット記法で表すと以下のようになる.

  • $Z = |0\rangle \langle 0| - |1\rangle \langle 1| $

以下はZゲートを用いた回路の例となる.
スクリーンショット 2024-11-30 212634.png

行列での計算例(Zゲート)

Zにより,量子状態$|0\rangle,|1\rangle, \frac{1}{\sqrt{2}}(|0\rangle +|1\rangle), \frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)$が
どのように計算されるか以下に示す.

\displaylines{
Z|0\rangle 
=
\left(
\begin{matrix} 
1 & 0\\ 
0 & -1
\end{matrix} 
\right)

\left(
\begin{matrix} 
1 \\ 
0
\end{matrix} 
\right)
= 
\left(
\begin{matrix} 
1 \\ 
0
\end{matrix} 
\right)

=

|0\rangle 
\\

Z|1\rangle 
=
\left(
\begin{matrix} 
1 & 0\\ 
0 & -1
\end{matrix} 
\right)

\left(
\begin{matrix} 
0 \\ 
1
\end{matrix} 
\right)
= 
\left(
\begin{matrix} 
0 \\ 
-1
\end{matrix} 
\right)

=

-|1\rangle \\

Z
\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle)
=
\left(
\begin{matrix} 
1 & 0\\ 
0 & -1
\end{matrix} 
\right)

\left(
\begin{matrix} 
\frac{1}{\sqrt{2}} \\ 
\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

= 

\left(
\begin{matrix} 
\frac{1}{\sqrt{2}} \\ 
-\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

=

\frac{1}{\sqrt{2}}(|0\rangle -|1\rangle) \\

Z
\frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)
=
\left(
\begin{matrix} 
1 & 0\\ 
0 & -1
\end{matrix} 
\right)

\left(
\begin{matrix} 
\frac{1}{\sqrt{2}} \\ 
-\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

= 

\left(
\begin{matrix} 
\frac{1}{\sqrt{2}} \\ 
\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

=

\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle) 
}

Yゲート

Yゲートは量子ビットと位相を反転するゲート.(X, Zゲートほどよく使わない)

Yゲートの行列表現は以下のようになる.

Y
=
\left(
\begin{matrix} 
0 & -i\\ 
i & 0
\end{matrix} 
\right)

Yゲートをブラケット記法で表すと以下のようになる.

  • $Y = i(-|0\rangle \langle 1| + |1\rangle \langle 0|)$

以下はYゲートを用いた回路の例となる.
スクリーンショット 2024-11-30 210447.png

行列での計算例(Yゲート)

Yにより,量子状態$|0\rangle,|1\rangle, \frac{1}{\sqrt{2}}(|0\rangle +|1\rangle), \frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)$が
どのように計算されるか以下に示す.

\displaylines{
Y|0\rangle 
=
\left(
\begin{matrix} 
0 & -i\\ 
i & 0
\end{matrix} 
\right)

\left(
\begin{matrix} 
1 \\ 
0
\end{matrix} 
\right)
= 
\left(
\begin{matrix} 
0 \\ 
i
\end{matrix} 
\right)

=

i|1\rangle 
\\

Y|1\rangle 
=
\left(
\begin{matrix} 
0 & -i\\ 
i & 0
\end{matrix} 
\right)

\left(
\begin{matrix} 
0 \\ 
1
\end{matrix} 
\right)
= 
\left(
\begin{matrix} 
-i \\ 
0
\end{matrix} 
\right)

=

-i|0\rangle \\

Y
\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle)
=
\left(
\begin{matrix} 
0 & -i\\ 
i & 0
\end{matrix} 
\right)

\left(
\begin{matrix} 
\frac{1}{\sqrt{2}} \\ 
\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

= 

\left(
\begin{matrix} 
\frac{-i}{\sqrt{2}} \\ 
\frac{i}{\sqrt{2}}
\end{matrix} 
\right)

=

\frac{-i}{\sqrt{2}}(|0\rangle -|1\rangle) \\

Y
\frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)
=
\left(
\begin{matrix} 
0 & -i\\ 
i & 0
\end{matrix} 
\right)

\left(
\begin{matrix} 
\frac{1}{\sqrt{2}} \\ 
-\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

= 

\left(
\begin{matrix} 
\frac{i}{\sqrt{2}} \\ 
\frac{i}{\sqrt{2}}
\end{matrix} 
\right)

=

-\frac{i}{\sqrt{2}}(|0\rangle +|1\rangle) 
}

Hゲート(Hadamardゲート, アダマールゲート)

Hゲートは0と1の重ね合わせ状態を生成するような操作をするゲート.

要するに,あらゆる場合を等確率で発生させるようにするゲートである.

Hゲートは頻出なので,しっかりと押さえておきたいゲート.

Hゲートの行列表現は以下のようになる.

H = 
\frac{1}{\sqrt{2}}
\left(
\begin{matrix} 
1 & 1\\ 
1 & -1
\end{matrix} 
\right)

Hゲートをブラケット記法で表すと以下のようになる.

  • $|+\rangle = \frac{1}{\sqrt{2}}(|0\rangle + \langle1|) = H|0\rangle,\quad |-\rangle = \frac{1}{\sqrt{2}}(|0\rangle - \langle1|) = H|1\rangle$とする
  • $H = |+\rangle \langle 0| \quad + \quad |-\rangle \langle 1|$

以下はHゲートを用いた回路の例となる.

スクリーンショット 2024-11-30 182252.png

スクリーンショット 2024-11-30 184044.png

$|0\rangle$は,0が100%の確率で観測されるということである.

しかし,Hゲートを通すことで1/2の確率(等確率)で0と1が観測されるようになる.

このように,アダマールゲートを用いることで重ね合わせ状態を生成できる.

また,逆にHゲートを用いると,$\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle)$という重ね合わせ状態から,
$|0\rangle$を作ることもできる.(可逆)

行列での計算例(Hゲート)

Hにより,量子状態$|0\rangle,|1\rangle, \frac{1}{\sqrt{2}}(|0\rangle +|1\rangle), \frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)$が
どのように計算されるか以下に示す.

\displaylines{
H|0\rangle 
=
\frac{1}{\sqrt{2}}

\left(
\begin{matrix} 
1 & 1\\ 
1 & -1
\end{matrix} 
\right)

\left(
\begin{matrix} 
1 \\ 
0
\end{matrix} 
\right)

= 
\frac{1}{\sqrt{2}}

\left(
\begin{matrix} 
1 \\ 
1
\end{matrix} 
\right)

=

\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle)\\



H|1\rangle 
=
\frac{1}{\sqrt{2}}

\left(
\begin{matrix} 
1 & 1\\ 
1 & -1
\end{matrix} 
\right)

\left(
\begin{matrix} 
0 \\ 
1
\end{matrix} 
\right)

= 
\frac{1}{\sqrt{2}}

\left(
\begin{matrix} 
1 \\ 
-1
\end{matrix} 
\right)

=

\frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)\\

H

\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle)

=
\frac{1}{\sqrt{2}}

\left(
\begin{matrix} 
1 & 1\\ 
1 & -1
\end{matrix} 
\right)

\left(
\begin{matrix} 
\frac{1}{\sqrt{2}} \\ 
\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

= 

\left(
\begin{matrix} 
1 \\ 
0
\end{matrix} 
\right)

=

|0\rangle \\

H

\frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)

=

\frac{1}{\sqrt{2}}

\left(
\begin{matrix} 
1 & 1\\ 
1 & -1
\end{matrix} 
\right)

\left(
\begin{matrix} 
\frac{1}{\sqrt{2}} \\ 
-\frac{1}{\sqrt{2}}
\end{matrix} 
\right)

= 


\left(
\begin{matrix} 
0 \\ 
1
\end{matrix} 
\right)

=

|1\rangle 
}

ブラケット記法による計算例

$|0\rangle=\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle)$, $|1\rangle = \frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)$であることを利用すると,
量子状態$\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle), \frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)$は以下のように演算できる.
(Hがケットベクトルにかかっているイメージ)

H\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle) 
= \frac{1}{\sqrt{2}}(\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle) + \frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)) 
= \frac{1}{\sqrt{2}} (\frac{2}{\sqrt{2}}|0\rangle) 
= |0\rangle
H\frac{1}{\sqrt{2}}(|0\rangle -|1\rangle) 
= \frac{1}{\sqrt{2}}(\frac{1}{\sqrt{2}}(|0\rangle +|1\rangle) - \frac{1}{\sqrt{2}}(|0\rangle -|1\rangle)) 
= \frac{1}{\sqrt{2}} (\frac{2}{\sqrt{2}}|1\rangle) 
= |1\rangle

最後に

行列演算よりも,それぞれのゲートの$|0\rangle, |1\rangle$がどのようになるかを覚えて,
ブラケット記法で演算するのが良い.

次回は,2入力2出力などの複数量子ビットを用いる量子ゲートを扱う.

位相についての理解はまた機会があれば...

参考サイト

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?