「量子アニーリングの基礎」西森秀稔, 大関真之, 共立出版, 2018 を読む
https://qiita.com/kaizen_nagoya/items/29580dc526e142cb64e9
『量子アニーリングの基礎』正誤表 (西森秀稔・大関真之 著) 2019年6月20日更新
https://www.kyoritsu-pub.co.jp/app/file/goods_contents/3037.pdf
量子アニーリングの数理 東京工業大学 大学院理工学研究科 物性物理学専攻 西森 秀稔
https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/189516/1/bussei_el_033203.pdf
本は、
1 量子力学
2 熱力学、統計力学
がわかっている人にとっての丁寧
ここでは、どちらもわかっていないことを前提として資料を整理する。
「量子アニーリングの基礎」を読む 第1日
https://qiita.com/kaizen_nagoya/items/2bc284faaf0f61278778
「量子アニーリングの基礎」を読む 第2日
https://qiita.com/kaizen_nagoya/items/749043f4f8ae026ec5e5
「量子アニーリングの基礎」を読む 第3日
https://qiita.com/kaizen_nagoya/items/3f3d67d841075e8c867a
量子コンピュータ:量子力学にたどり着くための三つの方法
https://qiita.com/kaizen_nagoya/items/cfc35e62c81a978cc2fc
プログラマが量子力学を勉強するときの7つの道
https://qiita.com/kaizen_nagoya/items/7061f62b3629eee395f2
スピングラス理論と情報統計力学 西森秀稔 参考文献
https://qiita.com/kaizen_nagoya/items/702c08becfcca98fa9d8
p.183
このプロセスを計算機上で数値的に実現して最適化空間の解を近似的に求める方法をシミュレテッドアニーリング(模擬徐冷)という。無限の時間をかけてTをゆっくり下げていくと現実に最適化に到達するが、実際にはほどほどの速さで温度を下げ、しかも適当なところで打ち切る。この意味で近似解法なのである。
<この項は書きかけです。順次追記します。>
This article is not completed. I will add some words in order.
第7章
半正定値
正定値
の違い。
固有値がすべてゼロより大きい 正定値
固有値がすべてゼロ以上 半正定値
7.2
鈴木・トロッタ分解
https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/94585/1/KJ00004788834.pdf
http://www.shutanaka.com/papers_files/ShuTanaka_DEXSMI_10.pdf
量子モンテカルロ法
https://www-np.acs.i.kyoto-u.ac.jp/~harada/misc/qmc.pdf
ギブス・ボルツマン分布
https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/56986/1/inaba.pdf
非一様マルコフ過程
http://www.ccn.yamanashi.ac.jp/~munehisa/kenkyuu/soturon_2007/suzuki.pdf
量子アニーリングの収束定理
https://www.smapip.is.tohoku.ac.jp/~dex-smi/2006/Workshop200612/ExtendedAbstracts/HidetoshiNishimori.pdf
シュミレーテッド・アニーリング
シミュレーテッドアニーリング概説
http://mikilab.doshisha.ac.jp/dia/monthly/monthly00/20000415/ikeuchi_kubota.pdf
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=2ahUKEwiE8cXngKXlAhXYa94KHWReBVcQFjAEegQIBRAC&url=https%3A%2F%2Fipsj.ixsq.nii.ac.jp%2Fej%2Findex.php%3Faction%3Dpages_view_main%26active_action%3Drepository_action_common_download%26item_id%3D17103%26item_no%3D1%26attribute_id%3D1%26file_no%3D1%26page_id%3D13%26block_id%3D8&usg=AOvVaw1JQ8jWMxRUDUMXxZpKfFVT
第8章
経路積分
量子力学と経路積分 リチャード・P・ファインマン, アルバート・R・ヒッブス
https://researchmap.jp/jo0jlfrwe-49935/#_49935
https://ja.wikipedia.org/wiki/数学記号の表
|| ノルム
https://mathtrain.jp/lpnorm
http://proofcafe.org/k27c8/math/math/liner_algebraI/page/inner_product_and_norm/
量子ゲート模型
時間順序積
直積の線形結合
行列を知らない人のための線形代数学入門 松本 眞1 2
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/TEACH/senkei-daisuu.pdf
外積
https://mathtrain.jp/gaiseki
https://mathwords.net/gaiseki
tensor積
https://ja.wikipedia.org/wiki/テンソル積
射影演算子
http://www.f-denshi.com/000TokiwaJPN/05unitr/090unt.html
U
https://ja.wikipedia.org/wiki/和集合
p.80 6行目 U 右上の 十字架
ダガー
https://ja.wikipedia.org/wiki/随伴行列
数式
https://www.cybernet.co.jp/maple/documents/pdf/support/documents/Maple14_UserManual_J.pdf
藤井 啓祐
https://researchmap.jp/7000009401/
道具類
「maxima 入門」入門(Windows編)
https://qiita.com/kaizen_nagoya/items/77cfe874c73d8eae92fc
背景知識
伏見康治・確率論及統計論輪講
https://researchmap.jp/josgkrcbv-2087795/#_2087795
作業記録
$ brew cask install anaconda
$ pip install matplotlib
$ pip install cmake
$ pip install openjij
$ python openjijch1.py
h_i: {0: -1, 1: -1, 2: -1, 3: -1, 4: -1}
Jij: {(0, 1): -1, (0, 2): -1, (0, 3): -1, (0, 4): -1, (1, 2): -1, (1, 3): -1, (1, 4): -1, (2, 3): -1, (2, 4): -1, (3, 4): -1}
[[1, 1, 1, 1, 1]]
[{0: 1, 1: 1, 2: 1, 3: 1, 4: 1}]
[[1, -1, 1], [1, -1, 1], [1, -1, 1], [1, -1, 1], [1, -1, 1], [1, -1, 1], [1, -1, 1], [1, -1, 1], [1, -1, 1], [1, -1, 1]]
[-4.0, -4.0, -4.0, -4.0, -4.0, -4.0, -4.0, -4.0, -4.0, -4.0]
['a', 'c', 'b']
[{'a': 1, 'c': -1, 'b': 1}, {'a': 1, 'c': -1, 'b': 1}, {'a': 1, 'c': -1, 'b': 1}, {'a': 1, 'c': -1, 'b': 1}, {'a': 1, 'c': -1, 'b': 1}, {'a': 1, 'c': -1, 'b': 1}, {'a': 1, 'c': -1, 'b': 1}, {'a': 1, 'c': -1, 'b': 1}, {'a': 1, 'c': -1, 'b': 1}, {'a': 1, 'c': -1, 'b': 1}]
{'states': array([[ 1, -1, 1]]), 'num_occurrences': array([10]), 'min_energy': -4.0}
[[1, 1, 0], [1, 1, 0], [1, 1, 0]]
[-46.04283667268458, -45.40319673739635, -45.43927510769896, -45.8420452385678, -44.69211986420642]
{'states': array([[1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1,
1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0,
1, 1, 1, 0, 0, 0]]), 'num_occurrences': array([28]), 'min_energy': -46.04283667268458}
実行
import openjij as oj
#https://openjij.github.io/OpenJijTutorial/_build/html/ja/index.html
import random
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.use('Agg')
# 問題を表す縦磁場と相互作用を作ります。OpenJijでは辞書型で問題を受け付けます。
N = 5
h = {i: -1 for i in range(N)}
J = {(i, j): -1 for i in range(N) for j in range(i+1, N)}
print('h_i: ', h)
print('Jij: ', J)
# まず問題を解いてくれるSamplerのインスタンスを作ります。このインスタンスの選択で問題を解くアルゴリズムを選択できます。
sampler = oj.SASampler()
# samplerのメソッドに問題(h, J)を投げて問題を解きます。
response = sampler.sample_ising(h, J)
# 計算した結果(状態)は result.states に入っています。
print(response.states)
# もしくは添字付きでみるには samples を見ます。
print(response.samples)
# 実は h, J の添字を示す、辞書のkeyは数値以外も扱えます。
h = {'a': -1, 'b': -1}
J = {('a', 'b'): -1, ('b', 'c'): 1}
sampler = oj.SASampler(iteration=10) # 10回 SAで解いてみる. iteration という引数で10回分一気に解くことができます。
response = sampler.sample_ising(h, J)
print(response.states)
print(response.energies)
print(response.indices)
print(response.samples)
print(response.min_samples)
# Q_ij を辞書型でつくります。
Q = {(0, 0): -1, (0, 1): -1, (1, 2): 1, (2, 2): 1}
sampler = oj.SASampler(iteration=3)
# QUBOを解く時は .sample_qubo を使いましょう
response = sampler.sample_qubo(Q)
print(response.states)
N = 50
# ランダムにQij を作る
Q = {(i, j): random.uniform(-1, 1) for i in range(N) for j in range(i+1, N)}
# OpenJijで解く
sampler = oj.SASampler(iteration=100)
response = sampler.sample_qubo(Q)
# エネルギーを少しみてみます。
print(response.energies[:5])
fig=plt.figure()
plt.hist(response.energies, bins=15)
plt.xlabel('Energy', fontsize=15)
plt.ylabel('Frequency', fontsize=15)
#plt.show()
fig.savefig('ch1.png')
min_samples = response.min_samples
print(min_samples)
#参考資料(reference)
量子計算機16の疑問 「量子アニーリングの基礎」編
https://qiita.com/kaizen_nagoya/items/683961f9e747e144413d
docker(28) Openjij チュートリアルをdockerで
https://qiita.com/kaizen_nagoya/items/09a52b25d54091c8db6f
今日のpythonエラー(macOS)
https://qiita.com/kaizen_nagoya/items/bb79e96104b5ff536de8
Windows(M.S.)にPython3 (Anaconda3) を導入する(7つの罠)
https://qiita.com/kaizen_nagoya/items/7bfd7ecdc4e8edcbd679
Windows(M.S.) にAnaconda3(python3)を 2019年版
https://qiita.com/kaizen_nagoya/items/c05c0d690fcfd3402534
一覧
物理記事 上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff
量子(0) 計算機, 量子力学
https://qiita.com/kaizen_nagoya/items/1cd954cb0eed92879fd4
数学関連記事100
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d
言語・文学記事 100
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6
医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82
自動車 記事 100
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5
通信記事100
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7
日本語(0)一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68
英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d
転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe
仮説(0)一覧(目標100現在40)
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df
Qiita(0)Qiita関連記事一覧(自分)
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6
鉄道(0)鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/26bda595f341a27901a0
安全(0)安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409
一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39
Ethernet 記事一覧 Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794
Wireshark 一覧 wireshark(0)、Ethernet(48)
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0
線網(Wi-Fi)空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001
OSEK OS設計の基礎 OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3
Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8
プログラマによる、プログラマのための、統計(0)と確率のプログラミングとその後
https://qiita.com/kaizen_nagoya/items/6e9897eb641268766909
官公庁・学校・公的団体(NPOを含む)システムの課題、官(0)
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3
「はじめての」シリーズ ベクタージャパン
https://qiita.com/kaizen_nagoya/items/2e41634f6e21a3cf74eb
AUTOSAR(0)Qiita記事一覧, OSEK(75)
https://qiita.com/kaizen_nagoya/items/89c07961b59a8754c869
プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945
LaTeX(0) 一覧
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792
自動制御、制御工学一覧(0)
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b
Rust(0) 一覧
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927
小川清最終講義、最終講義(再)計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.
文書履歴(document history)
ver. 0.01 初稿 20191018
ver. 0.02 加筆 20191019
ver. 0.03 参考資料追記 20191020
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.