2025年3月24日月曜日

Quantum Computing書籍を新たに2冊購入

 量子コンピューティング関係書籍(特に洋書)の出版が増加している。なかには買ってみて残念な本もあったのだが、今回の以下の2冊はとても優れていると感じたので簡単に紹介したい。

🔴Peter Y. Lee, Huiwen Ji, Ran Cheng: Quantum Computing and Information, Polaris QCI Pub., 2nd edition, Feb. 2025

 まず、2025年出版という新しさに期待した。十分それに応えてくれるものだった!全502ページの厚みに内容の濃さが窺えるだろう。初級〜中級程度の内容が、豊富な図版とともに詳述されていて、じっくり学ぶのに適している。

2025年2月出版、全502ページ、章タイトルを記入してみた
 冒頭で、光子(Photon)の偏光を用いて、量子ビットの基本的な考え方を示している。そこから重ね合わせや測定、量子ゲート、量子回路へと繋げている。この段階で、量子鍵配送の基本の一つであるBB84を導く。次に、量子もつれに関しては、約80ページを費やして精緻に叙述している。この中には、もちろんBellの不等式なども含まれる。さらに、量子鍵配送の別の重要技術であるE91(Ekert)や量子Teleportationが、Qiskitコード例とともに良く説明されている。応用として、NISQ時代のハイブリッドアルゴリズム(VQE: Variational Quantum Eigensolver, AQC: Adiabatic Quantum Computation)や、誤り訂正(Bit-Flip, Phase-Flip, Shor Codeなど)の基本を含めるなど意欲的である。

 一方、QFT(量子フーリエ変換)やShor's Algorithm(素因数分解)が含まれていないので、中級以上の読者には少し物足りないかも知れない。実は、この共著者らは別途、さらに高度なアプリケーンを扱う別の書籍の出版を準備中であると、この出版社のWebサイトでアナウンスされているのでそれにも期待したい。

 特筆すべきことがある。比較的新しい書籍でも、そこに公開されている例題プログムを実行しようとしても種々のエラーが出て動かいないことが多い。量子計算プラットフォームの更新が頻繁なことがその主な要因である。だが、本書の場合は、Qiskitの最新環境によく追随したコードが提供されおり、全てが、私のローカルQiskit環境で完全に動いた!これはとても重要だ。それなら、中身をもっと詳しく探究しようという意欲が湧くからである。

ローカル環境で完全作動したQiskit量子アプリ

🔴Jack D. Hidary: Quantum Computing - An Applied Approach, 2nd edition, Springer, Aug. 2021

 この書籍も初級〜中級向けの全422ページの厚みのある、カラー版ハードカバーである。後半の約170ページは、Mathematical Tools for Quantum Computingという、初心者向けの基礎事項の詳しい解説になっているので、先にこちらを復習するのも良いだろう。前半の量子アルゴリズム関係は、上記のLee本と重なる部分も多いが、そこには無かったQFT(QUantum Fourier Transform)Shor's Algorithmが含まれていて安心する。たとえば、例題として、小さな整数15(=3x5)の素因数分解の過程(量子部+古典部)を全部追跡するのだから、Shorアルゴリズの理解は大いに深まるだろう。また、第二版になって、Quantum Machine Learning関係が追加されたのも大きい。

(注) 例えば、少し大きな整数184573(=487x379)の素因数分解は、シミュレーションではメモリ量の制約により、また、現状の量子コンピュータ実機では、搭載量子ビット数の制約とエラー発生などにより困難な状況と思われる。ただし、シミュレーションでは、「古典的な位数発見」を代用すれば実行は可能である。

2021年8月出版、全422ページ

 ところで、この本を開くと、冒頭にSchrödinger equation(シュレディンガー方程式)が出てくる。つまり、波動関数とハミルトニアンだ。通常、量子コンピューティングの本は(コンピュータサイエンス寄りなので)そういうことがなく、ちょっと驚く。だが、これはとても良いことだ。量子ゲート方式も、量子アニーリング方式も、その理論の源流は、ともに、時間依存シュレディンガー方程式にあるとのことだから。4ページだけの簡単な説明だが、「波動関数の時間変化を知るにはシステムの全エネルギーを見る必要がある」ことを少しの数式で示している。具体的には、以下のような調和振動子ポテンシャルの場合を導出して見せている。

シュレディンガー方程式(調和振動子ポテンシャル)

 さて、公開されている量子アルゴリズムのプログラムであるが、これは(上記のようなIBM Qiskitではなく)、GoogleCirqで書かれていることに注意する。当方の現在のCirq環境とは異なる環境のプログラムであるためか、いろいろなエラーが出て動かすことができなかった。しかし、これには救いがあった。GoogleのCirq公式サイトには、本書の例題にそっくりなものも載っていて、それらは、当方のCirq環境で完全に動いた!それを頼りに、本書の残りの例題も、必要に応じて動かすことができるだろう。

Google Cirqの例題の一部

🔴IBMとGoogleのマシンの相違に注意

 最後にもう一つ重要なことがある。IBM Qiskit (Little Endian)とGoogle Cirq (Big Endian)では、レジスタでのビットの並び順が逆になっている!これは間違いやすく、色々と影響がある場合が多い。例えば、3量子ビットの初期状態が|000⟩である場合、q1q2にXゲートを適用して測定した結果は、Cirqでは、q0q1q2→011となり、Qiskitでは、q2q1q0→110となる。これに関しては過去の記事Testing my mobile quantum circuit simulatorの中でも説明しているので参照願いたい。


0 件のコメント:

コメントを投稿