SlideShare a Scribd company logo
1 of 15
Q# による
量子化学計算を
量子コンピュータで行う
位相推定編
中田 真秀
量子化学計算を量子コンピュータで行う
• 環境: Ubuntu 16.04 (x86_64)
• アルゴリズム: 位相推定
• 化学向けライブラリがアナウンスされた
• https://cloudblogs.microsoft.com/quantum/2018/12/04/simulating-
nature-with-the-new-microsoft-quantum-development-kit-chemistry-
library/
• チュートリアルの段階で位相推定をH2分子に適用できた。
• ただドキュメント周りは若干わかりづらい
• コマンドラインのみでなんとかしたい
• リモート作業になるため
• .NETって何? という状態から出発www
OpenFermionで挫折
• OpenFermionには位相推定を入れるのが面倒、インストール、ド
キュメントが整理されてなさすぎ、リリース、アナウンスは厳しい
レベルなのに行っている(2018/12の時点の話)。
• チュートリアルもバグがあったり、できた気にさせる演出もあった。
• Bravyi-Kitaev表現でのハミルトニアンが出てくるのは嬉しかった。
• この実装はかなり面倒なのでこれは使いたいという強いモチベが。
• 重要なところは公開されてないっぽい。
• Cirqには位相推定アルゴリズムが入っていてそれと結合したら良いかと思っ
たが、controlled unitaryするのでうまくゆかず。
めんどくさくなり挫折
.NETのインストール
• Ubuntu 16.04 に.NETをインストール
• https://dotnet.microsoft.com/
.NETのインストール
Build apps選択
.NETのインストール
• https://dotnet.microsoft.com/download/linux-package-
manager/ubuntu16-04/sdk-current
バージョンを選びましょう
.NETのインストール
実はコマンドラインだけでなんとかなる
暫く待つとインストール完了する。
$ wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
…
$ sudo apt-get install apt-transport-https sudo apt-get
$ update sudo apt-get install dotnet-sdk-2.2
...
Q# 0.3 preview
• https://docs.microsoft.com/en-us/quantum/install-
guide/?view=qsharp-preview
でQ#をインストール可能
$ dotnet new -i "Microsoft.Quantum.ProjectTemplates::0.3.1811.2802-preview"
Q#のテスト:インストールうまく行ったか?
Q#のインストールがうまく行ったかのテ
スト
うまく行った例
位相推定により水素分子の基底状態を求める。
Cloneしたディレクトリに上がって
とすれば実行できる。
$ cd Quantum/Chemistry/MolecularHydrogen
$ dotnet run
厳密解
位相推定による解
Qubitizationによる
結果
結果の分析
• 厳密解 -1.137260278 Hartree
• 位相推定 -1.12 〜 -1.14 Hartree
• Qubitization -1.146 Hartree
毎回値は微妙に変わる。量子力学なので仕方がない。
厳密解を下回った。計算精度がかなり悪かった。
• Qubitの数を増やす
• Suzuki-Trotter幅を小さくする
Elapsed time
622.20user 19.78system 1:03.55elapsed 1010%CPU
(0avgtext+0avgdata 109376maxresident)k
0inputs+80outputs (0major+123578minor)pagefaults 0swaps
On Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz
結果の改善
Qubitと試行回数を増やしてみる; 大変時間がかかるので位相推
定のみで止める
結果の改善 : 7-> 12qubits 5回 -> 30回
標準偏差 : 0.00046
平均 : -1.13655
厳密解: -1.137260278
計算時間 1分->21分
まとめ
• H2分子に関して位相推定アルゴリズムを適用し、基底状態のエ
ネルギーを求めた。
• Q#を使った。量子化学ライブラリも入っていたため、基本なぞ
るだけで量子化学の問題について位相推定が使える。
• ナイーブな位相推定で、Qubitは12程度で初めて全エネルギー
が小数点以下3-4桁程度求まった。
• エネルギー自体は結構ばらつく。
• Qubitizationについては調査していない

More Related Content

Similar to Q#による量子化学計算 : 水素分子の位相推定について

Xeonphiハッカソンでexpを作ってみた
Xeonphiハッカソンでexpを作ってみたXeonphiハッカソンでexpを作ってみた
Xeonphiハッカソンでexpを作ってみた
MITSUNARI Shigeo
 
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
 
Java/phpからのOracle接続(debian)
Java/phpからのOracle接続(debian)Java/phpからのOracle接続(debian)
Java/phpからのOracle接続(debian)
Kimiyuki Yamauchi
 

Similar to Q#による量子化学計算 : 水素分子の位相推定について (13)

オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
 
[量子コンピューター勉強会資料] マヨラナ粒子によるスケーラブルな量子コンピューターの設計
[量子コンピューター勉強会資料] マヨラナ粒子によるスケーラブルな量子コンピューターの設計[量子コンピューター勉強会資料] マヨラナ粒子によるスケーラブルな量子コンピューターの設計
[量子コンピューター勉強会資料] マヨラナ粒子によるスケーラブルな量子コンピューターの設計
 
Xeonphiハッカソンでexpを作ってみた
Xeonphiハッカソンでexpを作ってみたXeonphiハッカソンでexpを作ってみた
Xeonphiハッカソンでexpを作ってみた
 
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
 
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
 
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
 
Java/phpからのOracle接続(debian)
Java/phpからのOracle接続(debian)Java/phpからのOracle接続(debian)
Java/phpからのOracle接続(debian)
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
 
MySQL Clusterを運用して10ヶ月間
MySQL Clusterを運用して10ヶ月間MySQL Clusterを運用して10ヶ月間
MySQL Clusterを運用して10ヶ月間
 
