量子力学の原理を応用した量子コンピュータ。量子特有のふるまい「重ね合わせ」や「もつれ」といった性質を使用して、従来のコンピュータで数十年を要する計算をより高速により効率よく実行するといったことが期待されています。量子論や数式で従来のコンピュータのプログラムに相当するアルゴリズムや原理が説明される量子コンピュータは近寄りがたい存在ですがまずは動かしてみて身近に感じてみましょう。
この記事では、量子コンピューティングのためのPythonライブラリの一つの Qiskit を Raspberry Pi にインストールして、Raspberry Piでゲート型量子コンピュータシミュレータを動作させたり、Raspberry PiをIBM Quantumサービスで提供されているゲート型量子コンピュータの実機につないで実機で量子回路を動作させるのに必要な環境を構築します。Qiskitで動作するPythonサンプルプログラムもGitHubで公開していますので動作させる際にご参照ください。
Raspberry Pi の環境
https://www.raspberrypi.org/software/ の Raspberry Pi Imager で作成したSDカードを使用しています。
Raspberry Pi 3B
Raspberry pi 4B
Raspberry Pi OS (32 bit)
Release date: May 7th 2021
Kernel version: 5.10
Raspberry PiへのQiskitのインストール
swapサイズを大きくする
Qiskit依存ライブラリのコンパイルに必要なメモリを確保するためにswapサイズを大きくします。
$ sudo sed -i 's/CONF_SWAPSIZE=100/CONF_SWAPSIZE=1024/' /etc/dphys-swapfile
$ sudo systemctl restart dphys-swapfile
Qiskitの依存ライブラリのインストール
グラフライブラリ retworkx のインストール
$ pip3 install setuptools-rust
$ curl https://sh.rustup.rs -sSf | sh
...略...
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
...略...
1<Enter>
$ source ~/.cargo/env
$ pip3 install --prefer-binary retworkx
解析的ガウス積分ライブラリ libcint のインストール
$ sudo apt -y install cmake libatlas-base-dev
$ git clone --depth 1 https://github.com/sunqm/libcint.git
$ cd libcint
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/ ..
$ make -j4
$ sudo make install
$ cd ~
量子科学計算ライブラリ PySCF のインストール
$ pip3 install --prefer-binary pyscf cython
Qiskitのインストール
$ pip3 install --prefer-binary qiskit[visualization]
swapサイズを戻す
$ sudo sed -i 's/CONF_SWAPSIZE=1024/CONF_SWAPSIZE=100/' /etc/dphys-swapfile
$ sudo systemctl restart dphys-swapfile
Pythonサンプルプログラム
量子回路をRaspbery Piのゲート型量子コンピュータのシミュレータを動かしたり、IBM Quantumのサービスにつないで実機で動かしたりするサンプルプログラムをGitHubで公開しています。
https://github.com/monoxit/qfluxcap
量子コンピュータことはじめにお勧めのオンラインコース
MONOxIT ONLINEでは「量子コンピュータのことはじめ」の位置づけのオンラインコース「量子コンピュータ101」を開講中です。