2025年3月26日水曜日

Introduction to two books on quantum computing

The number of books on quantum computing has been steadily increasing. Here, I’d like to briefly introduce two books I recently purchased, both of which I found to be excellent.

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

First off, I was excited to see the publication date listed as 2025—and the book certainly lives up to that excitement! With 502 pages, its thickness alone hints at the density of its content. The material ranges from beginner to intermediate levels and is presented with numerous illustrations, making it a great choice for those who want to study carefully and in depth.

Published in February 2025, 502 pages total, chapter titles provided by me

The book begins by explaining the basic concept of quantum bits using photon polarization. It then progresses through topics such as quantum superposition, measurement, quantum gates, and quantum circuits. At this stage, it derives BB84, one of the foundational protocols for quantum key distribution.

Next, it devotes around 80 pages to a detailed discussion of quantum entanglement, including a thorough explanation of Bell's inequality. It also covers E91 (Ekert’s protocol), another important technique in quantum key distribution, as well as quantum teleportation—with clear examples using IBM Qiskit code.

Impressively, the book also ventures into applications from the NISQ era, including hybrid algorithms such as the Variational Quantum Eigensolver (VQE) and Adiabatic Quantum Computation (AQC), as well as quantum error correction techniques like the Bit-Flip, Phase-Flip, and Shor Code.

On the other hand, since it does not cover the Quantum Fourier Transform (QFT) or Shor’s algorithm for prime factorization, it may be a bit lacking for intermediate to advanced readers. That said, the co-authors are reportedly preparing a follow-up book focusing on more advanced applications, to be published by the same publisher. I’m very much looking forward to that release as well.

One important point worth mentioning: in many newer books, the example programs often contain errors or fail to run in readers’ environments, largely due to frequent updates in quantum computing platforms. However, the code provided in this book is carefully updated to match the latest Qiskit environment, and every example worked flawlessly in my local setup! This is incredibly important, as it motivates deeper exploration of the book’s contents.
Qiskit quantum app worked perfectly on my local environment

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

This second book is also a thick, full-color hardcover with a total of 422 pages, targeting beginners to intermediate learners. The latter 170 pages provide a detailed introduction to the basics under the section titled Mathematical Tools for Quantum Computing, so it may be a good idea to review this part first.

The quantum algorithm section in the first half overlaps somewhat with the content of the aforementioned book by Lee et al., but I was happy to see that it includes QFT (Quantum Fourier Transform) and Shor’s Algorithm, which were not covered in that book. For instance, it walks through the entire process (quantum + classical parts) of factoring the small integer 15 (= 3×5), which greatly enhances reader's understanding of the Shor algorithm. Moreover, the second edition includes new content related to Quantum Machine Learning, which is a big plus.

(Note) Factoring a slightly larger integer like 184573 (= 487×379) is considered difficult in simulations due to memory limitations, and on current quantum computers due to limitations in qubit count and error rates. However, simulation is still possible by replacing "quantum order finding" with "classical order finding."

Published in August 2021, 422 pages total

By the way, when you open this book, the Schrödinger equation appears right at the beginning—in other words, the wave function and the Hamiltonian. Since most books on quantum computing are computer science–oriented, this equation is rarely mentioned, which is a bit surprising. However, this is actually a very good thing, because both the quantum gate model and the quantum annealing method are said to originate from the time-dependent Schrödinger equation. Though the explanation spans only four pages, it clearly demonstrates, with a few equations, that “to understand the time evolution of a wave function, one must consider the total energy of the system.” Specifically, it derives the case of a harmonic oscillator potential, as shown below.

Schrödinger Equation – Harmonic Oscillator Potential

Also, please note that the quantum algorithm programs provided in the book are written in Google’s Cirq, not IBM’s Qiskit as mentioned earlier. These programs were created in an older Cirq environment than mine, and I encountered various errors when trying to run them. However, the official Google Cirq site provides examples very similar to those in the book, and I was able to run them perfectly in my Cirq setup! Using those as a reference, you should be able to run the remaining examples in the book as needed.

Examples from Google Cirq

🔴Note the differences between IBM and Google machines

Lastly, there's something important to keep in mind: the bit order in quantum registers is reversed in IBM Qiskit (Little Endian) and Google Cirq (Big Endian)! This is an easy mistake to make and can cause all sorts of confusion. For example, if the initial state of three qubits is |000⟩, applying X gates to q1 and q2 results in q0q1q2 → 011 in Cirq, but q2q1q0 → 110 in Qiskit. For more details, please refer to my earlier article, Testing My Mobile Quantum Circuit Simulator.


tinyurl-------   https://tinyurl.com/eaacxan2   -------


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の中でも説明しているので参照願いたい。


2025年3月1日土曜日

