この記事の目的
現代のコンピューターの性能を凌ぐと期待されている量子コンピューター。
ハード面ではまだまだ技術的な問題があります(令和2年現在)が、いずれこれらの課題が解消され、実用的な段階に入ることが望まれています。
量子コンピューターの実機は量子力学などの物理法則に従って挙動を示しますが、この挙動を現代のコンピューター(古典コンピューターとも呼びます)の上で仮想的に実現したものをシミュレータと呼びます(シミュレータは一般用語ですが)。
この記事では、持ち運びにも便利なシングルボードコンピューターのラズベリーパイ(Raspberry PI)を使って、量子コンピューティング・シミュレータを作ってみたいと思います。
量子コンピューティング・シミュレータ ソフトウェア「blueqat」
量子コンピューティング・シミュレータを実現するソフトウェアとして、日本では、blueqat株式会社(旧称、MDR株式会社)からオープンソースの blueqat がリリースされています。blueqatは”ブルーキャット”と発音します。(マンガに出てくる、日本の超スーパーコンピュータを備えた青色の猫型ロボットが名前の由来だそうです)
■blueqat:オープンソース量子コンピューティングプラットフォーム
https://blueqat.com/?hl=ja
blueqatの特徴は、直感的に扱いやすい上に、アニーリング方式やゲート方式の計算ロジックを備えた多機能性で、世界的にも人気のソフトウェアです。
また、blueqatはPython言語で書かれており、動作するにはPythonの環境が必要です。
Pythonのバージョン確認とインストール
今回は以下の内容でRaspberry PIを用意しました。
■Raspberry PI スペック
(令和2年7月時点)
Raspberry PI バージョン:Raspberry PI 4 Model B (8GB)
OSバージョン:Linux raspberrypi 4.19.97-v7l
Pythonバージョン:Python 3.7.3
Micro SDカード容量:16GB
Raspberry PIのインストールでは、本家サイトからNOOBS v3.3.1を取得し、Micro SDカード上に展開、その後Raspberry PIを起動しインストールを進めました。
インストール完了後、プロンプト画面(LXTerminal)を起動し、Pythonのコマンド python -V
を実行しPythonのバージョンを確認します。
標準設定でpythonコマンドはPython2を指定していました。
続いて python3 -V
とコマンドを実行してみます。
当マシンの標準設定では、Python3はコマンドpython3で実行される設定のようです。
では、blueqatをインストールします。
pip install blueqat
blueqatをインストールする際にいくつかのエラーが出ましたので以下にまとめました。以下の「インストール時のトラブルシューティング」をご参照下さい。
インストールが終わりましたら、「インストール後の動作確認」へ進んで下さい。
インストール時のトラブルシューティング
blueqatをインストールする際にいくつかのエラーが出ましたので以下にまとめました。
①pipインストールエラーの対応
これは、システムにpipモジュールが無いためにおこるエラーです。
以下のコマンドでpipモジュールをインストールして下さい。
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
以下はコマンド実行後の様子です。
モジュール取得後、以下でインストール
sudo python get-pip.py
②pythonコマンドのエラーの対応
Pythonのバージョン確認を行った際に、システムの標準設定ではPython2を指定していました。blueqatのインストール処理内部で「python ...」コマンドが実行されるため、pythonコマンドがPython3を指すようにシステムの修正が必要です。
以下のコマンドで修正を行って下さい。
sudo ln -sf /usr/bin/python3 /usr/bin/python
※強制実行オプション"f"が付いているので実行の際はご注意下さい。
修正後は、python -V
コマンドでPython3が指定されていることを確認できます。
③scipyモジュールインストールエラーの対応
内部的にscipyモジュールをインストールする際に、いくつかの補助モジュールが不足しているために生じるエラーです。
以下の2つのコマンドを予め実行して下さい。
sudo apt-get install libatlas-base-dev
sudo apt-get install gfortran libopenblas-dev liblapack-dev
インストール後の動作確認
以下を実行し、念のためblueqatが正常に動作することを確認して下さい。
①バージョンの確認
pip list | grep blueqat
バージョンが表示されればOKです。
(以下は令和2年7月現在)
②importのテスト
python対話モードで以下を実行して下さい。
from blueqat import Circuit
エラーが出なければOKです。
③量子演算のテスト
Hゲート(アダマールゲート)を作用させてみます。
Circuit().h[0].run()
動作に問題無ければこれで終了です。
関連情報
■Blueqatで簡単な頂点被覆問題を解く
https://qiita.com/ttlabo/items/b4ab222ef9c5ee99233c
■Blueqatでナップサック問題を解く一例
https://qiita.com/ttlabo/items/537564c90056a6d56879
ご意見など
ご意見、間違い訂正などございましたらお寄せ下さい。