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年5月20日月曜日

Congratulations Global AI Hackathon Winners!

MIT RAISE and the App Inventor Foundation have announced the winners of the Global AI Hackathon 2024. The Global AI Hackathon was a free virtual hackathon that encouraged people around the world to use MIT App Inventor to build AI apps for their purposes. The winners in each category will be invited to present their projects at the MIT AI & Education Summit in Boston from July 24-26.

For more information, see here and here.

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

IBM Quantum Labは廃止、だが新Composerがある

 【要旨】予告通り本日(現地時間 2024-5-15)、IBM Quantum Labのサービスが停止。これまでWeb上でQiskitコード(with Python)で量子回路を編集し、シミュレータや実機で実行できた環境がなくなってしまった!そのかわり、従来のComposerと呼ばれるビジュアル量子回路編集のサービスの質向上が図られた。そこから、実機で実行することもできるので、全体としては、ユーザサービスは向上したと言える。

🔴IBM Quantumからのアナウンス

 図1に示す通りだが、アナウンスはこのサイトの中にある。今後は、Qiskitコード編集、および実行環境はユーザ自身がローカルマシンに構築しなければならない。Webでのサービスは終了したのである。量子コンピュータハードウェア開発競争が激化し、IBMもハードウエア開発により注力するためらしい。
 Qiskitで作成した量子回路は、ユーザのローカル環境からもIBM Quantumマシン実機で実行できるので、中級以上のユーザには特に問題ないであろう。一方、初級ユーザ(および中級ユーザ)は、従来のビジュアル型のComposerが利用でき、今回はそのサービス内容もかなり向上したようである。

 ローカルにQiskit環境を構築後は、こちらのドキュメントが参考になる。

🔴新しいIBM Quantum Composerを使ってみる

 前向きに捉えて、新しくなったComposerを使ってみた。簡単な例題として、先のポストで示した「位相キックバックの量子回路」を使う。図2上部のように、量子回路の編集において、その各フェースで、確率振幅と位相を分かりやすく円盤で表示できる。また、図2下部に示すように、基底ベクトル毎の確率計算結果も表示される。

 このようにビジュアルに編集した量子回路に対して生成されるQiskitコードも見ることができる。図3にそれを示す。このコードをコピーして、自分のQiskit環境で使うこともできる。そして、注目すべきは、この画面から、IBM Quantumマシン実機で実行させることができることだ。特に嬉しいことに、利用可能なマシンそれぞれの混み具合(キューに何個のジョブが実行待ちか)を確認できるので、早く実行できそうなマシンを指定できる。性能(誤り発生率など)指標も表示されるので選択の参考にもなる。

 今回は、ibm_brisbaneという名称のマシンを指定したところ、まもなく実行された。実行結果として、1024ショット(デフォルト試行回数)のうちの、各基底ベクトルの出現頻度(Frequency)がヒストグラムで表示される。

 ここで良いことがある。この実行の結果、基底ベクトル|01>の頻度は図4の通り、94%であった。本来は、図2に示した通り、この頻度は理論計算上100%のはずだが、実際のマシンでは、このように数%程度の誤差が生ずる。

 もう一例示そう。図5は、3-qubitの強い量子もつれを起こすGHZと呼ばれる量子回路である。そのシミュレータ(小生自作のアプリ)とQuantumマシン実機(ibm_brisbane)の結果も図4の場合と同様に若干の差異が生じている。理論計算では、右側のシミュレータが示す通り、基底ベクトル|000>と|111>以外の基底ベクトルの頻度はゼロになるはずである。

 現状の本物の量子コンピュータとはこういうものである。それを実感することはとても重要なのではないか。現在の量子コンピュータ開発競争ではこのような誤差の低減を目指しているのだが、量子物理の世界はそういうものだ、として受け入れて利用したいという気にもなる。もちろん、幾つか分野の数理アルゴリズムでは、このような少しの誤差も許容できない場合があることも事実だ。

 IBMは、こういう状況ではあっても、ユーザには、「シミュレータよりも量子コンピュータ実機を使って欲しい」と言っているように思える。そこから得られる知見を今後の研究開発に生かしていくのであろう。

2024年5月15日水曜日

量子計算における位相キックバック(Phase Kickback)

【要旨】量子コンピューティングの(恐らく)中級レベルになると、位相キックバックと呼ばれる現象の利用が重要となる場面がある。その数学モデルを調べる。

