The easiest way of setup QuTiP on Windows
~~~量子コンピューター Advent Calendar 2019の二日目の記事です。~~~
生粋の園児ニアのnoritsunaです。
今回は、研究者に捧げるQuTiPやQISKitなどをWindowsにセットアップする方法です。
それが何かというと、QuTiPのWindowsへのインストール手順を見るとWindows上にanacondaをセットアップして、そのうえで利用する方法が紹介されています。しかし、よく見ると最新版の4.4系ではなく4.1系しか動作対象となっていません。
そうです、Windowsでは最新バージョンが使えないのです。しかも、Windows上のanacondaはいろいろと癖があるわりには利用者が少ないため、ネット上で情報を探してもLinux上での情報ばかりです。そのため、トラブったときになかなか解決策にたどり着けません。
かといって、この手のソフトウェアのためだけにLinuxマシンを用意するのも、いろいろな手続きなどを考えると二の足を踏んでしまうことでしょう。
そこで、Linux上にセットアップする利点を享受しながら、Windows上にセットアップする方法を紹介します。そして、その方法とはズバリ、
Windows Subsystem for Linux + jupyter notebook
になります。これにより、QuTiPなどはLinux上で動作させながら、Windows上にセットアップが可能となります。そのため、Linux向けのTipsなどがほぼ適用可能となります。
早速セットアップ手順を解説していきます。
1、Windows Subsystem for Linuxを有効にする
最初に、Windows Subsystem for Linuxを有効にする必要があります。なかなか深いところにあるので、キャプチャ画面で説明していきます。
1、1、「設定」の「アプリと機能」を選択する
1、2、下のほうにある「プログラムと機能」を選択する
1、3、左ペインの「Windowsの機能の有効化または無効化」を選択する
1、4、「Windows Subsystem for Linux」をチェックして、「OK」ボタンを押す。その後、再起動を求められるので再起動する
2、Windows上にLinuxディストリビューションをインストールする
Microsoft Store上にあるLinuxディストリビューションをインストールします。基本的にどのディストリビューションでも構いません。今回は、「Ubuntu 18.04 LTS」を選択します。
2、1、「Microsoft Store」を起動して「Ubuntu 18.04 LTS」を選択する
「Linux」と検索するといろいろなディストリビューションが表示されます。
2、2、「取得」をクリックし、インストールする
3、「Ubuntu」のセットアップ
各種ソフトをインストールして、Ubuntuを各量子ソフトウェアのプラットフォームとして使えるようにします。
3、1、初回セットアップ
初回起動時は、各種ファイルの展開とユーザIDならびにパスワードを求められますので、任意のものを入力します。
無事に起動すると、下記のような画面となります。
3、2、開発系ソフトウェアのセットアップ
下記のコマンドを順に入力します。
sudo apt update
sudo apt upgrade
sudo apt install build-essential cmake git python3-dev python3-pip python3-sklearn
sudo apt install jupyter-notebook
sudo apt install libomp-dev
sudo pip3 install Cython
3、3、QuTiPのセットアップ
今回は、量子系のソフトウェアとして、QuTiPをセットアップします。
wget http://qutip.org/downloads/4.4.1/qutip-4.4.1.tar.gz
tar zxfv qutip-4.4.1.tar.gz
cd qutip-4.4.1
sudo python3 setup.py install –with-openmp
以上で、必要なソフトのセットアップは終了です。
続いて、QuTiPの利用法を解説します。
4、QuTiPをjupyter-notebookで利用する
4、1、jupyter-notebookを起動する
下記のコマンドを実行します。
jupyter-notebook
起動が成功すると下記のような画面となります。
4、2、jupyter-notebookにアクセスする
普通のLinuxであれば、「jupyter-notebook」コマンドを実行すると同時にブラウザが起動しますが、本環境では起動しません。そこで、自力でブラウザを起動する必要があります。
まず、Windows上のブラウザを起動してください。そして、
http://localhost:8888/?token=xxxx
となっている部分をコピーして、ブラウザのURL欄にペーストしてください。そうすると下記のようにアクセスできます。あとは、jupyter-notebookそのものです。
また、WSL上のテキストが選択できない場合は、設定を変えてください。ツールバー上で右クリックするとプロパティ画面を起動できます。そして、「簡易編集モード」にチェックを入れます。
5、QuTiPをjupyter-notebookでサンプルを実行する
ブロッホ球を表示するサンプルを実行してみた結果です。
6、Tips
ちょっとしたテクニックを紹介します。
6、1、X Windowを利用する
アプリケーションによっては、GUIウィンドウを要求するものもあります。その場合、X Windowシステムを利用することで、Windows上でLinuxのウィンドウを表示することが可能です。
- Windows側に、XvXsrv(https://sourceforge.net/projects/vcxsrv/)をインストールして、起動する。設定はデフォルト値でOK。
- Linux側で、「export DISPLAY=:0」を実行する
6、2、Winodws側とファイルのやり取りをする
WindowsのCドライブは、下記にマウントされています。これを経由してファイルのやり取りをします。
/mnt/c/
以上、もし、少しでも量子研究の手助けとなれば幸いです。