機雷がなんだ! 全速前進!

SEというかプログラマというか、日々のエンジニア生活の中で体験したことなどを中心に書き残しています。

🔔CHSH不等式の破れを確認してみた🔔(Special Thanks to ICEPP)

東京大学素粒子物理国際研究センター(ICEPP)の研究者が選定・執筆しGithubで公開している量子コンピューティングを手を動かして学びたい方のための入門教材「量子コンピューティング・ワークブック(qc-workbook)」なるものを知りました。

詳細は上記のページに記載されているのでそちらを読んでもらえれば良いと思いますが、QiskitというPythonライブラリでプログラムを記述して作成した量子回路をIBM Quantum (IBMQ)の量子コンピュータで実行できるというものです。

こちらのワークブックで量子コンピュータに触れるための最初の実習に2022年ノーベル物理学賞で話題(🔔ベルの不等式の破れ)となったCHSH不等式の破れを確認する」というものがあり、Jupyter NotebookにPythonのサンプルコードを写経するだけで量子コンピュータにおいて量子力学的状態、特に「エンタングルメント」が実現しているか検証することができると書かれています。

もしかしてGoogle Colaboratoryでも簡単に動かせるんじゃないか?

と思って、実際に試してみた結果を以下に記録しておきます。

やったこと

基本的にはワークブックの流れに身を任せればOKなのですが、一応やったことの流れをざっくりと書いておくと以下のような感じです。

 

<ざっくりとした流れ>

1.Google Colaboratoryで新規ノートブックを作成する

2.作成したノートブックでQiskit をセットアップする(以下コマンドを実行)

!pip install qiskit qiskit-ibm-runtime jupyter qiskit-aer qiskit[visualization]

3.Qiskit が実行できることを確認する(Qiskit で Hello world

4.IBM Quantum Platformで新規アカウントを作成する

5.作成したアカウントでログインして API Token を確認して控えておく

6.ワークブック「CHSH不等式の破れを確認する」のサンプルコードを上から順にノートブックへコピペして実行していく(※注:「回路を実機で実行する」で先程の API Token を __paste_your_token_here__ にセットして実行すること)

実際に実行した結果を含むノートブックは作業記録としてGithubに置いてあります。

github.com

実行結果

実際にIBMの量子コンピュータの実機へリモート接続して実行結果を取得するのですが、世界中で共有されているコンピュータの空き状況の間で実行されるせいか2000回のショット数で20~30分くらい待ちました。しばらく実行状態が続いても焦らず待ちましょう。

所感

以前から量子力学や量子コンピュータには少しだけ興味があって書籍ブルーバックスやYoutube動画を見たりしながら知的好奇心を満たしていましたが、その程度の興味があれば、誰でも簡単に実際に量子コンピュータを使って検証することができてしまいます。かつてアイザック・ニュートンが「巨人の肩の上に立つ」という言葉を用いたのはもう数百年前のことだそうですが、現代では良くも悪くも情報が民主化され誰もが簡単に巨人の肩の上に立つことができるようになったことについては個人的には良い時代になったなと感じます。論文なんかもネットで検索して簡単に翻訳して読めますしね。(とはいえ何事にも光と影の両面があるのでもちろん悪い面もあるとは思います)