ラベル 密度行列 の投稿を表示しています。 すべての投稿を表示
ラベル 密度行列 の投稿を表示しています。 すべての投稿を表示

2026年5月24日日曜日

量子鍵配送プロトコルBB84での混合状態

Mixed States in the BB84 Quantum Key Distribution Protocol

At first glance, it may seem that if a perfectly noise-tolerant quantum computer existed, quantum computations would remain in pure states from beginning to end, making mixed states unnecessary. However, this is a misconception. Even in such an ideal quantum computer, mixed states can play an important and practical role.

I came to understand this through the BB84 quantum key distribution (QKD) protocol. Using the dynamic-circuit functionality available in Qiskit, I was able to verify this behavior experimentally on an IBM Quantum processor, ibm_kingston.

Specifically, when an eavesdropper is present, the BB84 protocol predicts a theoretical error-detection rate of 25%. Running the protocol on the quantum computer yielded an observed error rate of 25.9%, in close agreement with the theoretical expectation.

This experiment demonstrates that mixed states are not merely artifacts of noise or imperfections. Rather, they are an essential and useful concept in quantum information processing, even when quantum operations themselves are ideally coherent.

【要旨】これまで、密度行列に関する記事を2つ(こちらこちらに)書いた。それによれば、もしも、完璧なノイズ耐性量子コンピュータがあれば、量子計算は最初から最後まで、純粋状態を保たれるので、混合状態は考える必要がないように思われた。しかし、それは誤りであり、たとえ、そのような量子コンピュータであっても、混合状態は有効に利用されるのである。そのことを、量子鍵配送プロトコルBB84を例として理解した。Qiskitに装備されている動的量子回路機能を用いて、IBM Quantum実機で確かめることもできた。


→Dr. Peter Lee, Dr. M.S. Qureshiからのこちらのコメントもここにあります。


🟢量子鍵配送プロトコルBB84の仕組み

 すでに、過去の記事(こちらこちら)で詳細を述べたが、短く言えば以下のようになるだろう。


-----「Aliceは、古典ビット(01)と、使用する基底(2種)をそれぞれランダムに選んで決定する。そして、選択した基底における、古典ビットに対応する状態ベクトルをBobへ送る。

 Bobは、Aliceとは全く独立に選んだ基底で、受信した量子状態を測定する。もしもAliceBobの選んだ基底が一致していれば、両者は同一の古典ビットを得ることになる。

 しかし、ここでEveが盗聴を試みる場合、Eveは自身がランダムに選んだ基底でAliceの量子状態を測定してしまう。そして、Eveは盗聴を隠蔽するため、自身の測定結果に応じて量子状態を再度生成してBobへ送らざるを得ない。これは、量子状態複製不可定理による。しかし、Eveの選んだ基底がAliceのものと異なる場合(1/2の確率)、BobへはAliceが送ったものとは異なる(変質した)量子状態が届くことになる。

 その結果、後線でAliceBobが互いの基底を照合し、『基底が一致していたケース』のみを抽出したとしても、そのうち1/425%の確率で二人の古典ビットが不一致を起こす。 AliceBobはこのエラー率を検出することで、Eveの盗聴を確実に察知できる。」-----


 たとえば、Aliceが連続して多数回、量子ビットを送信した場合の動きの例を以下に示す。盗聴がない場合と、盗聴がある場合について、その先頭部分を示す。


=== 1. 盗聴がない場合 (Eve: NO) ===

試行 1: Alice基底=X(0), Bob基底=X -> Bob測定=0 | 一致 (鍵採用)

試行 2: Alice基底=X(0), Bob基底=X -> Bob測定=0 | 一致 (鍵採用)

試行 3: Alice基底=X(0), Bob基底=Z -> Bob測定=0 | 不一致 (廃棄)

試行 4: Alice基底=X(0), Bob基底=X -> Bob測定=0 | 一致 (鍵採用)

試行 5: Alice基底=X(0), Bob基底=Z -> Bob測定=1 | 不一致 (廃棄)

試行 6: Alice基底=Z(1), Bob基底=X -> Bob測定=0 | 不一致 (廃棄)

試行 7: Alice基底=X(1), Bob基底=Z -> Bob測定=1 | 不一致 (廃棄)

