LoginSignup
5
5

More than 3 years have passed since last update.

Raspberry PIで量子コンピューターをシミュレーションする(blueqat環境構築編)

Last updated at Posted at 2020-07-30

:atom: この記事の目的

現代のコンピューターの性能を凌ぐと期待されている量子コンピューター。
ハード面ではまだまだ技術的な問題があります(令和2年現在)が、いずれこれらの課題が解消され、実用的な段階に入ることが望まれています。

量子コンピューターの実機は量子力学などの物理法則に従って挙動を示しますが、この挙動を現代のコンピューター(古典コンピューターとも呼びます)の上で仮想的に実現したものをシミュレータと呼びます(シミュレータは一般用語ですが)。

この記事では、持ち運びにも便利なシングルボードコンピューターのラズベリーパイ(Raspberry PI)を使って、量子コンピューティング・シミュレータを作ってみたいと思います。

:atom: 量子コンピューティング・シミュレータ ソフトウェア「blueqat」

量子コンピューティング・シミュレータを実現するソフトウェアとして、日本では、blueqat株式会社(旧称、MDR株式会社)からオープンソースの blueqat がリリースされています。blueqatは”ブルーキャット”と発音します。(マンガに出てくる、日本の超スーパーコンピュータを備えた青色の猫型ロボットが名前の由来だそうです)

blueqat:オープンソース量子コンピューティングプラットフォーム
https://blueqat.com/?hl=ja

blueqatの特徴は、直感的に扱いやすい上に、アニーリング方式やゲート方式の計算ロジックを備えた多機能性で、世界的にも人気のソフトウェアです。

また、blueqatはPython言語で書かれており、動作するにはPythonの環境が必要です。

:atom: 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のバージョンを確認します。
image.png

標準設定でpythonコマンドはPython2を指定していました。
続いて python3 -V とコマンドを実行してみます。
image.png

当マシンの標準設定では、Python3はコマンドpython3で実行される設定のようです。
では、blueqatをインストールします。

pip install blueqat

image.png

blueqatをインストールする際にいくつかのエラーが出ましたので以下にまとめました。以下の「インストール時のトラブルシューティング」をご参照下さい。

インストールが終わりましたら、「インストール後の動作確認」へ進んで下さい。

:atom: インストール時のトラブルシューティング

blueqatをインストールする際にいくつかのエラーが出ましたので以下にまとめました。

①pipインストールエラーの対応

pip installを実行すると、以下のエラーが出ます。
image.png

これは、システムにpipモジュールが無いためにおこるエラーです。
以下のコマンドでpipモジュールをインストールして下さい。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

以下はコマンド実行後の様子です。
image.png
モジュール取得後、以下でインストール
sudo python get-pip.py

②pythonコマンドのエラーの対応

Pythonのバージョン確認を行った際に、システムの標準設定ではPython2を指定していました。blueqatのインストール処理内部で「python ...」コマンドが実行されるため、pythonコマンドがPython3を指すようにシステムの修正が必要です。
image.png

以下のコマンドで修正を行って下さい。

sudo ln -sf /usr/bin/python3 /usr/bin/python
※強制実行オプション"f"が付いているので実行の際はご注意下さい。

修正後は、python -V コマンドでPython3が指定されていることを確認できます。
image.png

③scipyモジュールインストールエラーの対応

内部的にscipyモジュールをインストールする際に、いくつかの補助モジュールが不足しているために生じるエラーです。
image.png

以下の2つのコマンドを予め実行して下さい。
sudo apt-get install libatlas-base-dev
sudo apt-get install gfortran libopenblas-dev liblapack-dev

:atom: インストール後の動作確認

以下を実行し、念のためblueqatが正常に動作することを確認して下さい。

①バージョンの確認

pip list | grep blueqat
バージョンが表示されればOKです。
(以下は令和2年7月現在)
image.png

②importのテスト

python対話モードで以下を実行して下さい。
from blueqat import Circuit
エラーが出なければOKです。
image.png

③量子演算のテスト
Hゲート(アダマールゲート)を作用させてみます。
Circuit().h[0].run()
image.png

動作に問題無ければこれで終了です。

:atom: 関連情報

■Blueqatで簡単な頂点被覆問題を解く
https://qiita.com/ttlabo/items/b4ab222ef9c5ee99233c

■Blueqatでナップサック問題を解く一例
https://qiita.com/ttlabo/items/537564c90056a6d56879

:atom: ご意見など

ご意見、間違い訂正などございましたらお寄せ下さい。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5