量子物理学(量子力学)誕生100周年

 今年は、量子物理学(量子力学)誕生100周年とのことである。それを記念して、国連は、2025年を「国際量子科学技術年」と定めた。その中核となるのはやはり、量子コンピュータの実用化であろう。今年は特に、色々な動きがあると思う。

 2025年2月に、NEDO(国立研究開発法人新エネルギー・産業技術総合開発機構)は、「量子コンピューターユースケース事例集」という、150ページに渡る詳細な報告書を公開した。最新の56のユースケースを含む、製造、金融、エネルギー、創薬などの分野での効果や課題がよく分析されていて非常に参考になった。素晴らしい資料である。

 産総研では、G-QuATと呼ばれる、3方式の量子コンピュータとGPUスーパーコンピュータを融合させて研究開発、実用化を促進させるためのセンターを2025年春に発足させる。

 また、大阪大学では、2025年7月末から「Quantum Innovation 2025」の開催を予定している。5日間に渡る大規模なイベントとなりそうである。

 ささやかならがら、小生も神奈川工科大学が開催する「ITを活用した教育研究シンポジウム2024」で、以下のような短い講演を行うことになった。



2025年2月12日水曜日

Qiskitで量子機械学習の例題を動かす

 量子コンピューティングに関する基礎的な知識を得て、基本的なアルゴリズムも一通り習得した後にやるべきことはいくつかある。例えば、量子機械学習量子暗号関連であろう。量子化学も非常に重要なのだが、その方面の素養がないとだめである。ということで、今後、量子機械学習を重点に学ぶことになろう。
 
 従来の機械学習アルゴリズムをそのまま量子コンピュータで高速化できるわけではない。

 現時点において、機械学習の世界の真の実用問題で、「計算速度」という面で、量子が古典を凌駕した報告はおそらく無い。それでも可能性を求めて、研究開発は進む!

 古典的な数値計算は、圧倒的に従来コンピュータの得意分野なのである。量子コンピュータには、これまでも経験したことだが、特有の得意分野がある。機械学習にそれをどう展開していくのか。例えばすでに、データそのものを量子データ化して、量子アルゴリズムにかけるというアプローチもあるようだ。でも、まだまだ未知の世界だと思う

 量子機械学習に関する日本語の書籍はとても少ない。私の知るところでは、下記の2つの書籍がある。まだよく読んでいないが、いずれもなかなか優れた解説書のようである。
 曽我部氏の著書のサブタイトルに「量子回路自動設計」という言葉があった。もしかすると、IBMのQASMで書かれたような量子プログラムを、量子的なデータとみなし、それを使った何らかの学習を行い、最適化するものかもしれない。違うかもしれない。よく読めばわかるだろうが。ともかく、主なアルゴリズムに関して、Pythonコードも公開されているので重宝するだろう。
曽我部東馬:Pythonではじめる量子AI入門

 もう一冊は、嶋田氏によるものだ。「4.4 量子コンピュータと機械学習」、「5.3 パラメータ付き量子回路による機械学習」に、詳しい解説が数式展開とともに説かれている。難度は高そうだが精緻な叙述なので取り組めるだろう。
嶋田義皓:量子コンピューティング

 だが、すぐにでも例題を動かしてみたい。話はそれからだ!という場合は、別の選択肢として、IBMのQiskitサイトには、Quatnum_Machine_Learningという、まとまった解説が載っている。シミュレータやIBM Quantum実機でもすぐに動かすことができる。まず動かして、次第に中身に迫る。それが私のやり方だ。

 だが、ここで注意すべき点がある。最新のローカルQiskit環境、Qiskitライブリにしないと、すぐに大量のコンパイルエラーが出てめげてしまう。下記のように頻繁に更新したり、バージョンを確認することが必要である。Qiskitは頻繁にバージョンアップがなされ、その都度、それまでの量子プログラムは動かなくなることで有名だ。Migrationガイドはあるものの、いちいちそれを調べるのはとてもしんどい。でもやむを得ない。以下は、忘備録。

(1)Qiskitを最新版にする。
 ターミナルで、pip install -U qiskit を実行

(2)量子機械学習関係ライブラリも最新版にする。
 ターミナルで、以下のように更新しても良い。
 pip uninstall qiskit-machine-learning
 pip install qiskit-machine-learning

(3)ラリブラリ関係のバージョンを確認する。
 現在(2025-02-12)の最新版:
 qiskit 1.3.2、qiskit_machine_learning 0.8.2
 ターミナルから、以下のようなコマンで現時点のローカル環境を確認。
 pip list
 pip show qiskit_machine_learning
(なお、Jupyterのコード内で行うには、pipの代わりに、!pipを使う。)

🔴実は、上記のような更新だけで済めば極めてラッキーだ。過去に作ったプログラムと現行Qiskitは整合が取れないことも多いからだ。

