ラベル Quantum computing の投稿を表示しています。 すべての投稿を表示
ラベル Quantum computing の投稿を表示しています。 すべての投稿を表示

2025年4月28日月曜日

A Basic Mathematics Book for Learning Quantum Computing

In the previous article, we introduced a new book on quantum computing. However, many people may want to first learn basic mathematics before reading such books. I would like to briefly introduce the following book as one such book. Generally speaking, the relationship between this book and the previous one is as follows:

Peter Y. Lee, James M. Yu, Ran Cheng :Mathematical Foundations of Quantum Computing, Polaris QCI Publishing, 2025.

This book is a large volume of 539 pages. It provides a very thorough explanation of the basics of mathematics related to quantum computing. Parts 1 and 2 are basic mathematics, mainly linear algebra. However, since Dirac Notation (bra-ket) is already used here, it becomes clear that this is not purely basic mathematics, but is aimed at quantum computing. The authors explain that readers who have already mastered the basics of linear algebra can skip these parts and move on to Part 3. Even for such readers, Part 2 is very useful for reviewing points that they may have forgotten. In other words, this book also serves as an encyclopedia.

In the third and fourth parts, the most important operations in quantum computing are explained in detail, with a focus on "Tensor products". Although it is not very noticeable, it is worth noting that the "Change of Basis" introduced in the second part is explained in more detail in this third part. This will be important in many fields,  including quantum key distribution later. You will also see that the "Kronecker Product" is important in simplifying quantum computing. More advanced content such as "Singular Value Decomposition" is also included. Furthermore, one of the outstanding features of this book is that "Probability", another foundation of quantum computing, is dealt with extensively in the fourth part.

At the beginning, there is a "Level Indicator" explanation, which is useful for understanding the level of difficulty of the content. However, it would be even better if it had a marking to indicate which of the minimum necessary knowladge is required to read the second book, "Quantum Computing & Information." This is because this book contains a huge amount of content, and some people want to study efficiently. For example, it may be okay to skip "Discrete Fourier Transform" and "Markov Chains" for the time being.

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


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月16日土曜日

Using MicroBlocks with a Quantum Bit Simulator

Recently, I read an article titled "Using MicroBlocks with MIT App Inventor" [1]. It looked very interesting, so I applied it to the quantum bit simulator I am creating. Specifically, I controlled two sliders to change the state of quantum bit on the Bloch sphere with a single MicroBlocks device. I was able to experience a fun feeling of operation that was different from software sliders!

The outline is summarized in two figures, Fig. 1 and Fig. 2, below. If you would like to know more about this quantum bit simulator, please refer to the document [4]. 


In addition, the following three documents [1][2][3] were very helpful. I would like to express my gratitude.

References

[1] Using MicroBlocks with MIT App Inventor (by App Inventor Foundation)
https://microblocks.fun/blog/2024-11-08-appinventor-intro/

[2] MicroBlocks BLE Extension (by Peter)
https://community.appinventor.mit.edu/t/microblocks-ble-extension/129412

[3] Tools Extension (by Taifun)
https://puravidaapps.com/tools.php



2024年5月23日木曜日

量子コンピューティングEXPO2024春に参加

【要旨】量子コンピューティングEXPO2024春に参加したので、感想などを簡単に述べる。このEXPOは、(1)AI・人工知能、(2)デジタル人材育成支援、(3)量子コンピューティング、(4)ブロックチェーンの4つの同時開催である。このなかでも、最近のAI・IT社会の情勢を反映して、AI・人工知能に圧倒的に多数の出展がみられた。また、デジタル人材育成への関心も非常に高いことを感じた。一方、量子コンピューティングは、出展数はあまり多くはなかったが、出展していた企業の技術者と直接対話したり、最新技術動向に関する講演も聴けたので、参加の意義は大いにあった。

 ここには、国内で参加できる量子コンピューティング関係のイベント等を列挙してある。今回は、そのうちの一つである量子コンピューティングEXPOに参加した。全体の極く一部に過ぎないが、思い出して書いた。場内は、撮影・録音禁止なので僅かな手書きメモを頼りに。