試行 8: Alice基底=Z(1), Bob基底=X -> Bob測定=0 | 不一致 (廃棄)

試行 9: Alice基底=Z(0), Bob基底=X -> Bob測定=1 | 不一致 (廃棄)

試行 10: Alice基底=X(1), Bob基底=Z -> Bob測定=0 | 不一致 (廃棄)

. . . . . . . . . .

【結果】Aliceの鍵 : 0000101000111110110111100000101011011001110100111111

【結果】Bobの 鍵 : 0000101000111110110111100000101011011001110100111111

エラー率: 0.0%


=== 2. 盗聴がある場合 (Eve: YES) ===

試行 1: Alice基底=Z(0), Bob基底=X -> Bob測定=1 | 不一致 (廃棄)

試行 2: Alice基底=Z(1), Bob基底=X -> Bob測定=1 | 不一致 (廃棄)

試行 3: Alice基底=X(1), Bob基底=X -> Bob測定=0 | 一致 (鍵採用)

試行 4: Alice基底=X(0), Bob基底=X -> Bob測定=0 | 一致 (鍵採用)

試行 5: Alice基底=X(0), Bob基底=Z -> Bob測定=1 | 不一致 (廃棄)

試行 6: Alice基底=X(0), Bob基底=Z -> Bob測定=1 | 不一致 (廃棄)

試行 7: Alice基底=X(0), Bob基底=X -> Bob測定=1 | 一致 (鍵採用)

試行 8: Alice基底=X(1), Bob基底=X -> Bob測定=1 | 一致 (鍵採用)

試行 9: Alice基底=X(1), Bob基底=X -> Bob測定=0 | 一致 (鍵採用)

試行 10: Alice基底=X(0), Bob基底=Z -> Bob測定=0 | 不一致 (廃棄)

. . . . . . . . . .

【結果】Aliceの鍵 : 10011101100010110010001110110010011100110100

【結果】Bobの 鍵 : 00110101100011110010101111010111001100110000

エラー率: 25.0%


🟢混合状態はどこに現れ、利用されるか

 Aliceは「基底 Z= {|0>, |1>} または基底 X = {|+>, |->}」と「古典ビット(0または1)」をそれぞれ全くランダムに選び、以下に示す可能な4つの状態のいずれか1つを送信することになる。


 すなわち、送信される側のBobや、途中で盗聴を試みるEveの視点では、彼らはAliceがどの基底を使ったかを事前には知らない。したがって、彼らにとって届く量子状態は、4つの純粋状態が等確率(各 25%)で混ざり合った最大混合状態(Maximal Mixed State)になる。それを密度行列ρで表すと以下のようになる。


ρ = (|0><0| + |1><1| + |+><+| + |-><-| ) /4 = (1/2)I (Iは単位行列)


 このことは、Alice2つの基底をランダムに行き来することで、「基底情報を知らないEveが、その量子ビットから正しくビット情報を取り出すことはできない」ことを意味する。あるいは、

Eveがどの基底で待ち伏せしても、見つからず盗聴することは不可能」であることを示している。これが混合状態の正体であると言える。


🟢Qikitの動的量子回路機能でBB84を構成する

 以前は、量子回路は「測定」して得られた古典ビット情報に依存して、その後の量子回路を動的に変更や追加することができなかった。しかし、現在のQiskitではそれが可能なので、上に述べた混合状態を含む量子回路を、一つのジョブとして実行することができ、非常に便利である。その回路図は以下の通りである。

 

 Alice, Eve, およびBobがそれぞれ、どの基底を採用したか、また、測定結果はどうだったを見るため、量子回路の途中で、それぞれ2回づつ測定を行っている。それらの結果を6個の古典レジスタに格納し、その値に応じて、必要な量子ゲートを動的に追加している。


🟢IBM Quantumマシン実機(ibm_kingston)による実行結果

 以上の量子回路を、Open Planで利用可能なIBM 量子コンピュータ実機で実行した結果を以下に示す。盗聴なし、盗聴ありの両ケースとも、ノイズによる若干の影響がみられたが、ほぼ、理論値通りの結果が得られた。


==================================================

  Eveによる盗聴なしIBM Quantum ibm_kingston usage = 2s