-----蛇足----
 英語の書籍もあるのだろうが躊躇している。最近、量子コンピューティング関係の英語書籍には、粗雑というか、がっかりする内容のものも見受けられる。例えば、明らかにChatGPTなどを使って集めた知識の羅列を体裁を整えて出版しただけというのがあった。買ってしまって憤慨ということもあった。大手出版社ではない、個人出版のような書籍には特に要注意と思われる。

2025年1月17日金曜日

マウスもポインターも使わないパワポ・プレゼン

 皆様すでにご利用かと思いますが、Power Pointのプレゼンで、マウスもポインターも使わず、聴衆と向かい合ったまま話を進めたい場合がありますね。そんな時、遠隔から指先で(くまモンを)クリックしてスライドのアニメーションを行うといいのではないでしょうか。
 一例を挙げます。「量子もつれを利用したMermin-Peresマジック(ゲーム)」の説明をそのようにしてみました。そのビデオをご覧ください。黙ってみていても、話の流れがつかめていい感じではないでしょうか。

2025年1月9日木曜日

関孝和と仏陀に、量子コンピュータについて質問してみた

 AIチュートリアルシリーズ「AI with MIT App Inventor」に、このほど「GenAI: Historical Character Advisor App」が追加された。これは、歴史上の偉人に、自由に質問をして回答を得るアプリの作成である。慣れた学生であれば、30分もあれば作れてしまう!

 私が最も驚いたのは、Steve Jobsは、40年前に今のようなAI時代を予測していた!との記述である。彼がそれを話しているYoutubeビデオ(90秒)がここにある。その中で、例えば、現代の人がアリストテレスに質問して答えを得るといった構想を述べているのである。上記のチュートリアルは、これをスマホアプリとして実現するものなのである。

 これは素晴らしい!と思い、かっての同僚のT. H.先生に話したら、「面白いが、AIによる回答が、本人の回答と同じという保証はない...」との感想でした。冷静に考えると、確かにその通りである。そんな回答を信じていいのかと思い直した。だが、捨て切れるものでもない。まずは、試してみよう!

 このチュートリアルを自分なりにデザインを変えて、関孝和(江戸時代の世界的数学者)と仏陀に、「量子コンピュータは実用化できますか?」と質問してみた。それぞれ、確かにその人らしい回答が得られた!

 両者の回答のポイントは、以下のとおりだと解釈される。
⭕️関孝和:課題は多いが、多くの分野に革命を起こすほどの可能性を秘めている。
⭕️仏陀:潜在的な利点とリスクに留意せよ。

 困った!本人からの回答だと信じるべきか否か。あなたならどうしますか?


(補足1)
仏陀からの回答の最後の方が画像では欠けていましたので補います。

「最後に、人間の人生の究極の目標は物質的な成功や技術的進歩を達成することではないことを覚えておく必要があります。究極の目標は、悟りと苦しみからの解放を達成することです。私たちは、テクノロジーの追求に夢中になりすぎて、精神的な成長を忘れてはなりません。」

(補足2)LLMは、デフォルトではGoogleのGeminiになっていますが、ChatGPTを使うこともできます。ただし、一定回数以上になると、有料のAPIトークンの入手が必要のようです。

2025年1月1日水曜日

新年を迎えて:原点から湧き出るような

  新年を迎え、今年もこうありたい、という想い(の一端)を描いてみた。良く知られていることだが、複素数の神秘の一つを、久しぶりにPythonでコーディングしてみた。ある程度イメージに近いかも知れない。本当は、綺麗なアニメーションにすべきだが、そこまで手が回らない。Pythonで書くにあたっては、ChatGPTのお世話になった。今年もそういう機会はどんどん増えるだろう!

 短いgif画像を残像処理付きで作ってみた。流れがはっきり見えてきた!
 これ以外にも、複素数の神秘をいくつか描いてみた。極と零点付近の偏角の分布と、-1のn乗根である。

2024年12月26日木曜日

Feliz Natal (Merry Christmas)

ブラジルの量子コンピューティング関係の友人から、素敵なクリスマスカードが届きました!

"Feliz Natal" とはポルトガル語で「メリークリスマス」を意味します。

ご覧ください。

なお、彼の小さな素晴らしい量子コンピューティング書籍はこちらで紹介しました。

2024年12月1日日曜日

40分で量子コンピューティングに親しむ(Quantum Computing in 40 minutes)

こんなチュートリアルを作ってみました。日本語pdf版で14ページです。
(ご希望の方にはお送りします。)
[題名]
40分で量子コンピューティングに親しむ

