2025年5月9日金曜日

最新版Qiskit2.0を利用した量子コンピューティングの解説書

 IBMの量子コンピューティング開発プラットフォームQiskitは、頻繁に改訂されることで有名だ。研究開発が活発な証しではあるが、時として以前に書いたコードが動かなくなる状況が発生し、困ることも多い。直近では、かなり大幅な改訂版となったQiskit2.0が公開されている。IBMのサイトに関連ドキュメントはあるが、これを取り上げた書籍は(和書、洋書とも)まだ見当たらないと思っていた。ところが、以下の和書が早くも出版されていることを知り驚いた!
中山茂、Qiskit2.0 量子コンピューティング入門、2025年5月
🔴本書の特徴(深い理論も実際に動くコードでイメージを掴みやすい)
 著者の中山茂教授は、これまでもタイムリーに量子関連書籍を多数執筆されている。彼の著書では、量子コンピューティングに関するかなり深い理論も、量子回路シミュレータや量子コンピュータ実機で実際に動くコードを示して、分かりやすく説明している。それが最大の特徴と言える。それによって、読者はイメージを掴みやすく、より深く理解しようという意欲が湧く。

 本書(全214頁)の内容は、量子コンピューティングの基本から始まり、量子テレポーテーション、グローバー探索、量子フーリエ変換、ショアの因数分解といった重要なアルゴリズムをカバーしている。そして、ショアの因数分解に等に現れる量子/古典のハイブリッドアルゴリズムが、現状では実際的であることを強調している。実際、ショアの因数分解では、古典的には困難なモジュロ冪函数の周期発見を量子アルゴリズムで、そして、その後のユークリッド互除法を古典的に行う方法を、実際に動くコードを使って詳細に説明している。

 実は、さらに素晴らしいと感じたのが第4章(量子非局所性と期待値計算)である。ここでも、Qiskitコードを使って、量子物理学の根幹に関わる量子非局所性を説明している。すなわち、ベル状態でのテンソル積の期待値測定の量子回路を組んで、その測定結果を示しながら量子非局所性を実験的に証明している。

🔴量子状態 ∣ψ⟩に対する演算子Aの期待値 ⟨ψ∣A∣ψ⟩
 上に述べた「ベル状態でのテンソル積の期待値測定」の一つを具体的に見てみよう。
 例えば、ベル状態の一つを ψ = (1/√2)(∣01⟩+∣10⟩)とする。その時、⟨ZZ⟩=⟨ψ∣Z⊗Z∣ψ⟩は、パウリZ演算のテンソル積(行列)の期待値を与える。その値は、(具体的な展開計算は略すが)-1となる。これは、2つの量子ビットに対するZ基底測定が、それぞれ異なる値(0 or 1)となることが確実なことを意味する。そのような逆向きの強い相関である。
 このことを、QiskitのStatevectorクラスを使ったQiskitコードを作り確認している。すなわち、それを実行させると測定値が-1となり、手計算の結果と合致すること分かる。
(以下の図は、本書に載っているものではなく、私が用意した参考図である。)

0 件のコメント:

コメントを投稿