(1)出展企業の技術者との対話
 量子コンピューティングの出展は、約30社(企業、団体、大学)のようである。そのなかでも、国内量子スタートアップとして著名な企業の技術者と、会場で10分ほど対話した。この企業は、量子コンピュータハードウェア方式の一つとして注目され始めたシリコン方式の試作も発表していた。実際にそのチップも展示されていた。それはともかく、対話の概要は以下のようなことであった。

 今年に入ってから、「中性原子方式」と「シリコン方式」への注目が高まったが、まだまだ実用化は先のようだ。国のムーンショット計画で官民学一体の協力のもとで、5つほどのハードウェア方式の研究開発が進められている。そこに参加している企業でも、もちろん、並行して独自に開発も進めており、現状はまさに群雄割拠である。

 現状の実稼働量子コンピュータは、数百qubit程度だが、NDIVIAでは、高性能GPUによる5,000 qubitのハードウェア量子シミュレータを発表しており、こちらはなかなか使えるのではないか。このシミュレータもエラーを起こす。例えば、理論計算ではある基底ベクトルの起こる確率が100%のはずがそうならない等である。だが、それは本物の量子が外部環境から受けるノイズによって生ずるエラーとは別物である。また、GPUによるマシンでは、真性の乱数を生成することは困難であるが、量子の元々の特性を利用した量子コンピュータならばそれが可能になるのではないか。例えば、Quantinuum社ではそれを表明しているようだ。

 そして、いくら高性能なシュミレータであっても、所詮、量子現象の模倣であるから、非常に複雑な現象の計算(分子分野等)では、本物の量子コンピュータにははるかに及ばない場面が考えられる。(→実は、この話は、次の阪大 北川勝浩氏の講演で明確になった。)

(2)阪大の北川勝浩氏の講演
 この講演「日本の量子研究開発 最前線」は、開始前から続々聴衆が集まり、約400席と見られる会場は満席となった。関心の高さが窺える。北川氏は、誤りの無い量子コンピュータがもたらす未来社会を展望した後、それに向けたムーンショット目標6を含む世界的な最新の研究開発動向を紹介した。

(以下の叙述は、この講演の小生独自の解釈や感想である。)
 国内では、最初に量子コンピュータなるものが開発されてから25年後の、2023年に超電導方式の32-qubitの初号機が出た。現在は、その3号機である64-qubitマシンが阪大にある。IBMやGoogleは、垂直開発(全ての工程を自社のみで完結)だが、日本は水平開発(各機関で分業協業)が特徴である。IBM製の実稼働マシンは127-qubitや400-qubitなので、国産64-qubit機は、規模としてはそれほど遜色のないレベルと見ている。現在は、NISQ(誤り含むNoisy Intermediate-Scale Quantum)だが、狙いはもちろん、FTQC(誤り耐性Fault-Tolerant Quantum Computer)である。

 大規模なFTQCはなぜ必要なのか?その答えは、地球規模の環境保全のための施策を支える計算性能にある。具体的には、人工光合成(CO2削減)や人工窒素合成(省エネ)である。人工窒素合成を見てみよう。現在、アンモニアを工業的に作る方法は確立されているが、高温高圧を要するので非常に多くのエネルギーを要する。一方、学校の理科の授業で出てくる、マメ科植物の窒素固定では極く僅かのエネルギーしか必要としない。だが、そのメカニズムの解明には、非常に精密な分子計算が必要であり、現在のスーパーコン用にその精密モデルを作り計算を行うことはかなり困難である。

 実際、マメ科植物と共生する根粒菌では、多数の電子のうち約50個の電子がもつれあっているので、2の50乗という膨大な状態の計算が必要となる。そこで、量子コンピュータであれば、そのような量子もつれを自然に利用して極めて高速計算することを期待できる。つまり、精密な分子計算は、無理に古典コンピュータを持ち出すのではなく、量子原理に基づく素直な計算に持ち込めるはずである。(元祖ファインマンが初期に述べていたことが実現されつつある。)

 後半は、誤り訂正方法の技術的内容であった。量子ビットが反転してしまうビットフリップと位相が反転する位相フリップの2つがある。例えば、2048ビットの素因数分解のためのShor'sアルゴリズムでは、6,000-qubit、8ギガgateを要する。時間も8時間〜22時間などと見積もられる。この間で誤りが起こらないことが求められるので、とても大変である。誤り訂正中に誤りが起こることもあるので、そのような誤りの増加を抑止することも不可欠である。