==================================================

  採用鍵の長さ: 504 / 1000 shots

  AliceBobの選択基底が合致した先頭30個について:

   Aliceの鍵 : [1 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0]

   Bobの鍵  : [0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 1 0 1 0]

  実機エラー率: 1.4% (理論値: 0% + 実機ノイズ)

==================================================


==================================================

  Eveによる盗聴ありIBM Quantum ibm_kingston usage = 2s

==================================================

  採用鍵の長さ: 455 / 1000 shots

  AliceBobの選択基底が合致した先頭30個について:

   Aliceの鍵 : [0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0]

   Bobの鍵  : [1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 1 0]

  実機エラー率: 25.9% (理論値: 25% + 実機ノイズ)

==================================================


2026年5月18日月曜日

物理量の期待値(Expectation Value of an Observable)の計算

【要旨】前報の続編である。量子状態\( | \psi \rangle\)におけるObservable Aの期待値と\(| \psi \rangle \)の密度行列\(\rho\)との関係を、\(\rho \)の固有値を用いて示す。理解を深める練習のため、その計算過程の詳細を追ってみよう。

-notice-スマホのブラウザの"モバイルバージョン"では数式が見えない場合があります。"ウエブバージョン"でご覧ください。

🟢期待値を密度行列の固有値を用いて表す
 量子状態\( | \psi \rangle\)におけるObservable Aの期待値\(\langle A \rangle \)と、この\( | \psi \rangle\)の密度行列\(\rho_\psi \)は以下の通りである。

\( \langle A \rangle = \langle \psi | A | \psi\rangle\) …….① 
\( \rho_\psi = |\psi\rangle\langle\psi|\) ………….② 

密度行列はエルミート行列なので、次のように固有値分解できる。 
\( \rho_\psi = \sum_{k} \lambda_k |\psi_k\rangle\langle\psi_k|\) ……….③ 

以上のことから、次の式が導かれる。詳細は後述する。 
\(\langle A \rangle = \text{Tr}(\rho_\psi A) \) ……………….④ 
\(\langle A \rangle= \sum_{k} \lambda_k \langle \psi_k | A | \psi_k \rangle \) ……….⑤ 

この結果から以下のことが言える。
「Aの期待値は、各固有状態\(| \psi_k \rangle \)での期待値\(\langle \psi_k | A | \psi_k \rangle \)を密度行列の固有値\( \lambda_k\)で重み付け平均したものである。」

状態が純粋状態か混合状態かの違いが、固有値に現れる。
【1】量子状態が純粋状態ならば、固有値1の状態だけがAの期待値に寄与する。
【2】量子状態が混合状態ならば、複数の固有値がAの期待値に寄与する。例えば、密度行列\( \rho = \frac{1}{2}|0\rangle\langle 0| +\frac{1}{2}|1\rangle\langle 1| \)の場合は、2つの固有値\( \lambda_1=\lambda_2=\frac{1}{2}\)が期待値に寄与する。

🟢上記の2式④と⑤の導出
 ここまで、途中計算を省略した部分があるので、それをここで補う。

【④の式 \(\langle A \rangle = \text{Tr}(\rho_\psi A) \)の導出】

記述を簡単にするため、添え字\( \psi\)は省略する。 

\(\rho= |\psi\rangle\langle\psi| \), \( \langle A \rangle = \langle \psi | A | \psi\rangle\)であること、さらに、トレースの巡回性\(\text{Tr}(XYZ)=\text{Tr}(ZXY) \)により、 
$$ \text{Tr}(\rho A) =\text{Tr}( |\psi\rangle\langle\psi|A)=\text{Tr}( \langle\psi|A|\psi\rangle)$$ 
ここで、\( \langle\psi|A|\psi\rangle\)はスカラ(1行1列の)である。そのトレースは自分自身なので、 \( \text{Tr}( \langle\psi|A|\psi\rangle)=\langle\psi|A|\psi\rangle=\langle A \rangle\)となり、④が成立する。

【⑤の式 \( \langle A \rangle= \sum_{k} \lambda_k \langle \psi_k | A | \psi_k \rangle \)の導出】

