Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Q#基礎 ver1.1

1,298 views

Published on

Q#を始める人向けのまとめ資料 v1.1。Quantum Development Kit 0.3に対応。

Published in: Technology
  • DOWNLOAD THAT BOOKS/FILE INTO AVAILABLE FORMAT - (Unlimited) ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes Christian, Classics, Comics, Contemporary, Cookbooks, Art, Biography, Business, Chick Lit, Children's, Manga, Memoir, Music, Science, Science Fiction, Self Help, History, Horror, Humor And Comedy, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THAT BOOKS/FILE INTO AVAILABLE FORMAT - (Unlimited) ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes Christian, Classics, Comics, Contemporary, Cookbooks, Art, Biography, Business, Chick Lit, Children's, Manga, Memoir, Music, Science, Science Fiction, Self Help, History, Horror, Humor And Comedy, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Q#基礎 ver1.1

  1. 1. Q# 基礎 Ver1.1 2018/11 @tanaka_733 https://www.tanaka733.net
  2. 2. 変更履歴 Version 公開日 主な変更点 1.0 2018/10/30 初版 1.1 2018/11/05 Quantum Development Kit 0.3に対応
  3. 3. この資料について Q#で初めて開発する人向けに、 いくつかの勉強会での発表資料をひとつにまとめました 目次 ◦ Q#入門 ◦ Q#の主なOperation ◦ もっとQ#を勉強するために
  4. 4. Q#入門 この章は先週の別の勉強会の資料の抜粋です https://www.slideshare.net/tanakata/q-117200034
  5. 5. 量子コンピューターモデル
  6. 6. Q#とは 量子コンピューティングのためのスケーラブルでマルチパラダイムでドメイン特化した言語 ◦ 関数型と命令型のマルチパラダイム 文法的にはC#やJavaに似たような構造 ◦ F#およびほかの関数型言語のキーワードも導入している 量子機械の上での操作を記述できる ◦ 抽象化の度合いや、シミュレーターから実機まで幅広く対象とする ◦ 数百Qubit程度の小さいマシンから百万Qubitオーダーまで対象とする (実機がまだ存在しないが) デバッグやプロファイル、利用リソースの推定や特定の目的のためのシミュレーション実行など 幅広く対象としている https://docs.microsoft.com/en-us/quantum/quantum-techniques-1- qsharp_filestructure?view=qsharp-preview
  7. 7. Q#開発の準備 Visual StudioかVisual Studio CodeがエディタとしてQ#をサポート エディタ支援が不要であれば、.NET Core CLI+好きなエディタでもOK 必要なもの ◦ .NET Core が動くOS ◦ 初期のQ#では新し目のCPUが必須だったが、今はOK ◦ Q#開発キット ◦ 開発キット自体は.NET Coreのクラスライブラリ形式でプロジェクトに追加されるので、 実際には.NET Coreプロジェクトのテンプレートをインストールする ◦ Visual Studio or Visual Studio Code (option) ◦ それぞれエディタの拡張機能が提供されれている https://docs.microsoft.com/en-us/quantum/quantum- installconfig?view=qsharp-preview&tabs=tabid-vs2017
  8. 8. Quantum Development Kitの バージョンアップ プロジェクトテンプレートのアップデート Visual Studio / Visual Studio Code 拡張機能の更新 ◦ それぞれのツールの拡張機能のメニューから更新 既存プロジェクトの更新 ◦ Migration の手順に従う ◦ https://docs.microsoft.com/en-us/quantum/relnotes/0.3-migration?view=qsharp-preview#Migration ◦ PowerShell スクリプトが提供されているのでそれを実行してもよい ◦ https://docs.microsoft.com/en-us/quantum/relnotes/0.3-migration?view=qsharp-preview#MigrationScript dotnet new -i "Microsoft.Quantum.ProjectTemplates::0.3.1810.2508-preview"
  9. 9. はじめてのQ#プロジェクト https://docs.microsoft.com/en-us/quantum/quantum- writeaquantumprogram?view=qsharp-preview&tabs=tabid-vs2017 $ dotnet new console ¥ -lang Q# --output Bell Visual Studioの場合は Q#プロジェクトテンプレートを選択 Visual Studio Codeやそのほかのエディタでは .NET Core CLIのコマンドで作成
  10. 10. Q#プロジェクトの構造 すべてのファイルを表示 Q#ソースファイル (qs) エントリポイント(Mainメソッド)を持つ C#ソースファイル Q#コンパイルコマンド結果 Q#ソースをC#にコンパイルした 中間ファイル(g.cs) Q#コンパイルコマンド詳細
  11. 11. Q#ソースのコンパイル qsファイル g.csファイル dll Q#開発キットでインストールされるバイナリを利用して dotnet qsc.dll … でコンパイル 通常のC#プロジェクトとしてコンパイル 0.3よりコード変更のたびにQ#のビルドが 行われるので、リアルタイムで反映される
  12. 12. Q#プロジェクト Internal 作成されたプロジェクトは普通のC#プロジェクトにQ#SDKが参照されているもの ◦ .NET Core 2.0 (netcoreapp2.0) Q#のソースはC#(g.cs)にいったんコンパイルされる ◦ WPFとかSilverlightのXAMLやASP.NETのcshtmlと同じイメージ ◦ ただし、プロジェクトのビルド時にしかビルドされない (コード編集中に自動ビルドされない) ◦ NuGetで配られる microsoft.quantum.development.kit の中にビルド定義があり、 プロジェクトのビルド時にトリガーされる == .NET Core標準の仕組みを利用 0.3よりQ#のコード支援機能が提供されるようになった というのを頭に入れておくと、Q#コード書くときに(C#との感覚の違いがわかって)便利かも
  13. 13. Q#の文法 - ファイル構造 以下、記載のコードはQ# documentから引用 および一部改変 https://docs.microsoft.com/en-us/quantum
  14. 14. Q#の文法 - ファイル構造 名前空間の定義 他の名前空間の参照 (C#のimport) Operationの定義 Operationの引数 Operationの返り値の型
  15. 15. OperationとFunction Operation: 量子操作。副作用を伴う。 Function: 量子操作を行わない数値計算 voidに相当 組み込み済みの型については後で Operation内部のbodyは書かなくて よくなりました (0.3からの変更)
  16. 16. 3種類の制御構文 ◦ if…elif…else 文 ◦ elseじゃなくてelif ◦ forループ ◦ C#のforeachに相当 ◦ ループの変数を事前に定義する必要なし ◦ repeat-untilループ ◦ 今回は省略 ◦ Do-while文で、条件判定に複数の文が 記述できるイメージ ◦ 「当たるまで引けば当たる」
  17. 17. repeat-until (RUS)
  18. 18. First-Class Valueとしての OperationとFunction OperationやFunctionそのものを引数や返り値にできる ◦ 関数ポインタあるいはAction<T>, Function<T>なイメージ ◦ 見た目はラムダ式っぽい
  19. 19. OperationやFunctionの部分適用 引数に _ を指定することで、部分適用された関数を定義でき、関数の返り値にもできる
  20. 20. ローカル変数(letとmutable) letもしくはmutableで定義。letは変更不可、mutableは可能な変数に使う。
  21. 21. ローカル変数(letとmutable) letもしくはmutableで定義。letは変更不可、mutableは可能な変数に使う。 C#のvarと同じく 右辺の型推論で 変数の型が決まる 配列をmutableで宣言すると要素もmutable For文のindexは変数宣言不要 +=は使えない
  22. 22. ローカル変数(タプル) 任意のタプルに名前を付けて新しい型として定義できる
  23. 23. 型モデル Primitive ◦ Int 2, -107, 49 (64bit) ◦ Double 0.0, -43.2, 5e-7 ◦ Bool true, false ◦ Pauli PauliI, PauliX, PauliY, PauliZ ◦ Result Zero, One (測定結果を表現) ◦ Range 1..10, 5..-2..1 (start..step..end なので 5,3,1) ◦ String “qsharp” (ログメッセージに利用) ◦ Qubit Tuple (Int, (Qubit, Qubit)) 配列 [1; 4], new Int[13] Operation & Function型 ユーザー定義型 newtype Complex = (Double, Double); C#でいう暗黙的な型変換はない。 Microsoft.Quantum.Extensions.Convert 以下 のFunctionを使って明示的に変換しないといけない
  24. 24. Qubitの割り当て usingブロックを利用 (C#のusingと同じイメージ)
  25. 25. Qubitの割り当て usingブロックを利用 (C#のusingと同じイメージ) 5個のQubitを |0> で初期化 ➔ |00000> この変数も事前の定義不要 usingを抜ける際にQubitは リセットされないといけない。 測定もしくはリセットする
  26. 26. Qubitの操作 bool配列と初期化されたQubit配列を受け 取って、i番目の要素がtrueであればQubit を|1>に変化させるOperation
  27. 27. Qubitの測定
  28. 28. Qubitの測定
  29. 29. ログとデバッグ
  30. 30. ログとデバッグ メッセージを出力 デフォルトではコンソールに出力 生成された全量子ビットの状態を出力。 引数にファイル名指定。 空文字指定でコンソールに出力 処理の失敗 例外スローに似ている string interpolationもOK $”start {i}”
  31. 31. C#側のコード 現状シミュレーターのみが利用可能。 Q#のOperationがクラスとして参照できるので、Runで実行しTask<T>を取得する
  32. 32. Q#の主なOperation 主な量子ゲート操作のQ#での書き方 https://en.wikipedia.org/wiki/Quantum_logic_gate
  33. 33. Hadamardゲート q https://docs.microsoft.com/ja-jp/qsharp/api/prelude/microsoft.quantum.primitive.h?view=qsharp-preview
  34. 34. PauliX,Y,Zゲート q 回路記号はPauliXゲート。 NOTに相当 https://docs.microsoft.com/ja-jp/qsharp/api/prelude/microsoft.quantum.primitive.x?view=qsharp-preview
  35. 35. Phase Shiftゲート R1 Operationを使えばよい。 特に、π/4のときのTゲートと、 π/2のときのSゲートは用意されている。 Q#にはPauliX,Y,Z,I軸いずれかの指定した軸まわりに 指定した角度だけ回転できるR Operationがあり、 R1 OperationはR Operation2つで書き換えられる。 https://docs.microsoft.com/en-us/qsharp/api/prelude/microsoft.quantum.primitive.r1?view=qsharp-preview https://docs.microsoft.com/en-us/qsharp/api/prelude/microsoft.quantum.primitive.r?view=qsharp-preview https://docs.microsoft.com/en-us/qsharp/api/prelude/microsoft.quantum.primitive.t?view=qsharp-preview https://docs.microsoft.com/en-us/qsharp/api/prelude/microsoft.quantum.primitive.s?view=qsharp-preview
  36. 36. SWAPゲート https://docs.microsoft.com/ja-jp/qsharp/api/prelude/microsoft.quantum.primitive.swap?view=qsharp-preview q1 q2
  37. 37. Controlledゲート control target CNOTと隣のControlled Xは同じ CNOTについては専用のOperationがあり、 Controlledをつけると任意のcontrolledなOperationが 第一引数のQubit[]を制御Qubitとして呼び出せる https://docs.microsoft.com/ja-jp/quantum/quantum-qr-typemodel?view=qsharp-preview#functors
  38. 38. Toffoli (CCNOT)ゲート control1 target control2 https://docs.microsoft.com/ja-jp/qsharp/api/prelude/microsoft.quantum.primitive.ccnot?view=qsharp-preview Controlledの制御ビットは複数指定できるので、 CCNOTはControlled Xを使っても記述できる
  39. 39. もっとQ#
  40. 40. Quantum Katas ハンズオンに使われたチュートリアル集 ◦ https://github.com/Microsoft/QuantumKatas Step by Step ですぐに自分の答えがあっているか確認できる 答えもついている。
  41. 41. 参考リンク Microsoft Quantum ◦ 公式ページ: https://cloudblogs.microsoft.com/quantum/ ◦ Quantum Development Kit: https://www.microsoft.com/en-us/quantum/development- kit ◦ 開発用ドキュメント: https://docs.microsoft.com/en-us/quantum/?view=qsharp-preview Q# Coding Contest ◦ 告知ブログ http://codeforces.com/blog/entry/60209 ◦ Warmup round http://codeforces.com/contest/1001 ◦ 解説 https://assets.codeforces.com/rounds/997-998/warmup-editorial.pdf ◦ 本戦 http://codeforces.com/contest/1002 ◦ 解説 https://assets.codeforces.com/rounds/997-998/main-contest-editorial.pdf ◦ Introduction to Quantum Oracle http://codeforces.com/blog/entry/60319
  42. 42. 参考リンク Q#の設計を学術的に知りたい人向け ◦ Q#: Enabling scalable quantum computing and development with a high-level domain- specific language https://www.microsoft.com/en-us/research/publication/q-enabling-scalable-quantum- computing-and-development-with-a-high-level-domain-specific-language/ ◦ Programming Quantum Computers Using Design Automation https://www.microsoft.com/en-us/research/publication/programming-quantum- computers-using-design-automation/ MRFの学術的背景を知りたい人向け ◦ https://www.nature.com/articles/nature11971 ◦ http://case.edu/mrf/ ◦ Magnetic resonance fingerprintingとその最新動向 : http://www.innervision.co.jp/sp/ad/suite/siemens/technical_notes/1511techinfo ◦ 最新の高速撮像技術─fingerprinting─: http://www.innervision.co.jp/ad/suite/siemens/technical_notes/160976

×