--------------------------------
(番外編) I asked ChatGPT-4o the following questions. The answer is omitted, but it was very similar to the content of Prof. Kitagawa's lecture above! I can't help but be surprised again. The momentum of using generative AI is unstoppable!

--------------------------------
(番外編) Currently, in the general public, generative AI has much more momentum than quantum computing. But let's persevere and learn about quantum computing!
In the future, we will see a beautiful fusion of AI and quantum computing!
--------------------------------

2024年5月21日火曜日

国内で参加できる量子コンピューティング関係イベント

  今年(2024年)、日本に居ながらにして参加できる、量子コンピューティング関係のイベント、コンファレンス、オンラインコース、投稿などを列挙してみた。もちろん、小生が実際に参加するものは少ないのだが、Googleカレンダーには載せてある。条件が揃えば参加したいものも多い。これらはどちらかと言えば情報寄りの観点から収集したが、物理寄りのイベント等は他にも幾つかあるだろう。

(1)第1回 Quantum CAE研究会
URL:https://unit.aist.go.jp/g-quat/ja/events/2024/CAE_20240509-10.html
主催:G-QuAT(産総研:量子・AI融合技術ビジネス開発グローバル研究センター)
日時:2024-05-09, 10
場所:産総研 臨海副都心センター
対象:専門家

(2)量子コンピューティングExpo 2024(春)
URL:https://www.nextech-week.jp/hub/ja-jp/visit/qc.html
主催:RX Japan
日時:2024-05-22, 23, 24
場所:東京ビックサイト
対象:一般、技術者

(3)連続セミナー2024「情報技術の新たな地平:AIと量子が導く社会変革」
URL:https://www.ipsj.or.jp/event/seminar/2024/infomation.html
主催:情報処理学会
日時:量子関係は、2024-06-11, 19のみ。
場所:オンライン(有料)
対象:一般、技術者

(4)Q2B 2024 Tokyo
URL:https://q2b.qcware.com/2024-conferences/tokyo-english/
主催:QC Ware
日時:2024-07-24, 25
場所:東京(有料)
対象:専門家、技術者

(5)「社会を変える量子コンピュータ活用」論⽂募集
URL:https://www.ipsj.or.jp/dp/submit/tdp0602s.html
主催:情報処理学会 デジタルプラクティス
日時:2024-08-05(投稿〆切)
場所:オンライン投稿
対象:専門家、技術者

(6) QUANTUM COMPUTING FUNDAMENTALS
URL: https://learn-xpro.mit.edu/quantum-computing
主催:MIT xPro
日時:2024-10-07 (Start date)
場所:on-line course (price: $2,319)
対象:技術者、専門家

(7) Quantum Innovation 2024
URL:https://quantum-innovation.riken.jp/
主催:Quantum Technology Innovation Hubs
日時:2024-10-21, 22, 23(招待講演のみ)
場所:東京
対象:専門家、技術者

(8)量子コンピューティングExpo 2024(秋)
URL:https://www.jetro.go.jp/j-messe/tradefair/detail/131501
主催:RX Japan
日時:2024-11-20, 21, 22
場所:幕張メッセ
対象:一般、技術者