記述を簡単にするため、添え字\(\psi \)は省略する。①〜④を使うと、
$$ \langle A \rangle=\operatorname{Tr}(\rho A) = \operatorname{Tr}\left[ \left( \sum_k \lambda_k |\psi_k\rangle \langle \psi_k| \right) A \right]$$
\(= \operatorname{Tr}\left[\sum_k \lambda_k |\psi_k\rangle \langle \psi_k| A \right] \) (分配則)

\( = \sum_k \lambda_k \operatorname{Tr}\left( |\psi_k\rangle \langle \psi_k| A \right)\)(トレースの線形性)

\( = \sum_k \lambda_k \operatorname{Tr}\left( \langle \psi_k| A |\psi_k\rangle \right)\)(④と同様、トレースの巡回性)

\( = \sum_k \lambda_k \langle \psi_k| A |\psi_k\rangle \)(④と同様、スカラのトレースは自分自身)

2026年5月11日月曜日

密度行列における部分トレースと部分系の純粋性

【要旨】量子ビットの状態は、環境の影響を受けることにより、複数の状態が(古典的な)統計的に混じり合った混合状態になる。例えば、|0>と|1>が50%づつ混じった状態などである。これは、量子的な重ね合わせ(superposition)ではない。このような混合状態は、|0>や|1>、および(|0>+|1>)/√2 等の純粋状態とは別物である。しかし、通常のZ基底による測定結果の統計分析だけでは、測定前が、混合状態であったのか、純粋状態であったのかは、一般に区別できない。一方、混合状態と純粋状態を統一的に扱う密度行列というものがある。これを利用すると、興味深いことに、全体が純粋状態であった場合でも、部分系は混合状態であることがある。その状況を、4量子ビットのシステムの例について、手計算で確かめてみた。

-notice-スマホのブラウザの"モバイルバージョン"では数式が見えない場合があります。"ウエブバージョン"でご覧ください。

🟢4-qubit(a,b,c,d)の2種類の純粋状態について考える
 以下の2つの場合について考察する。① もつれのない純粋状態と、② 完全にもつれた純粋状態、である。

① 量子もつれのない純粋状態
 各 qubit が独立な状態として、例えば次のような状態\(|\psi\rangle\)を考える。 $$
|\psi\rangle = |0\rangle_a \otimes |1\rangle_b \otimes |0\rangle_c \otimes |1\rangle_d
$$ 全体密度行列は、 $$\rho_{abcd} = |\psi\rangle \langle \psi| =|0101\rangle \langle 0101|$$である。 この状態は積状態(product state)であり、qubit a は他の qubit と全くもつれていない。
部分トレースを行う。システムbcd(aを除いた)をトレースアウトすると、$$\rho_a = \mathrm{Tr}_{bcd}(\rho_{abcd}) $$ $$ =
\sum_{x=000}^{111}
{}_{bcd}\langle x|
\left(
|0\rangle\langle0|_a
\otimes
|101\rangle\langle101|_{bcd}
\right)
|x\rangle_{bcd}
 $$ この結果、部分系 a の密度行列は以下の通りとなる。 $$\rho_a = |0\rangle \langle 0| = \begin{pmatrix}1 & 0 \\ 0 & 0\end{pmatrix}$$ 純粋状態か混合状態かを調べる。純粋状態である条件は以下の通りであり、実際それは成立する。 $$ \rho_a^2 =\rho_a $$ したがって、部分系 a は純粋状態である。

② 完全にもつれた純粋状態
 以下の4 qubit の GHZ 状態を考える。これは、4 qubit全体で完全にもつれた純粋状態である。 $$
|\psi\rangle = \frac{1}{\sqrt{2}}\left(|0000\rangle + |1111\rangle\right)
$$ 
全体系の密度行列\(\rho_{abcd}\)は以下の通りとなる。 $$\rho_{abcd} = |\psi\rangle \langle \psi| $$ $$
 =\frac{1}{2}\Big(|0000\rangle\langle0000| + |0000\rangle\langle1111| + |1111\rangle\langle0000| + |1111\rangle\langle1111|\Big) 
