量子コンピュータのIBMQを学んでみた

1.概要

IBM製の27量子ビットの量子コンピュータ(IBMQ)が新川崎に設置されました。直接見る機会はありませんが、ネット経由で米国のIBMQを利用することができます。新しい技術に触れることはとても楽しいことです。数年前に量子コンピュータのセミナーを受けた時、五線譜のようなプログラミング手法を教わり、半分諦めました。今回、IBMQを操作するPythonライブラリのqiskitの学習をはじめました。qiskitを利用するとsimulatorが提供され、量子コンピュータの動作を学ぶことができます。

2.詳細

Ubuntu-20.04環境でQiskitのinstallを手順に従って導入します。次に、インストールされたバージョン確認をするのですが、参考資料の結果と異なりました。この内容を記述します。

(1) qiskitのinstallと確認
$ pip install qiskit

(2) 動作確認(Jupyter環境を利用)
import qiskit
qiskit.__version__

'0.20.2'と表示されますの予定です。

qiskit.__qiskit_version__

{'qiskit-terra': '0.20.2',
 'qiskit-aer': '0.10.4',
 'qiskit-ignis': '0.7.1',
 'qiskit-ibmq-provider': '0.19.1',
 'qiskit-aqua': None,
 'qiskit': '0.36.2',
 'qiskit-nature': None,
 'qiskit-finance': None,
 'qiskit-optimization': None,
 'qiskit-machine-learning': None
 }
 
上記結果ではNoneが複数表示されます。これはドキュメントと異なります。
 
(3) 試したこと
下記コマンドでqiskit-aquaを導入できます。
$ pip install qiskit-aqua

githubにはQiskit Aqua (NOW DEPRECATED)と記載があり、サポート終了とマイグレーションガイドがあり、大きく変わっているようです。しかし、私が試したサンプルプログラムは上記qiskit-aquaの導入で動作しました。

3.所見

何もわからずに触れてみました。Pythonで操作できるので何を実行しているかはわかりますが、裏側にある理論はわかりません。習うより慣れろでしょうか

4.追加

(1) 量子コンピュータIBMQをqiskitで利用してみた

1〜2年ほど前にqiskitライブラリを利用して、pythonプログラムを作成して、IBMQ実機をネット利用しました。その時は、量子コンピューターの考え方が良く分かりませんでした。最近、IBMQの2025年までのロードマップが開示され、量子コンピュータのHW進歩が急激に進んでいることを知り、もう一度、IBMQの学習を少しずつ取組んでいます。

学習環境はubuntu-20.04.4でjupyterを利用しています。jupyter環境の上で、pip install qiskitを実行してサンプルプログラムを学習していましたが、No module 'qiskit'のエラーが発生したことを記述します。

(a) Jupyter Notebook
(b) 問題が発生したqiskitのinstall
juputer上で下記コマンドでqiskitをinstallしました。

$ pip install qiskit

サンプルプログラムを実行するとNo module 'qiskit'のエラー発生しました。

(c) 原因

参考資料のfaqの「Jupyter Notebook を利用している時に次のエラーが出るのはなぜですか」を参照

(d) 対処方法

本ブログのjupyter notebook (05/21)の手順の中で、conda update --all 直後にqiskitをinstallしました。

$ conda update --all
$ pip install qiskit

(2) 量子コンピュータのIBMQでqiskit-GPUを利用してみた

qiskitは量子コンピューターを利用するpythonライブラリですが、計算処理効率を上げるためにnVidiaのGPUを利用できるとの記述があります。そこで、qiskitで実際にGPUを利用するために、qiskit-aer-gpuを追加して確認をしました。その内容を記述します。なお、nvidia GPUの環境設定に関しては、tensorflow学習時の設定を使いました。

(a) 導入

qiskitの導入直後にqiskti-aer-gpuを追加しました。
(参考)当ブログのIBMQ qiskit(続編) (06/20)

$ conda update --all
$ pip install qiskit
$ pip install qiskit-aer-gpu

(b) 確認事項

参考資料のシミュレーターのGPUシミュレーション記載を実行するとエラーは発生しません。従って、GPUは認識されているようです。

そこで、参考資料を活用して実際のプログラムでGPUを利用しました。qiskit versionが、0.16.0と少し古いのですが、記載されている通りに実行できます。私のGPU環境(Geforce 1050Ti)では、量子ビットは8程度が現実的な実行環境でした。

更に、参考資料のQiskit Aer 0.7.0からは変わるとの情報を試してみましたが、古い記述のままで利用できます。私の利用環境は、qiskit-aer 0.10.4なので、バージョンは上がっていますが、qiskit-aer側の事情が少し変わっているようです。

(3) 量子コンピュータのIBMQでqiskit-textbookを使ってみた

qiskitを利用した学習を進めていると、qiskit-textbookを利用する事例があります。qiskit-textbookはgitから導入する必要があり、その記述をします。

(a) 導入方法

参考資料に従ってpipコマンドで導入します。
(参考)当ブログのIBMQ qiskit-GPU (07/01)

$ conda update --all
$ pip install qiskit
$ pip install qiskit-aer-gpu
$ pip install git+https://github.com/qiskit-community/qiskit-textbook.git#subdirectory=qiskit-textbook-src

(b) 動作確認

下記コマンドをjupyter notebookのcellに入力します。
エラーなく実行されると動作確認は完了です。

print('Set up started...')
from qiskit_textbook.games import hello_quantum
print('Set up complete!') 

参考
[外部サイト参照]
日本初のIBM製「ゲート型商用量子コンピュータ」が新川崎で稼働。アメリカ、ドイツに次いで世界で3番目
Qiskitのインストール
Qiskit/qiskit-aqua
Expanding the IBM Quantum roadmap to anticipate the future of quantum-centric supercomputing
シミュレーター
QiskitのシミュレータでGPUを使ってみる
Qiskit Aer 0.7.0からbackend_optionsの指定方法が変わったので,その対策
Qiskitテキストブックで作業するための環境設定ガイド

コメント

過去30日間に良く読まれた記事

miniPCのBMAXでWindows11のsecure boot設定漏れでトラブル発生

LinuxMint/ubuntuにWine 11導入を試しました ( LinuxMint 21.3 / 22.3 ubuntu 22.04 / 26.04 Wine 11.0 / 11.6 / 11.8 / 11.13 )

Windows95/98のPCゲームをUbuntu/LinuxMintの最新PCで楽しむ方法 ( KVM / Wine / dosbox-x / midi )