2024年4月8日月曜日

ちょっと残念:IBMのQiskit Algorithms

 😖ここには、ネガティブなことは書かないようにしているのだが、ちょっと残念な状況を書きます。実は、今年に入ってから、IBMの公式サイトにあるQiskit Algorithmsのうちから、かの有名なShor's(素因数分解)やHHL(疎な正則対称行列の逆行列計算)などが、除外(deprecated )されていました。それは知っていました。その理由は、これらの本格的適用に必要な大規模なノイズ耐性量子コンピュータの実現が未だ見通せないためのようです。

 ですが、基本的に優れた有用な量子アルゴリズムとして、教育的な観点から、別の場所には保存されていました。しかしながら、またここに問題がありました。メンテナンスが止まってしまっているところに、ちょうど同じ2月頃に、Qiskitのバージョンが上がり、そのままでは動かなくなっていました。一般的なmigrationのドキュメントはあるのですが、自分で修正して動かすことは面倒そうです。そのままにしてありました。

 そんな時に、雑誌Interface 2024年4月号に、「数学100 - AI/量子/信号処理/画像/暗号/...」という特集が載っていました。"量子"のところに、HHLアルゴリズムの解説があるじゃないですか!

 However、解説はあるものの、動かすプログラムでは、上記のdeprecatedにされたQiskit Algorithmsのものをそのまま使っています。今は、そこにはそれはありません!やるとしたら、保存されているHHLのソースコードを使うことになります。しかし、上記の通り、それは現在のQiskitバージョンと互換性がありません。ちょっと、一息入れてから考えます。

2024年3月16日土曜日

量子コンピュータで動的回路(Dynamic circuits)を使う

要旨:量子コンピューティングでは、量子ビットを測定してしまうとそこでお終いになる。つまり、その測定結果に応じて量子回路を変更することはできない、と思っていたが、最近それができるようになっていた。QiskitでIBM Quantumマシンを使う場合のDynamic Circuits機能がそれだ。

動的回路(Dynamic Circuits)機能
 量子回路を実行していて、あるところで測定を実行したとする。その結果(古典ビット0か1)に応じて、その後に必要な量子ゲートを動的に加えて実行を継続することができる機能[1][2][3]である。具体的には、図1(a)のようなif文による制御、(b)のようなswitch(case)文による制御、それ以外に、forループやwhileループも使える。ただし、使用するシミュレータ、および実機マシンによっては、これらのいくつかはサポートされていないようだ。


動的回路で量子テレポーテーションを実行
 参考資料[3]に示されているように、このような動的回路で思いつくのが、量子テレポーテーションである。量子テレポーテーションの仕組みについては、[4]の記事を参照願いたい。図2に示す、Aliceによる2つの量子q0とq1の測定後、Bobにその古典2ビット情報を通常通信で送るのだが、そこでその量子回路はおしまいになっていた。その後別途、Bobは受信内容を確認し、それに応じたデコード用の量子回路を設定していた。

 この状況に対して、動的回路を図3のように組むことができる。これによって、途中の動的回路を含む、全体で一つの量子回路で動作を完結させることができる。これは、アルゴリズムを確かめる上でとても便利であり、強力である。
 念の為であるが、qc0はどんな状態であっても良い。ここでは一例として、|0>にRX(π/4)を適用した状態とした。もちろん、その状態はBobは知らない訳だが、動的回路の部分はいつもこのままで良く、Bobは送られてきたどんな状態でも再現できるのである。そこが、量子テレポーテーションの驚異的なところである。


