Top 8
Outer WildsストーリーMODを色々やってみた
June 18, 2023, 10:04 a.m.表面符号と戯れる【量子コンピューター Advent Calendar 2023 23 日目】
Dec. 23, 2023, 3:28 a.m.位数発見アルゴリズム ~Quantum Zooやっていく【特別編】~
Jan. 27, 2023, 2:50 p.m.ストーリー追加 Mod: The Outsider やっていく日記【Outer Wilds】
Feb. 19, 2023, 6:33 a.m.意識が量子効果で生じることを示す実験結果についてちょっと調べただけのメモ
April 21, 2022, 3:09 p.m.ストーリー追加 MOD: Astral Codec やっていく日記【Outer Wilds】
Feb. 25, 2024, 8:47 a.m.Outer Wilds の量子は計算能力が(ある程度)すごいのではという話
Jan. 15, 2022, 8:35 a.m.MacでAge of Empires 2 DE (AoE2DE)をCrossOverで動かす
May 31, 2021, 11:52 a.m.Qiskit でエンタングルメント・エントロピーを計算する
March 12, 2022, 9:59 a.m. edited March 13, 2022, 12:36 a.m. $$ \def\bra#1{\mathinner{\left\langle{#1}\right|}} \def\ket#1{\mathinner{\left|{#1}\right\rangle}} \def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}} $$注意事項:本記事では量子アルゴリズムによりエンタングルメント・エントロピーを計算するのではなく、 Qiskit の API を用いて計算する。もしも量子アルゴリズムで求めたいならば [arXiv:1908.05251] とか参照すると良いかもしれない。
エンタングルメント・エントロピー
量子エンタングルメントの強さを定量化する量としてエンタングルメント・エントロピーがある。ただし定量化できるのは純粋状態のときのみであるので、今回は純粋状態しか考えない。
ある 2 つの部分系 A, B からなる量子状態 \(\ket{\psi}_{AB}\) を考えると、密度演算子は \(\rho_{AB}=\ket{\psi}_{AB}\bra{\psi}\) と表される。この密度演算子を部分系 B についてトレースアウトした縮約密度演算子 \(\rho_A=\mathrm{Tr}_B\rho_{AB}\) を用いて、エンタングルメント・エントロピーは
$$S_A=-\mathrm{Tr}\rho_A \log \rho_A$$
と表される。
エンタングルメント・エントロピーの計算例
2 つの量子ビット A, B を用いた
$$\ket{\psi}_{AB}=c\ket{0}_A\ket{0}_B+\sqrt{1-c^2}\ket{1}_A\ket{1}_B\tag{1}$$
を考える(\(0\leq c\leq 1\))。この密度演算子は
$$ \begin{align} \rho_{AB}=&c^2\ket{0}_A\ket{0}_B\bra{0}_A\bra{0}_B+c\sqrt{1-c^2}\ket{0}_A\ket{0}_B\bra{1}_A\bra{1}_B\\ +&c\sqrt{1-c^2}\ket{1}_A\ket{1}_B\bra{0}_A\bra{0}_B+(1-c^2)\ket{1}_A\ket{1}_B\bra{1}_A\bra{1}_B \end{align} $$
であるので、部分系 B についてトレースアウトした縮約密度演算子は
$$ \begin{align} \rho_{A}&=\mathrm{Tr}_B\rho_{AB}\\ &=\bra{0}_B\rho_{AB}\ket{0}_B+\bra{1}_B\rho_{AB}\ket{1}_B\\ &=c^2\ket{0}_A\bra{0}_A+(1-c^2)\ket{1}_A\bra{1}_A \end{align} $$
となる。ゆえに、エンタングルメント・エントロピーは
$$ \begin{align} S_A&=-\mathrm{Tr}\rho_A\log\rho_A\\ &=-\mathrm{Tr}\{(c^2\log c^2)\ket{0}_A\bra{0}_A+((1-c^2)\log(1-c^2))\ket{1}_A\bra{1}_A\}\\ &=-c^2\log c^2-(1-c^2)\log(1-c^2) \end{align} $$
となる。このとき、 \(S_A\) は \(c=0,1\) のときに最小の \(0\)、\(c=\frac{1}{\sqrt{2}}\) のときに最大の \(\log 2=1\) となる。
Qiskit で計算
前節で手計算したエンタングルメント・エントロピーを Qiskit で計算してみる。状態 (1) は RYGate を用いることで作成できる。環境としては qiskit==0.34.2
, qiskit-aer==0.10.3
にて実験している。部分トレースをおこなう関数として partial_trace
、 von Neumann entropy を計算する関数として entropy
があるので、この 2 つを組み合わせることで以下のようにエンタングルメント・エントロピーを計算できる。
import numpy as np
from qiskit import QuantumCircuit, Aer, transpile
from qiskit.quantum_info import partial_trace, entropy
c = 1 / np.sqrt(2)
def main():
qc = QuantumCircuit(2)
qc.ry(2 * np.arccos(c), 0)
qc.cx(0, 1)
backend = Aer.get_backend('aer_simulator_statevector')
qc = transpile(qc, backend)
qc.save_statevector()
job = backend.run(qc)
statevector = job.result().get_statevector(qc)
reduced_state = partial_trace(statevector, [1]) # 1 (つまり部分系 B) について部分トレース
print(np.array(reduced_state))
print(entropy(reduced_state))
if __name__ == '__main__':
main()
5 行目の c
に \(\frac{1}{\sqrt{2}}\) を入れて実行すると、
[[0.5+0.j 0. +0.j]
[0. +0.j 0.5+0.j]]
1.0
となり、正しい縮約密度演算子および最大のエンタングルメント・エントロピーが得られたことを確認できた。
Top 8
Outer WildsストーリーMODを色々やってみた
June 18, 2023, 10:04 a.m.表面符号と戯れる【量子コンピューター Advent Calendar 2023 23 日目】
Dec. 23, 2023, 3:28 a.m.位数発見アルゴリズム ~Quantum Zooやっていく【特別編】~
Jan. 27, 2023, 2:50 p.m.ストーリー追加 Mod: The Outsider やっていく日記【Outer Wilds】
Feb. 19, 2023, 6:33 a.m.意識が量子効果で生じることを示す実験結果についてちょっと調べただけのメモ
April 21, 2022, 3:09 p.m.ストーリー追加 MOD: Astral Codec やっていく日記【Outer Wilds】
Feb. 25, 2024, 8:47 a.m.Outer Wilds の量子は計算能力が(ある程度)すごいのではという話
Jan. 15, 2022, 8:35 a.m.MacでAge of Empires 2 DE (AoE2DE)をCrossOverで動かす
May 31, 2021, 11:52 a.m.Tags
- #Python (26)
- #量子力学 (25)
- #量子情報 (23)
- #Unity (11)
- #Outer Wilds (11)
- #数学 (9)
- #Mac (9)
- #AoE2 (8)
- #Linux (7)
- #Quantum Zoo (6)
- #意識 (5)
- #シミュレーション (5)
- #NumPy (5)
- #Bash (5)
- #相対論 (4)
- #Docker (4)
- #Android (4)
- #Qiskit (4)
- #Rust (3)
- #PyO3 (3)
- #GitHub (3)
- #Django (2)
- #情報理論 (2)
- #LaTeX (2)
- #AR (2)
- #Git (2)
- #iOS (2)
- #C++ (2)
- #正規表現 (2)
- #論文 (2)
- #電磁気学 (1)
- #Google Drive (1)
- #Overleaf (1)
- #Let's Encrypt (1)
- #ポケモン (1)
- #AdMob (1)
- #Autoya (1)
- #docopt (1)
- #SymPy (1)
- #AWS (1)
- #Twitter (1)
- #URP (1)
- #iMovie (1)
- #PyTorch (1)
- #C# (1)
- #Vim (1)