🔴 位相キックバックとは

 「キックバック」と言っても、もちろん、最近話題になっている「⚪︎⚪︎資金のキックバック」ではない。「位相のキックバック」のことである。具体例を一つ見てみよう。図1において、レジスタが2つあり、2つのqubitを使うとする。上段のqubitの状態を|0>とし、アダマールゲートHを適用する。下段は|1>に初期設定する。次に、上段を制御ビット、下段を標的ビットとする制御付きZゲート(CZゲート)を適用する。

 この時、CZの前後で、両方のqubitの状態はどのように変わるであろうか。下段のqubitは、上段のqubitの値が1になった時にZゲートが作用するので、|1>が-|1>に変化(相対位相が180度増加)するが、上段のqubitは単に制御用なので変化はないはずである。ところが、実際には、そうはならず、下段のqubitは変化せず、上段のqubitの相対位相が反転する!これは不思議に思える!この現象が、位相キックバックである。

🔴 位相キックバックの数学モデル

 だが、この不思議に思える現象は、図2に示す数学モデルで明確に説明できる。とりあえず、上部qubitに適応される最後「H」と「測定」はここでは無視して欲しい。図1ではCZを用いたが、ここでは一般的に、制御付きユニタリ行列Uを使っている。ただし、Uへの入力状態|v>は、Uの固有状態であるとする。

 図2に示す通り、下段のqubitに起こった位相の変化が直ちに上段のqubitに反映される(キックバックされる)ことが分かる。

 次に、上部qubitに適応される「H」と「測定」のもつ意味を図3に示した。これにより、このHadamard Testと呼ばれる量子回路は、ユニタリ行列Uの固有状態|v>の固有値、従って固有位相を推定できることがわかる。

🔴 位相キックバックの数学モデルの確認

 ここまでで、位相キックバックの仕組みは分かったのだが、念のため、図1でのケースを図2と図3に当てはめてみた結果を図4に示した。

🔴 自作量子回路シミュレータによる位相キックバックの確認

 最後に、自作のシミュレータ(スマホアプリとして作成)を使って、図1に相当する位相キックバックを図5に示した。量子状態|q0q1>の基底ベクトルのそれぞれを円グラフにして、確率振幅(塗りつぶし円の面積)と位相(黒実線の角度)を示している。左隅と中央の図から、上段(Alice)のqubitの位相が、CZの前後で180度反転していることが分かる。また、右端図から、測定結果が必ず1となることも分かる。測定するまでもなく。


2024年5月6日月曜日

量子論理ゲートZの復習(固有値と固有状態)

  時に、量子コンピューティングの基礎に立ち返る。忘れていたことを思い起こす意味もあるが、再訪することで(自分にとって)新しい発見もある。今回は、量子論理ゲートZを復習する。これは、単に量子状態ベクトルをZ軸中心に反時計周りに180°回転させるに過ぎない、というイメージがあるだろう。だが、そこから、量子力学に基づくもっと深い意味を読み取れる。

手作りBloch球も今回リニューアル

(1)ケットベクトルとブラベクトルの積

(2)ケットとブラの積は射影演算である

(3)ユニタリ行列としてのZはエルミートでもある

(4)ObservableとしてのZ:固有値と固有状態はどう関係するか

(5)量子論理ゲートZは、位相シフトゲートΦの特別なケースである。

2024年4月9日火曜日

かなり残念:IBM Quantum Labの廃止...

 😖量子コンピューティングに関して、続けてまた、残念なことが起こった。人生と同じで、量子コンピュータの世界も波乱万丈である。それにしても、かなりショックである。これまで数年間愛用してきたIBM Quantum Labが約1ヶ月後(2024-5-15)に廃止になるとのアナウンスが...これによって、ibm_qsam_simulatorなどのシミュレータが使えなくなるのである!

 悲しい。instructions to download filesが示されている。これを使って、既存のあなたのプロジェクト(ソースコード)をダウンロードして、これ以降は、自分でローカルマシンにQiskit環境を設定してシミュレーションして下さい、とのことである。

 IBMは、今後、開発競争が激化する量子コンピュータ(ハードウェア)に注力するために、今回のようにシミュレータのサービスを停止するとのことのようだ。素人の邪推だが、昨年末のハーバード大学からの衝撃的発表(中性原子方式の量子コンピュータ)によって、戦略を変更する必要が生じたのかもしれない。

 これまで、無償でクラウドでシミュレータを提供してくれたことに感謝するしかない。多分、グラフィカルインタフェースで試すことができるQuantam Composerはサポートし続けるようである。特に心配なのは、これまで使えていた実機の無償提供は続行されるのか否かである。多分、Yesだとは思うが。でも、Quantum Lab自体が削除されるとすれば、どのように実機にアクセスできるのだろうか。

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月15日金曜日

動画:量子コンピューティングに親しむためのスマホアプリ

"量子コンピューティングに親しむためのスマホアプリ"動画をここに公開しました。
神奈川工科大学「ITを活用した教育研究シンポジウム2023」で発表したものです。

"量子コンピューティングに取り組む"動画はここに公開しました。
神奈川工科大学「ITを活用した教育研究シンポジウム2022」で発表したものです。