量子テレポーテーションの実機による確認 
 さて、図3の量子回路がうまく働くかを、IBM Quantum実機(ibm_kyoto)で確認した結果が図4である。結論を言うと、この図から、この実機では80%の確率で量子テレポーテーションが成功した。全部で1000shotの実行のうち、図4の赤点線で囲ったカウント(合計200)は、何らかのノイズによるエラーであろう。本来はこの部分は全て0となるはずである。
 ここで80%成功とは何か?それは、図4の左側4本のカウントは、いずれも最上位ビット(qc2に対応)が0であることを指す。レジスタqc2の最後でBobが測定する直前に、RY(-π/4)を設定しているので、これによって、元々Aliceがqc0に設定した状態をキャンセルする、すなわち|0>に戻るからである。

 なお、実機ではなくシミュレータで実行した結果は図5のようになった。現状の実機では、シミュレータとの差がこのように生ずる場合がある。

 なお、IBM Quantum Composer(ただし、シミュレータによる実行)でも以下ように同様にできる。だが、古典ビットレジスタCの検査が、図3の場合と異なり、ビット毎ではなく、3ビットの10進数として扱うので、注意が必要である。if文による動的ゲートの設定が4つになっている。

(補足事項1)Quantum Labに置くfile容量に注意
 突然、QuantumのLabサーバ起動しなくなった。ブラウザのキャッシュやクッキーを削除したりしてみたが直らない。Qiskiには、ipynbファイル内で、ブロッホ球やその上のtransition表示や、Latex形式回路図表示などができる。しかし、これらはかなりのファイル容量を占める。一つの回路で35MBにもなっていた。それが数十個もあった。そこが原因だったらしい。これらの表示をコメントアウトしてsaveして、再起動したところ回復したようだ。

(補足事項2)実機使用可能無料枠
 実機での実行を繰り返してきたので、使用状況を見てみた。今月は、無料枠ではあと3分強しか使えない。有効に活用しよう。

参考文献

[1] Classical feedforward and control flow
https://docs.quantum.ibm.com/build/classical-feedforward-and-control-flow

[2] Repeat until success
https://learning.quantum.ibm.com/tutorial/repeat-until-success

[3] @kifumi、動的回路で量子テレポーテーションを実行する
Qiita記事、最終更新日 2023年03月20日

[4] 超高密度符号化と量子テレポーテーション(その3)
https://sparse-dense.blogspot.com/2022/12/blog-post_2.html

2024年3月10日日曜日

Developing apps to learn quantum computing with App Inventor

I would like to thank Prof. Isaac Chuang, MIT for reviewing this blog post and providing very positive feedback.

Although a practical quantum computer has not yet been completed, it is predicted that if it is put into practical use it will have a huge impact on society, so research and development on quantum computing at companies and universities is increasing. I have used App Inventor to develop numerous apps for learning the basics of quantum computing. The purpose is to enjoy computations using a small number of qubits, as easily as using a scientific calculator. But that's not all. If you create your own app, such as quantum circuit simulator, even on a small scale, your understanding will definitely deepen. I would like to introduce the efforts I have made with this in mind.

First, I created an app that allows you to see what the most basic single qubit is. In other words, it is a simulator app for quantum bit operations that correspond to operations on classical bits. Next, I developed a quantum circuit simulator for quantum algorithms that use two or three qubits. In fact, I tried solving several quantum computing problems using the simulator. Finally, from a different perspective, I have also developed apps that make it easier to understand the operating principles of individual algorithms that take streams of large numbers of qubits as input. 
1. First of all, Qubit (Quantum Bit)

First, there is the fundamental quantum bit. This is significantly different from classical bits whose values are 0 and 1. A quantum bit (Qubit) is thought to lie on a spherical surface called a Bloch sphere, as shown in the figure below. The North Pole corresponds to the classical 0, and the South Pole corresponds to the classical 1. Therefore, it can be said that a quantum bit is generally in a state (superposition) in which the north and south poles are superposed with a certain probability. The value of a quantum bit is stochastically determined to be either 0 or 1 only through an operation called measurement. Until measurement, the values of 0 and 1 overlap. Various operations can be performed in this uncertain state. As a result of the operation, the state of the qubit, or its position on the Bloch sphere, changes. The necessary computations can be performed using the information accompanying the changes. In the case of multiple qubits, even the mutual interference of their information can be used effectively. First, let's look at the case of a single qubit.
How do we change the state of a qubit? The answer to this question is the app shown below. You can freely change the latitude and longitude of the qubit on the Bloch sphere using the sliders as shown in (a). However, this is usually changed using an operation called a quantum gate. For example, if you apply the Hadamard gate (H) to the state of the North Pole, it will move to the equator. In (b) of the figure below, an S gate (90° rotation on the equator) is applied after the H gate is applied. Many other quantum gates are available.
2. Two-qubit as a single system

There is little that can be done with just one qubit, but when two qubits are used, things suddenly change. In general, in the case of multiple qubits, it is necessary to consider them as a whole, rather than treating each qubit individually. For example, in the case of two qubits, by applying an H gate to one of them as shown in the figure below, and then applying a CNOT (Controlled NOT) spanning both, it is possible to create the famous quantum entangled state (Bell state).
Quantum entanglement in this case means that there is a strong correlation between Alice's and Bob's qubits. In other words, even if Alice and Bob are far apart, if Alice measures her own qubit and gets 0, Bob's qubit automatically becomes 0 immediately. Similarly, if the measurement result is 1, both will be 1. The app in the figure below shows this situation.
However, with current quantum circuit simulators and quantum computers, it is not possible to imagine Alice and Bob being far apart. Therefore, I decided to allocate both qubits to different mobile phones. With a configuration of three mobile phones (plus one more for control), I created an app that mimics entanglement between remote quanta. This is shown in the figure below. Cloud DB (real-time DB) at the top of this figure plays an important role in expressing the effects of quantum entanglement.

3. Various quantum algorithms with 3-qubit system 

As a next step, three qubits are needed to try out various basic quantum algorithms. The method described above, in which each quantum bit is assigned to a separate smartphone, will be complicated, so I will not use it here. Instead, it has been redesigned so that a single mobile phone can handle 3-qubits. The outline is shown below.
For example, using this 3-qubit simulator app, I was able to implement the following quantum algorithm.
(1) Phase kickback (returning phase change to control bits)
(2) Grover’s algorithm (exploration of unstructured data)
(3) Superdense coding (sending many classical bits of information with a small number of qubits)
(4) Quantum Fourier Transform (to find out the frequency of coprime powers sequence)

Although detailed explanation is omitted, an example of executing Grover's algorithm (2) is shown in the figure below. In (a), the search target among the eight elements is marked. In (b), the solution is found using a method called probability amplitude amplification.
The following figure shows an example of the use of quantum Fourier transform QFT in (4). Although detailed explanation is omitted, here, the period (or frequency) of the pattern of the constituent elements is detected from a certain number sequence. The results also show that they are consistent with those run on an IBM Quantum machine. Detection of such frequencies is also important in Shor's prime factorization algorithm.

4. Algorithms that take a long stream of qubits as input

Up to this point, we have used a general-purpose quantum circuit simulator, but next I will show apps to explain the operation of individual quantum algorithms. For example, there are several algorithms that take as input a long stream of qubits. Here, I will discuss quantum computational models of photon polarization and quantum key distribution using quantum entanglement.

(1) Photon polarization based on quantum computational model

Qubit is expressed by the spin of an electron or the polarization of a photon. Here, we will deal with the latter. Now, stack the three polarizing plates with various axis angles. The problem is how bright the object is when viewed in that state. What is needed in this case is calculation of the probability that a large number of incident photons will pass through each polarizing plate. In the app I created, the probability of passing these things was reflected in the transparency of the color of the polarizing plate. This imitated the actual appearance. The situation is shown in the figure below.
(2) Quantum key distribution based on quantum entanglement

