詳しくは戸倉彩さんのブログで解説があります。
もちろん、私はMacOSXで動かすわけですが、なんとMac向けSDKもリリースされています。
オリジナルのドキュメントはこちらです。
https://docs.microsoft.com/en-us/quantum/quantum-installconfig?view=qsharp-preview&tabs=tabid-vscode
なお、動作環境として、以下の説明があります。
・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...
$ 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は量子テレポーテーションをシミュレーションしたものです。
Teleportationは量子テレポーテーションをシミュレーションしたものです。
案外簡単にできますので、ぜひ興味をもっていただきたいです。
なお、4月に勉強会を予定してます。こちらで発表する予定です。