[ねらい]
 量子力学や量子コンピュータに馴染みのない方々(学生、技術者)に、この分野を学ぶきっかけとしていただくことを目指し、短い説明を試みました。一定の技術内容は含めましたが、叙述の一貫性や精密さよりも親しみやすさを第一としました。量子コンピュータの高速性の仕組みに気をかけながらも、従来の”計算”(computation)と対比した場合の斬新さと不思議さに迫ることに主眼を置いています。
 もう一つの特徴として、自作のモバイル量子回路シミュレータを動かし、その結果の図も取り入れて具体性を持たせました。さらに、量子コンピュータは(難しい技術課題を抱えながらも)そこまできていることを感じていただくため、IBM Quantumコンピュータ実機での「量子もつれ」の実行例も含めました。

[目次]
🔸概 要
🔸量子ビット/量子ゲート/測定 (qubit, quantum gates, measurement)
🔸重ね合わせ(superposition)をどのように使うのか
🔸重ね合わせの応用(1) Grover の探索アルゴリズム(振幅増幅法)
🔸重ね合わせの応用(2) 偽コイン発見パズル(量子天秤)
🔸量子もつれ(entanglement) - その1 (Bell回路)
🔸量子もつれ(entanglement) - その2 (Tiny Mermin-Peres Magic)
🔸量子コンピュータの実機は利用できるのか? Yes, You Can !
🔸量子コンピュータの現状と今後
🔸補足事項

(このチュートリアルに含まれる幾つかの図を以下に示します。)
------------------------------------------------------

I made this article. It's 14 pages long (Japanese PDF version). (Please contact me if you need it.)

[Title]
Get familiar with quantum computing in 40 minutes

[Objective]
A short explanation has been provided for students and engineers who are not familiar with quantum mechanics and quantum computers, with the aim of offering an opportunity to learn about this field. Although a certain amount of technical content has been included, familiarity has been prioritized over consistency and precision of description. Emphasis has been placed on the mechanism behind the high speed of quantum computers, highlighting their novelty and mystery compared to conventional "computation." Another feature is the inclusion of diagrams generated by running a mobile quantum circuit simulator, making the explanation more concrete. Additionally, an example of "quantum entanglement" executed on a real IBM Quantum computer has been provided to illustrate how far quantum computers have progressed, despite the technical challenges they continue to face.

[Table of Contents]
🔸Overview
🔸Quantum bits and quantum gates
🔸How to use superposition
🔸Applications of superposition (1) Grover's search algorithm (amplitude amplification method)
🔸Applications of superposition (2) Fake coin detection puzzle (quantum balance)
🔸Quantum entanglement - Part 1 (Bell circuit)
🔸Quantum entanglement - Part 2 (Tiny Mermin-Peres Magic Game)
🔸Can we use a real quantum computer? Yes, You Can!
🔸Current status and future of quantum computers
🔸Additional information

------------------------------------------------------

The end of the year is approaching. I am preparing next year's calendar. Mt. Fuji often appears as a picture on the calendar. Mt. Fuji is of course beautiful, but I love this mountain more than Mt. Fuji.

2024年11月20日水曜日

Using MicroBlocks with a Quantum Circuit Simulator

In the previous article, I used MicroBlocks to control the slider of the MIT App Inventor app from a micro:bit device. This time, I tried to display the results of my quantum circuit simulator on the micro:bit. Yet another use case for the micro:bit!

In quantum computing, one of the simplest and most important circuits is the Bell circuit, because it generates strong quantum entanglement. For example, for the Bell circuit in Fig.1, if the states of the two quantum bits are |0> and |1>, the output (measurement result) will be 00 and 11 with a 50% probability, respectively. And the results 01 or 10 will never appear. In other words, if the measurement result of one quantum bit is 0, the other will always be 0. On the other hand, if one is 1, the other will always be 1. I would like to try to display such a situation on the micro:bit.

My mobile circuit simulator has 12 types of quantum circuits using 2 to 6 qubits built in as examples. This time, I selected the Bell circuit from among them, as shown in Figure 2. The measurement results for that were displayed on the micro:bit, as shown in Figure 1. Of course, you need to first connect this simulator and the micro:bit with BLE. Each time the go button is pressed, the display on the micro:bit changed according to the probability obtained in ④.

[Design Considerations]

Since this circuit deals with two quantum bits, it is natural to use two micro:bits to display the output. However, when using MicroBlocks, it was found that the following two methods are either not possible or difficult to achieve.

  • Connect multiple micro:bits via BLE from the app.
  • Connect the app and micro:bit with BLE and use the radio from that micro:bit to communicate with another micro:bit.
Therefore, this time I decided to display the measurement results of two quantum bits on a single micro:bit.

Correction
I will correct the second paragraph above. A separate instance of both the MicroBlocks and the Bluetooth LE extension for each connection allows multiple micro:bits to be used from the app. I would like to thank David Kim, Peter Mathijssen, and John Maloney for letting me know this.

[Additional information]

The above example focuses on two qubits, but I have also created a version shown below that can display the measurement results for up to five qubits.