2018年3月7日水曜日

【Microsoft Quantum】Q#をMacOSXで動かしてみようではないか

Q#は、Microsoftが開発した量子計算言語です。
詳しくは戸倉彩さんのブログで解説があります。

もちろん、私はMacOSXで動かすわけですが、なんとMac向けSDKもリリースされています。
オリジナルのドキュメントはこちらです。

なお、動作環境として、以下の説明があります。
・AVXを使うのでSandyBridge以降を使った方がいい(そうじゃなくても動くとは思うけど)
・いくつかのサンプルはUIの関連でnpmを使うよ
・Pythonは3.6以降

早速、最新のVisualStudioCode(以下VSCode)をこちらからダウンロードしてインストールします。
(同じ手順でLinuxでも使えます)

ダウンロードして解凍後、私はアプリケーションフォルダに移動して使っています。

ダウンロード後、起動して更新を確認します。
Q# Developer Kit は最新のVSCode(確認時には1.20.1)が必要です。

次に、Microsoft Quantum Development Kit for Visual Studio Code Extension をインストールします。
こちらのサイトからインストール作業をすすめます。










Install(赤で囲んだ部分)をクリックするとVSCodeが起動します。
以下の画面が表示されると思うので、インストールをクリックします。







インストール後、Q# Development Kit project template をインストールします。
ここから先はターミナルです。

dotnet new -i "Microsoft.Quantum.ProjectTemplates::0.2-*"

これで環境設定は終わりです。
このままgithubにあるチュートリアルのコードを実行してみましょう。

githubからプロジェクトをクローンします。

$ git clone https://github.com/Microsoft/Quantum.git

クローンしたプロジェクトに移動し、サンプルのTeleportationを実行してみます。

$ cd Quantum/
$ cd Samples/Teleportation/
$ dotnet run
Round 0: Sent True, got True.
Teleportation successful!!

Round 1: Sent True, got True.
Teleportation successful!!

Round 2: Sent False, got False.
Teleportation successful!!

Round 3: Sent False, got False.
Teleportation successful!!

Round 4: Sent False, got False.
Teleportation successful!!

Round 5: Sent False, got False.
Teleportation successful!!

Round 6: Sent True, got True.
Teleportation successful!!

Round 7: Sent False, got False.
Teleportation successful!!



Press Enter to continue...

なお、Teleportationは、実行するたびに実行結果が異なります。
Teleportationは量子テレポーテーションをシミュレーションしたものです。

案外簡単にできますので、ぜひ興味をもっていただきたいです。
なお、4月に勉強会を予定してます。こちらで発表する予定です。







0 件のコメント: