I am a professor emeritus of CS at Kanagawa Institute of Technology, Japan. Originally my specialty was parallel and distributed systems. My current interests include machine learning, natural language processing, creating mobile apps with MIT App Inventor, and quantum computing. In the web version of this blog, clicking the icon on the right (a plastic sphere) will take you to the "List of Quantum Computing Articles". - Fujio Yamamoto (for e-mail, add "@ieee.org" after "yamamotof")
2024年4月12日金曜日
2024年4月9日火曜日
かなり残念:IBM Quantum Labの廃止...
2024年4月8日月曜日
ちょっと残念:IBMのQiskit Algorithms
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の量子回路がうまく働くかを、IBM Quantum実機(ibm_kyoto)で確認した結果が図4である。結論を言うと、この図から、この実機では80%の確率で量子テレポーテーションが成功した。全部で1000shotの実行のうち、図4の赤点線で囲ったカウント(合計200)は、何らかのノイズによるエラーであろう。本来はこの部分は全て0となるはずである。
なお、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月15日金曜日
動画:量子コンピューティングに親しむためのスマホアプリ
2024年3月13日水曜日
Qiskit API for IBM Quantumが変更になった!
数週間までまで正常に動いていた、Qiskitコードが、2024-03-10現在、突然エラーが出て動かなくなった。これはどうしたことか。Qiskitドキュメントを調べると、Qiskit 1.0.1になって、かなりの変更があったことが分かった。よくみると、migration guideもあるではないか。それに従って、以下のような点を修正する必要があった。
●シミュレータを使う場合:以下のようにして解決
qiskitからAer, executeなどをimportできなくなった。
qiskit.tools.visualizationからplot_histogramなどがimportできなくなった。等々。
→別のライブラリから、QiskitRuntimeService等のimportが必要。
●IBM Quantum実機を使う場合:以下のようにして解決
Qiskitの素晴らしい点として、シミュレータibmq_qasm_simulatorで動かしていた量子回路はそのままIBM Quantum実機でも動くことであった。シミュレータの名前を単に、実機の名前、例えばibm_brisbane等に変更するだけであった。
しかし、こちらも、突然動かなくなったのである。実機で動かす前に、まず、無償で利用できる実機を確認した。登録ユーザの地域で異なるのだろうが、私の場合、ibm_brisbane、ibm_osaka、ibm_kyotoの3つであったが、いずれも、127量子ビットを装備した新鋭機 Eagle r3である。素晴らしい!だが、早速実行させてみると、以下のエラーが発生。しかも、"CX (CNOT) is not supported"という信じ難いエラーメッセージが!
最初は、戸惑ったのだが、すぐにピンと来ました。このCXやHなどという量子ゲートは数学モデルにすぎない。実機がそのまま実装している訳ではないということだろうと。案の定そのその通りでした。シミュレータで動かしていた時の量子回路をtranspileというツールで変換した後に実機で実行すると成功しました!このような状況は、確実な量子コンピュータの進歩の一面と言えるだろう。今後の色々な量子コンピュータ実機はそれぞれ独自の命令セットを持つはずだ。だから、論理レベルと物理レベルを明確に分離しているのだ。従来のプログラミング言語のコンパイラみたいなものが必須になってくる。
●Transpileが1分間でわかるビデオ解説
以下のビデオはとても良いのではないか!最適化レベルもいくつかある!
How can I Transpile a Quantum Circuit? 1 Minute Qiskit
https://www.youtube.com/watch?v=8mrPNSctRIg
2024年3月12日火曜日
量子コンピューティングを学ぶためのアプリをMIT App Inventorで開発(総集編)
2024年3月10日日曜日
Developing apps to learn quantum computing with App Inventor
2024年3月9日土曜日
A List of my blog articles on Quantum Computing
量子コンピューティングに関する私の記事の一覧です。約 90件あります。
2024年3月6日水曜日
Limited release: My mobile quantum circuit simulator
I have developed several types of original quantum circuit simulators as mobile applications. Eventually, I decided to make two of them available to the public, albeit in beta version. All of these were efficiently developed using MIT App Inventor. In these developments, the books [1] , [2] and [3] written by three professors, Chirs Bernhardt, Barry Burd and Shigeru Nakayama, respectively, were very helpful.
If you are interested in these apps and would like to try them out, please contact me. I will provide you built files (.apk format) for Android phones. Below is a very simple document to help you use it.
私は、これまでに数種類の独自の量子回路シミュレータを、モバイルアプリとして開発してきた。そのうちに2つを、まだベータ版ではあるが、限定公開することにした。これらは、すべてMIT App Inventorによって、効率的に開発されました。これらの開発では、3人の教授Chirs BernhardtとBarry Burdと中山茂がそれぞれ執筆された著書[1]と[2]と[3]が非常に参考になりました。これらのアプリにご興味を持ち、試用してみたいという方がおられたら、私にご連絡ください。Android phone用のビルトファイル(.apk形式)をご提供します。それをご使用いただくために、以下に極簡単なドキュメントを示します。)
●Two types of mobile quantum circuit simulator
Q1_beta1: for a single-qubit
Q3_beta2: for 3-qubit system
● Applying quantum gates
References
[1] Chris Bernhardt: Quantum Computing for Everyone, The MIT Press, 2020.
https://www.chrisbernhardt.info/
[2] Barry Burd: Quantum Computing Algorithms -Discover how a little math goes a long way, Packt Publishing, 2023.
https://users.drew.edu/bburd/quantum/
[3] Shigeru Nakayama(中山 茂): Quantum app Qni, Gaia Education series 52, 2022. (In Japanese)