15
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

この記事について

マウスだけ!で作る量子テレポーテーションで扱った量子テレポーテーションは、古典ビットを使って量子状態を転送しました。
この逆操作である、超高密度符号化実験(Superdense coding)について扱っていきたいと思います。
上記記事と同様に、

  • 前半は、量子シミュレータをマウスで操作することで、量子回路を構成し
  • 後半は、数式を用いて超高密度符号化実験の操作を追っていきます

一応、前半のマウス操作だけで理解できる構成にした(つもり)ですが、興味が湧いた方は、
後半の数式も参照頂ければと思います。

なお、他の量子コンピュータ関係の他の記事は、下記で紹介しています。

また、実際にAmazon Braketを利用し動きを見たい方は、下記を参照ください。

\newcommand{\bra}[1]{\left\langle #1 \right|}
\newcommand{\ket}[1]{\left| #1 \right\rangle}
\newcommand{\bracket}[2]{\left\langle #1 \middle| #2 \right\rangle}
\newcommand{\tate}[2]{\begin{bmatrix} #1 \\ #2 \end{bmatrix}}
\newcommand{\yoko}[2]{\begin{bmatrix} #1 & #2 \end{bmatrix}}
\newcommand{\mtrx}[4]{\begin{bmatrix} #1 & #2 \\ #3 & #4 \end{bmatrix}}

量子テレポーテーションとの比較

超高密度符号化実験と量子テレポーテーションを下記に比較します。
下記のように、「送信したいもの」と「利用する道具」が逆転していることがわかります。

送信したいもの 利用する道具
量子テレポーテーション 1量子状態 古典2ビット
超高密度符号化実験 古典2ビット 1量子状態

超高密度符号化実験の回路

非常にシンプルです。下記のリンクをクリックすることで、Quirkで回路を開くことができます。

では、回路を詳細に見ていきましょう。

# 回路 説明
1 量子テレポーテーションの記事で見たとおり、2量子のもつれあい(相互作用)を発生するBell回路で、H+CNOTで構成されます。
2 送信者が、操作することができる量子ゲートです。
図はXゲート(NOT)ですが、量子テレポーテーションと同様に送信したいメッセージ(古典2ビット)に対応して、利用するゲートを選択します。
ゲートをどう選択するか?は後述します
3 量子テレポーテーションの記事で見たとおり、2量子のもつれあい(相互作用)を解消し、Bell測定を行うための逆Bell回路です。Bell回路と逆の構造をしています。

送信者のゲートの選択

送信者は、送信したいメッセージの古典2ビット(00/01/10/11)に応じ、ゲートを選択し適用することで、量子1ビットに対する操作で、古典2ビットのメッセージを送信します。
ゲートの選択は下記の通りです。

# 送信
MSG
適用
ゲート
結果
1 $00$ ※なし
2 $01$ $X$
3 $10$ $Z$
4 $11$ $XZ$

実際に、Quirk上で送信者が操作するゲートを入れ替えていただけるとわかりやすいと思います

ちょっとおしゃれにする(余談)

送信に利用するゲート選択を、時々刻々と変化させるようにするとこんな感じになります。
送信者の送信メッセージが、受信者に同じビットパターン(00,01,10,11)で伝わるのがわかりやすいかと思います。

ここまでのまとめ

量子テレポーテーションの逆操作である、超高密度符号化実験(Superdense coding)について扱いました。このアルゴリズム(操作)が何ができる?というわけではないのですが、両者ともに共通して言えるのは、

  • Bell回路にて発生させた量子のもつれあいが重要な要素である
  • もつれあいを利用することで「量子1ビット→古典2ビット、古典2ビット→量子1ビット」を行き来することができる。

という面白い特性を持ちます。
実用的なアルゴリズムをこれから勉強する際に、量子の「重ね合わせ」や「もつれあい」に慣れ親しむ意味でも、これらに触れることは良い経験であると考えています。

最後に数式で確認

上記で概要は把握頂けたかと思いますが一応最後に、数式で確認していきたいと思います
なお、量子ゲートの$braket$での演算に慣れていない方は先に、下記を参照ください。

00)ゲート操作無し

まずは、Bell回路で「もつれあい」を作ります

\displaylines{
\ket{00} 
\xrightarrow[]{H_{1}}
\frac{1}{\sqrt{2}}(\ket{0}+\ket{1}) \otimes\ket{0} 
\\
=\frac{1}{\sqrt{2}}(\ket{00}+\ket{10})
\ 
\xrightarrow[]{CX_{12}}
\ 
\frac{1}{\sqrt{2}}(\ket{00}+\ket{1\color{redk}{1}})
}

そしてゲート適用をせずに、逆Bell回路に掛けます

\displaylines{
\frac{1}{\sqrt{2}}(\ket{00}+\ket{11}
\xrightarrow[]{CX_{12}}
\frac{1}{\sqrt{2}}(\ket{00}+\ket{1\color{red}{0}})
\\
\xrightarrow[]{H_{1}}
\frac{1}{\sqrt{2}}\left(\frac{1}{\sqrt{2}}(\ket{0}+\ket{1})\otimes\ket{0}+\frac{1}{\sqrt{2}}(\ket{0}-\ket{1})\otimes\ket{0}\right)
\\
=\frac{1}{2}\left(\color{blue}{\ket{00} + \ket{10} }\color{blue}{+ \ket{00}} \color{red}{- \ket{10}}\right)
}

ここで、赤と青の項に注目すると、

  • $\ket{00}$は両方とも$\color{blue}{+}$であり、相互に強め合う関係
  • $\ket{10}$は一方が$\color{blue}{+}$、一方が$\color{red}{-}$であり、弱め合う関係

波の干渉を思い出していただくとわかるのですが、波が強めあい、弱め合う、干渉により波動の状態が収縮します。

そして、

\frac{1}{2}\left(\color{blue}{\ket{00} + \ket{10} }\color{blue}{+ \ket{00}} \color{red}{- \ket{10}}\right) = \frac{1}{2}(2 \times \ket{00}) = \ket{00}

となります。$\ket{00} = \ket{0} \otimes \ket{0}$であり、係数は$1^2=1$ということで、両ビットとも100%で0が観測できます。つまり、受信者は古典2ビット(00)を得ます。

では、残りも見ていきましょう。

01)Xゲート適用

Bell回路でもつれあいを作るところまでは一緒で、${X_1}$ゲートを適用します。

\ket{00} 
\xrightarrow[]{H_{1} CX_{12}}
\frac{1}{\sqrt{2}}(\ket{00}+\ket{11})
\xrightarrow[]{X_1}
\frac{1}{\sqrt{2}}(\ket{\color{red}{1}0}+\ket{\color{red}{0}1})

これの状態に逆Bell回路を適用すると

\displaylines{
\frac{1}{\sqrt{2}}(\ket{10}+\ket{01})
\xrightarrow[]{CX_{12}}
\frac{1}{\sqrt{2}}(\ket{1\color{red}{1}}+\ket{01})
\\
\xrightarrow[]{H_{1}}
\frac{1}{\sqrt{2}}\frac{1}{\sqrt{2}}(\ket{01}-\ket{11}+\ket{01}+\ket{11})
\\
=\frac{1}{\sqrt{2}}(2 \times \ket{01}) = \ket{01}
}

上述と同様に、干渉による強めあい、弱めあいで、$\ket{01}$が残ります

10)Zゲート適用

Bell回路でもつれあいを作るところまでは一緒で、${Z_1}$ゲートを適用します。

\ket{00} 
\xrightarrow[]{H_{1} CX_{12}}
\frac{1}{\sqrt{2}}(\ket{00}+\ket{11})
\xrightarrow[]{Z_1}
\frac{1}{\sqrt{2}}(\ket{00}\color{red}{-}\ket{\color{red}{1}1})

これの状態に逆Bell回路を適用すると

\displaylines{
\frac{1}{\sqrt{2}}(\ket{00}-\ket{11})
\xrightarrow[]{CX_{12}}
\frac{1}{\sqrt{2}}(\ket{00}-\ket{1\color{red}{0}})
\\
\xrightarrow[]{H_{1}}
\frac{1}{\sqrt{2}}\frac{1}{\sqrt{2}}(\ket{00}+\ket{10}-\ket{00}+\ket{10})
\\
=\frac{1}{\sqrt{2}}(2 \times \ket{10}) = \ket{10}
}

同様に波動の干渉で、$\ket{10}$が残ります。

11)XZゲート適用

最後です。Bell回路でもつれあいを作るところまでは一緒で、$X_1Z_1$ゲートを適用します。

\displaylines{
\ket{00} 
\xrightarrow[]{H_{1} CX_{12}}
\frac{1}{\sqrt{2}}(\ket{00}+\ket{11})
\\
\xrightarrow[]{X_1}
\frac{1}{\sqrt{2}}(\ket{\color{red}{1}0}+\ket{\color{red}{0}1})
\xrightarrow[]{Z_1}
\frac{1}{\sqrt{2}}(\color{red}{-}\ket{\color{red}{1}0}+\ket{01}) 
\\
=\frac{1}{\sqrt{2}}(\ket{01}-\ket{10})
}

これの状態に逆Bell回路を適用すると

\displaylines{
\frac{1}{\sqrt{2}}(\ket{01}-\ket{10})
\xrightarrow[]{CX_{12}}
\frac{1}{\sqrt{2}}(\ket{01}-\ket{1\color{red}{1}})
\\
\xrightarrow[]{H_{1}}
\frac{1}{\sqrt{2}}\frac{1}{\sqrt{2}}(\ket{01}+\ket{11}-\ket{01}+\ket{11})
\\
=\frac{1}{\sqrt{2}}(2 \times \ket{11}) = \ket{11}
}

同様に波動の干渉で、$\ket{11}$が残ります。

まとめ

数式の方は若干冗長だったかもしれませんが、、
このように$braket$形式で数式を追うことで、逆Bell回路(Bell測定)により、
もつれ合ったBell状態から、基底状態に波動が収縮する状況が、
数式(数理モデル)上でも読み取れる点が、興味深いと考えます。
ちょっと長めの記事となり恐縮です。

最後に、本稿でイメージを掴んで頂き、実際の量子デバイスやシミュレータで動きを確認してみたい方は、ぜひ、AmazonBraketで学ぶ量子コンピュータ⑤を参照ください。

15
0
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
15
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?