Introduction to Quantum Programming Studio
Introduction to Quantum Programming StudioIntroduction to Quantum Programming Studio
Introduction to Quantum Programming Studio
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
Kernel vm-2014-05-25
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25
 
Mod mrubyについて
Mod mrubyについてMod mrubyについて
Mod mrubyについて
 

More from Maho Nakata

More from Maho Nakata (20)

quantum chemistry on quantum computer handson by Q# (2019/8/4@MDR Hongo, Tokyo)
quantum chemistry on quantum computer handson by Q# (2019/8/4@MDR Hongo, Tokyo)quantum chemistry on quantum computer handson by Q# (2019/8/4@MDR Hongo, Tokyo)
quantum chemistry on quantum computer handson by Q# (2019/8/4@MDR Hongo, Tokyo)
 
Lie-Trotter-Suzuki分解、特にフラクタル分解について
Lie-Trotter-Suzuki分解、特にフラクタル分解についてLie-Trotter-Suzuki分解、特にフラクタル分解について
Lie-Trotter-Suzuki分解、特にフラクタル分解について
 
LiHのポテンシャルエネルギー曲面 を量子コンピュータで行う Q#+位相推定編
LiHのポテンシャルエネルギー曲面 を量子コンピュータで行う Q#+位相推定編LiHのポテンシャルエネルギー曲面 を量子コンピュータで行う Q#+位相推定編
LiHのポテンシャルエネルギー曲面 を量子コンピュータで行う Q#+位相推定編
 
量子コンピュータの量子化学計算への応用の現状と展望
量子コンピュータの量子化学計算への応用の現状と展望量子コンピュータの量子化学計算への応用の現状と展望
量子コンピュータの量子化学計算への応用の現状と展望
 
qubitによる波動関数の虚時間発展のシミュレーション: a review
qubitによる波動関数の虚時間発展のシミュレーション: a reviewqubitによる波動関数の虚時間発展のシミュレーション: a review
qubitによる波動関数の虚時間発展のシミュレーション: a review
 
Openfermionを使った分子の計算 part I
Openfermionを使った分子の計算 part IOpenfermionを使った分子の計算 part I
Openfermionを使った分子の計算 part I
 
量子コンピュータで量子化学のfullCIが超高速になる(かも
量子コンピュータで量子化学のfullCIが超高速になる(かも量子コンピュータで量子化学のfullCIが超高速になる(かも
量子コンピュータで量子化学のfullCIが超高速になる(かも
 
20180723 量子コンピュータの量子化学への応用; Bravyi-Kitaev基底の実装
20180723 量子コンピュータの量子化学への応用; Bravyi-Kitaev基底の実装20180723 量子コンピュータの量子化学への応用; Bravyi-Kitaev基底の実装
20180723 量子コンピュータの量子化学への応用; Bravyi-Kitaev基底の実装
 
第11回分子科学 2017/9/17 Pubchemqcプロジェクト
第11回分子科学 2017/9/17 Pubchemqcプロジェクト第11回分子科学 2017/9/17 Pubchemqcプロジェクト
第11回分子科学 2017/9/17 Pubchemqcプロジェクト
 
Kobeworkshop pubchemqc project
Kobeworkshop pubchemqc projectKobeworkshop pubchemqc project
Kobeworkshop pubchemqc project
 
計算化学実習講座:第二回
 計算化学実習講座:第二回 計算化学実習講座:第二回
計算化学実習講座:第二回
 
計算化学実習講座:第一回
計算化学実習講座:第一回計算化学実習講座:第一回
計算化学実習講座:第一回
 
HOKUSAIのベンチマーク 理研シンポジウム 中田分
HOKUSAIのベンチマーク 理研シンポジウム 中田分HOKUSAIのベンチマーク 理研シンポジウム 中田分
HOKUSAIのベンチマーク 理研シンポジウム 中田分
 
為替取引(FX)でのtickdataの加工とMySQLで管理
為替取引(FX)でのtickdataの加工とMySQLで管理為替取引(FX)でのtickdataの加工とMySQLで管理
為替取引(FX)でのtickdataの加工とMySQLで管理
 
為替のTickdataをDukascopyからダウンロードする
為替のTickdataをDukascopyからダウンロードする為替のTickdataをDukascopyからダウンロードする
為替のTickdataをDukascopyからダウンロードする
 
HPCS2015 pythonを用いた量子化学プログラムの開発と応用
HPCS2015 pythonを用いた量子化学プログラムの開発と応用HPCS2015 pythonを用いた量子化学プログラムの開発と応用
HPCS2015 pythonを用いた量子化学プログラムの開発と応用
 
HPCS2015 大規模量子化学計算プログラムSMASHの開発と公開(石村)
HPCS2015 大規模量子化学計算プログラムSMASHの開発と公開(石村)HPCS2015 大規模量子化学計算プログラムSMASHの開発と公開(石村)
HPCS2015 大規模量子化学計算プログラムSMASHの開発と公開(石村)
 
The PubChemQC Project
The PubChemQC ProjectThe PubChemQC Project
The PubChemQC Project
 
3Dプリンタ導入記 タンパク質の模型をプリントする
3Dプリンタ導入記 タンパク質の模型をプリントする3Dプリンタ導入記 タンパク質の模型をプリントする
3Dプリンタ導入記 タンパク質の模型をプリントする
 
QuantumChemistry500
QuantumChemistry500QuantumChemistry500
QuantumChemistry500
 

Recently uploaded

Recently uploaded (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

Q#による量子化学計算 : 水素分子の位相推定について