$$ ここで、上記の①の場合と同様に、bcdを部分トレースし、以下のようにaに関する部分密度行列\(\rho_a\)を計算する。 $$\rho_a = \mathrm{Tr}_{bcd}(\rho_{abcd}) $$ この部分トレースを行うと以下の交差項は消える。 $$ |0000\rangle\langle1111|, |1111\rangle\langle0000|$$ その結果、aに関する部分密度行列は以下のようになる。 $$\rho_a = \frac{1}{2}\left(|0\rangle\langle0| + |1\rangle\langle1|\right) = \frac{1}{2}\begin{pmatrix}1 & 0 \\ 0 & 1\end{pmatrix}$$ 純粋状態か混合状態かであるが、この部分密度行列については、以下のように、純粋状態の条件を満たさない。すなわち、 $$ \rho_a^2 = \left(\frac{1}{2}\begin{pmatrix}1 & 0 \\ 0 & 1\end{pmatrix}\right)^2 = \frac{1}{4}\begin{pmatrix}1 & 0 \\ 0 & 1\end{pmatrix} \neq \rho_a $$ したがって、部分系 a は混合状態である。

🟢結論(純粋状態か混合状態か)
 量子もつれのない積状態では部分系も純粋状態となる。一方、もつれた純粋状態では、全体系は純粋状態であっても、部分系は混合状態となる。これは量子もつれの本質的特徴の一つであり、「全体系の情報は完全でも、部分系だけを見ると統計的混合に見える」という現象を示している。これは興味深いことである。

🟢補足(テンソル積関係の公式)
 上に述べた、全体の密度行列を、トレースアウトして、部分密度行列を算出する手順は省略したが、実はこの計算は、テンソル積、外積、内積が絡み合っているので戸惑った。しかし、以下の公式を思い出すことによって、計算することができた。特に、最後の公式は見逃しやすく、とても重要と思うので掲載しておきたい。
$$ \begin{align} (A\otimes B)(|x\rangle\otimes|y\rangle)=(A|x\rangle)\otimes(B|y\rangle)\\ (\langle a|\otimes\langle b|)(|c\rangle\otimes|d\rangle)=\langle a|c\rangle\langle b|d\rangle \\ (|a\rangle\langle c|)\otimes(|b\rangle\langle d|)=|ab\rangle\langle cd|\\ \sum_i |i\rangle\langle i|=I\\ {}_{\mathbf{Y}}\langle \psi|(|a\rangle_\mathbf{X}\otimes |b\rangle_\mathbf{Y})=|a\rangle_\mathbf{X} \,{}_{\mathbf{Y}}\langle \psi |b\rangle_\mathbf{Y}\\ \end{align} $$  最後の公式は、部分系Yに属するブラは、その部分系Yのケットにだけ作用することを意味する。また、以下のようにみなすと、最後の公式は、上から2番目の公式の特別の場合であることが分かる。 $$ {}_{\mathbf{Y}}\langle \psi| =I_\mathbf{X}\otimes {}_{\mathbf{Y}}\langle \psi| $$

🟢純度(purity)と量子もつれの強さ
 上記に、「①もつれのない純粋状態」と「②完全にもつれた純粋状態」について述べたので、「純粋状態の程度を示す純度(purity)」と「もつれの強さ」との関係を確認しておきたい。本来、この両者は物理的には異なる概念のようである。しかし、次のような関係がある。

「全体系が純粋状態である場合、部分系のpurityは、その部分系とそれ以外の残り(環境系)との間のもつれの強さの指標となる。部分系のpurityが1よりかなり小さい場合、その部分系とそれ以外の部分との量子もつれはかなり強いと言える。上記②はその一例である。」

🟢密度行列の固有値
 ここまでは、密度行列の固有値に関しては触れなかったが、これは重要なので追記する。
 (少し長くなってしまったので、→こちらに書きました。

🟢参考資料
 密度行列と部分トレースに関して、以下の資料を参考にさせていただいた。

[1] Leonard Susskind & Art Friedman, Quantum Mechanics - the Theoretical Minimum, Penguin Books, 2014, (mainly)Lecture 7.
[2] 嶋田義皓, 量子コンピューティング, オーム社, 2023, pp.51-52.
[3] 西村治道, 基礎から学ぶ量子計算, オーム社, 2022, pp.87-97.
[4] ChatGPTおよびGoogle Geminiを介しての調査結果