The following app is an illustration of the quantum key distribution protocol Ekert. With this protocol, it is possible to reliably determine whether information between two parties has been intercepted by a third party. To prepare, we prepare a sufficiently long stream of entangled pairs of qubits. Alice receives one of each qubit pair, and Bob receives the other. For each pair, they independently select one of the three bases at random and perform measurements. After completing the reception of all streams, both parties will obtain a classical bit sequence (measurement result) and a selection basis sequence, respectively.

Obviously, the two bases do not match with probability 2/3. Bell's test shows that in an entangled state, results measured using different bases will agree with a probability of 1/4. However, this is the case where there is no eavesdropping by a third party.

On the other hand, suppose that a third party, Eve, eavesdrops on the quantum before Alice and Bob measure it. Eavesdropping always requires measurements on a suitable basis. As a result, the probability of coincidence of the measurement results increases to 3/8 due to the disappearance of the entangled state of the quantum pair of Alice and Bob. This allows wiretapping to be detected. The figure below shows an application that simulates this. It can be seen that the execution results match the theoretical values.
Summary
I have developed quantum circuit simulators and other mobile phone applications for learning the basics of quantum computing. All of these developments were done efficiently using only MIT App Inventor. I was able to reaffirm that App Inventor is extremely useful for developing apps for learning new fields like this.
If you need more details about the content omitted in this article, please refer to the blog articles below. A list of approximately 90 related articles is posted here:

In these developments, the books [1] , [2] and [3] written by three professors, Chirs Bernhardt, Barry Burd and Shigeru Nakayama, respectively, were very helpful.


References

[1] Chris Bernhardt: Quantum Computing for Everyone, The MIT Press, 2020.

[2] Barry Burd: Quantum Computing Algorithms -Discover how a little math goes a long way, Packt Publishing, 2023.

[3] Shigeru Nakayama: Quantum app Qni, Gaia Education series 52, 2022. (In Japanese)

2024年3月9日土曜日

A List of my blog articles on Quantum Computing

 量子コンピューティングに関する私の記事の一覧です。約 130件あります。

Here is a list of my articles on quantum computing. There are about 130 titles in Japanese and English. English article titles have a or at the beginning.
➡️Video : single-qubit
➡️Video : n-qubit
➡️関連ビデオ(基本を学ぶ)は、ここに(Youtubeに)公開しました。
➡️関連ビデオ(スマホアプリ)は、ここに(Youtubeに)公開しました。

2025年4月24日木曜日
2025年4月18日金曜日
2025年4月9日水曜日
2025年3月26日水曜日
2025年3月1日土曜日
2025年2月12日水曜日
2024年11月20日水曜日
2024年11月16日土曜日
2024年11月11日月曜日
2024年11月11日月曜日
2024年10月24日木曜日
2024年10月16日水曜日
2024年10月6日日曜日
2024年9月26日木曜日
2024年9月23日月曜日
2024年9月18日水曜日
2024年9月12日木曜日
2024年9月1日日曜日
2024年9月1日日曜日
2024年8月27日火曜日
2024年8月19日月曜日
2024年8月1日木曜日
2024年7月29日月曜日
2024年7月28日日曜日
2024年7月9日火曜日
2024年6月26日水曜日
2024年6月24日月曜日
2024年6月19日水曜日
2024年6月17日月曜日
2024年6月9日日曜日
2024年6月6日木曜日
2024年5月27日月曜日
2024年5月23日木曜日
2024年5月21日火曜日
2024年5月16日木曜日
2024年5月15日水曜日
2024年5月6日月曜日
2024年4月9日火曜日
2024年4月8日月曜日
2024年3月16日土曜日
2024年3月15日金曜日
2024年3月13日水曜日
2024年3月10日日曜日
2024年3月6日水曜日
2024年1月26日金曜日
2023年4月28日金曜日
2023年2月22日水曜日
2022-11-28
2022-09-18
2022-05-24
2022-04-08