Comments
Description
Transcript
S - 東京大学
講義「物理工学実験技法(A)」第13回 (担当 藤堂) • 計算機実験の技術 • 物性物理におけるシミュレーション手法 • 数値対角化 / モンテカルロ法 / ・・・ • パッケージソフトウェアの利用 • 物質科学シミュレーションのポータルサイト • MateriApps - http://ma.cms-initiative.jp • MateriApps Live! • ALPSシミュレーションパッケージ • スクリプト言語の利用 • バージョン管理システム 講義資料: http://todo.issp.u-tokyo.ac.jp/ja/lectures 1 東京大学物性研究所計算物質科学研究センター神戸分室 @理化学研究所 計算科学研究機構 AICS SPring-8, SACLA Kobe Port Island AICS 2 理化学研究所 計算科学研究機構 AICS 2010年5月撮影 3 東京大学物性研究所計算物質科学研究センター神戸分室 AICS R501 Staff:Todo, Kitaura (Kobe Univ.), Sakashita Yamashita, Matsushita 4 スーパーコンピュータ「京」 • 2011年6月、2011年11月 世界一位。2012年6月完成 @ 神戸 • 計算能力: 毎秒1京回 = 1016 flops = 10 Pflops 5 HPCI戦略プログラム:戦略5分野 6 物質科学分野における大規模シミュレーション 応用 (奔流) デバイス エネルギー変換 分子機能 重点;ナノ構造電子機能予測 重点;燃料電池物質 重点;全原子Simによる ウイルス分子科学 高性能リチウムイオン電池 電子的~機械的性質の マルチ・シミュレーション スピントロニクス、 マルチフェロイックス材料 重点;水素・メタンハイドレート 生成、安定 ナノ・生体系反応制御・ 化学反応ダイナミクス 太陽電池高効率長寿命化 生体分子高次構造と機能 バイオマス酸素反応解析 光機能分子と非線形外場応答 分子の光物性 光誘起電子ダイナミクスと 光・電子機能量子デバイス 高効率エネルギー 変換構造用材料 新材料探索 ナノ構造体材料の高効率非平 衡エネルギー変換 重点;相関の強い量子系新量子相探求とダイナミックス 電子相間の強い物質 の新機構解明 強相関電子系の 励起ダイナミックス 新しい量子相・量子臨界現象 基礎 12 (源流) ポリモルフ生起分子集団機能 重点;電子状態・動力学・熱揺らぎ融和と物質理論新 凝縮分子科学系揺らぎとダイナミックス 分子における電子の動的 過程と多体量子動力学 分子の微細量子 構造予測 新量子相・新物質 計算物質科学イニシアティブCMSI: http://cms-initiative.jp 7 物性物理における代表的なシミュレーション手法 • 密度汎関数法 (density functional theory) • 経験的なパラメタを含まない:「第一原理計算」 • 相関・ゆらぎが強い場合には破綻 • モデル計算 • 有効模型(ハイゼンベルグ模型など)に対する計算手法 • 相関・ゆらぎの効果を正確に取り入れた大規模計算が可能:「第一原理的」 • 数値対角化(厳密対角化) (ED) • 古典/量子モンテカルロ法 (MC/QMC) • 密度行列くりこみ群 (DMRG) • 動的平均場近似 (DMFT) • 量子化学計算、分子動力学 8 数値対角化 • 有限の大きさの系のハミルトニアンを行列の形で書き下し、数値的に対角化 • 例:ハイゼンベルグ模型 H=J • スピン数 N j,k Sj · Sk = J Sjz Skz j,k 1 + + (Sj Sk + Sj Sk+ ) 2 行列のサイズ (2S+1)N x (2S+1)N • 例:S=1/2, N=20 行列のサイズ 1048576 x 1048576 メモリ 8TB • どうやって対角化するか • 完全対角化:Householder法 (三重対角化) + QR分解など (LAPACKなどを使う) • 計算量が行列の次元の3乗に比例 • スピンを1つ増やすと、次元は2倍、メモリは4倍、計算時間は8倍! 9 数値対角化における計算上の工夫 • 行列のサイズを小さくする • 保存量(ハミルトニアンと可換な量)を使う (total momentam, total S, etc) • ハミルトニアンは保存量毎にブロック対角化。それぞれを独立に対角化 • 例:total Sz N=20 の系で total Sz=0 の部分空間の次元 20 C10 20! = = 184 756 10! 10! 220 = 1 048 576 • 全固有値・固有ベクトルではなく、基底状態と低励起状態だけを求める • ハミルトニアン行列はかなり「疎」 (1行/1列の非零要素の数 ∼ ボンド数) • べき乗法の利用: Hn v 0 (絶対値最大の固有ベクトルに収束) • 行列の非零要素のみ保存、あるいは行列要素をその場で計算 • べき乗法の改良:Lanczos法、CG (共役勾配)法 10 超大規模数値対角化の例 (Nakano et al 2013) • (歪んだ)三角格子 S=1 反強磁性ハイゼンベルグ模型 次元 712 070 156 203 J. Phys. Soc. Jpn. メモリ15TB (情報基盤センター FX10 4400ノード) 1 msq diag • N=27 0.5 非磁性相 0 120度構造 0 0.2 0.4 0.6 0.8 1 J2/J1 sq 11 モンテカルロ法の種類と応用 • モンテカルロ積分 • 単純サンプリング, 重点的サンプリング • マルコフ連鎖モンテカルロ (高次元分布の生成, 人工的な「時系列」の生成) • 平衡状態のシミュレーション: 古典系, 世界線量子モンテカルロ クラスターアルゴリズム, 拡張アンサンブル法 • 非平衡状態, ダイナミクス, 基底状態の探索(焼き鈍し法) • 逐次モンテカルロ • 転送行列モンテカルロ, グリーン関数モンテカルロ • 格子 QCD, タンパク質の折り畳み, 組み合わせ最適化問題, ベイズ推定, 生態系, 金 融工学, 在庫管理, 交通流, etc 12 イジング模型 Ising Model • 格子上に規則的に並んだ磁気モーメント(スピン) • ハミルトニアン Hamiltonian H= J e = ±1 H i j -J J H -H i i i,j⇥ • 分配関数 partition function Z= i E (k) k • 状態 k の出現確率 = ボルツマン重み e E (k) • 物理量 physical quantities • ギブス自由エネルギー Gibbs free energy f = • 内部エネルギー internal energy E= 1 ln Z N ⇥ Z= ⇥ k E (k) e Z E (k) 13 イジング模型に対するマルコフ連鎖モンテカルロ メトロポリス法 Metropolis for (int m = 0; m < total_mcs; ++m) { // loop over Monte Carlo steps for (int s = 0; s < num_sites; ++s) { // loop over lattice sites double delta = 0; for (int j = 0; j < num_neighbors; ++j) { int v = neighbor(s, j); delta += 2 * J * spin[s] * spin[v]; // calculate energy difference } if (random() < exp(-beta * delta)) // accept/reject trial configuation spin[s] = -1 * spin[s]; } // measure physical quantities } 熱浴法 heat bath if (random() < (1 + tanh(-beta * delta / 2)) / 2) spin[s] = -1 * spin[s]; 14 三次元立方格子強磁性イジング模型 3 比熱 2.5 10000 L=4 8 12 16 24 32 2 L=4 8 12 16 24 32 1000 100 1.5 1 10 0.5 帯磁率 1 0 3 3.5 4 4.5 1 5 5.5 6 3.5 4 4.5 1000 L=4 8 12 16 24 32 0.8 3 5 5.5 6 5.5 6 L=4 8 12 16 24 32 100 0.6 0.4 10 0.2 相関長 (磁化)2 0 3 3.5 4 4.5 5 5.5 6 1 3 3.5 4 4.5 5 15 イジング模型における相転移 Phase Transition F =E TS T=0.995Tc T=Tc エネルギー利得 秩序状態 ordered state T=1.05Tc エントロピー利得 臨界点 critical point 無秩序状態 disordered state 16 • 量子系の分配関数と物理量の期待値 Z = tre τ=β τ7 H trAe A⇥ = Z b=1 H τ6 b=2 τ2 b=1 • モンテカルロ法を使うには物理量の期待値を A(c)W (c) b=4 τ5 τ4 • 量子系では H, A 等は全て演算子(or 行列) A⇥ = τ8 b=4 τ3 b=3 τ1 b=3 τ=0 c 連続虚時間経路積分表示 の形で書きたい (A(c) も W(c) も c-数) • 量子系の場合の「配位」c と対応する「重み」W(c) は何か? • 経路積分や高温展開を利用して「配位」や「重み」を定義する 表示・表現 (representation) • メトロポリス法・熱浴法・拡張アンサンブル法・クラスターアルゴリズムの利用 17 虚時間経路積分表示 古典M粒子 (ポリマー) 量子1粒子 M 4 3 2 1 T 18 量子格子模型 (quantum lattice models) • 量子スピン模型 ! J xy ! + − H= (Si Sj + Si− Sj+ ) + J z Siz Sjz 2 !i,j" !i,j" • ハバード模型 (量子格子気体) H = −t ! (c†iσ cjσ + h.c.) + U !i,j"σ ! i ni↑ ni↓ τ=β τ7 • 虚時間経路積分表示が可能 (Suzuki 1976) b=1 • 粒子がジャンプする場所と(虚)時刻だけを覚えて おけば良い • 粒子数は保存 τ8 b=4 τ6 τ5 τ4 b=2 連続虚時間表示 (Beard-Wiese 1996) τ2 世界線は途中で途切れない b=1 b=4 τ3 b=3 τ1 b=3 τ=0 19 負符号問題 (negative sign problem) • フェルミ粒子は粒子の交換に対して、波動関数の符号が入れ替わる フェルミ統計・フェルミの排他律 • 虚時間経路積分表示した際に粒子が交換すると重みが負になる • フラストレーションのある量子スピン模型の場合にも負の重みが現れる • 重みが 0 以下になるので、確率として解釈することができない • 量子モンテカルロにおける最大の問題 ! 3 1 2 3 1 2 20 Spin ladder material Na2Fe2(C2O4)3(H2O)2 J. Phys. Soc. Jpn., Vol. 78, No. 12 ions in octahedral crystal field O effective S=1 spins at low T C a H. YAMAGUCHI et al. b (c) c b H. YAMAGUCHI et al. c Fig. 1. (Color online) (a) Crystal structure of Na2 Fe2 (C2 O4 )3 (H2 O)2 . (a) H =sodium 100 Oe Hydrogen and atoms are omitted for clarity. Fe2þ ions are connected by oxalate molecules and form two-leg ladders along the 0.20 a-axis, as shown by red broken lines. (b) Distorted FeO6 octahedra H//a bridged by oxalate ion. (c) Arrangement of the ladders in the bc-plane, and red broken lines corresponding to rungs of the ladders. Fig. 2. Tem (C2 O4 )3 (H 0.15 2.2 Experimental methods 0.10 The magnetic susceptibilities of a single crystal of SIO were measured at 100 Oe with a superconducting quantum interference device (SQUID) magnetometer (Quantum H⊥a Design MPMS-XL7). High-field experimentmagnetizations in pulsed 0.05 calculation magnetic fields up to about 53 T were measured utilizing a non-destructive pulse magnet, and the magnetizations were detected 5 by an10induction 15 method 20 using25a standard 30 pick-up coil system. Temperature (K) ESR measurements on a single crystal of SIO in pulsed magnetic (b) fields up to about 53 T were carried out using our non-destructive 4pulse field ESR apparatus equipped with aH//a pulse magnet, a far-infrared laser, and several kinds of Gunn Oscillators for the frequency range from about 50 GHz Fig. 3. Ma Honda, Okunishi , Todo, Kindo, Hagiwara (2009) and H ? a /ion) B/ion) Susceptibility (emu/mol) the 1623.6 GHz Susceptibility (emu/mol) QMC and the DMRG methods, respectively. For (a) z these calculations, we use the following parameter values, 0.20 1288.1 GHz gz ¼ 4:7, gx ¼ 2:0, gy ¼ 2:5, !a ¼ 0:30, and R ¼ 0:1{ 0:5 for " 977.2 GHzH k a (" ¼ 24" , ’ ¼ 90" ) and H ? a (" ¼ 102" , ’ ¼ H// 45 ). a y 0.15 847.0 GHzThe principal axis directions and their g-values are deterx mined from the saturation magnetizations and the slopes of 730.5 GHzthe ESR resonance 0.10 modes in the following isolated dimer model analysis. In these field directions, the two sites of the H⊥ a H//a ladder are magnetically equivalent. In the calculation, we 0.05 add the temperature-independent Van Vleck paramagnetism T=1.3 K H = 100 results Oe to both #k and #? . The calculated do notexperiment reproduce ones well, especially the upturn of #k 0 50the experimental0.00 15 Van 20 Vleck 25 para30 at approximately 5 K. In5 Fig. 10 6(b), the Temperature (K) manetic contributions are subtracted from both Mk and M? . )3 (H2 O)2 at 1.3 K for (b) Wesignals, find a small anomaly at half of the saturation magnetng and weak z H// a Kimura, ization of R ¼ 0:14 calculated Yamaguchi, for H k a, which can be considered to originate from y a 1/2 magnetization plateau. 24° The calculated results also poorly explain the experimental 3 c Fe for several theoretical models (ladders, dimers, etc) a b • Fitting experimental data by QMC results J. Phys. Soc. Jpn., Vol. 78, No. 12 (b) (a) Susceptibility (emu/mol) • Fe2+ 21 Orbital ordering in eg orbital systems • Mott insulators with partially filled d-shells • Non-trivial interplay of charge, spin, and |x2 orbital degrees of freedom y2 i |3z 2 r2 i • Effective Hamiltonian for orbital degrees of freedom (120o model) X 1h z x H120 = Jz Tiz Ti+ + 3Jx Tix Ti+ 4 i, =x,y i X p z x z Jz Tiz Ti+z ± 3Jmix (Tiz Ti+ + Tix Ti+ ) i 1.5 1 0.5 T x polarized (xy planes) T z polarized 0 " 0 " # ! # 2 ! 4 0 ! 0.2 0.4 ! 0.6 0.8 ! 1 Jx / Jz 1.2 1.4 1.8 1.6 2 Jmix / Jz orbiton gap ! 2 van Rynbach, Todo, Trebst (2010) ! 22 YAMAMOTO, ated by SSE. System sizes are from LTODO, = 8 to AND L = 16.MIYASHITA denote linear extrapolations of data points. 0.3 1.4 PHYS B.1.2 Mean-fi MOTO, TODO, AND MIYASHITA PHYSICAL REVIEW B 79, 094503 $ 1 We also analyze the Therefore we confirm the the su- Bose-Hubbard Hamiltonian We existence analyze theofextended on a 0.2 SUCCESSIVE PHASE TRANSITIONS AT FINITE… 22 In order approximation. se in the region of ! " 1 / 2. cubic lattice II. MODEL B. Mean-field approximation 0.8 sublattice structure which 0.15 0.25 Sπ(L=12) by the SSE We nalso theNLordering processes derTTSof density.0.6by Herethe w = − t $a†i on a j +a aia†j % + V analyze the extended Bose-Hubbard H Hamiltonian π in j analyze by SSE ρ s TRANSITIONS ATsoft-core FINITE TEMPERATURES • Interacting bosons π(L=10) "ij# "ij# 0.1 220.2SIn order to order study the superfluid solid state,order we approximation. and attice 0.4 ρs(L=12) sublattice structure which is characterized a staggere tonian for thisbyMF is given ρ (L=10) 0.15 1 study the ordered† states †at finite temperatures. s SF − !of the n0.05 $1%NSwe adopt mean fields0.2 for the H = − t $ai a j + aia j % + V nin j + U ni$ni − 1%der i , density. Here II. MODEL 0.25 Sπ ! ρs Supersolid in extended Bose-Hubbard model ! ρs Sπ T/U !ithe !i ! ! ansition between the normal liquid phase and 2 = H 0.1 MF H "ij# "ij# order and superfluid order at sublattices A and B. The 0 0 SS s expected to belong to the universality class of † tonian for thisoperators MF is0.1 given by 0.05 0 0.2 0.3 0.4 1 and a are the creation and annihilation of where a i i odel •because the phase transition occurs in the Supersolid co-existence †of † + U! = ni$n 1% − !$&a n ,' = " % and n$1% ! ia −boson i † (b) , a = a T/U+ HA + i j ij with i = − zt$a i ai. The parameter t 0denotes 2 i of the orderi parameter symmetry breaking = H C, H A + a A% & B + 0.04 MF 0.045 A 0.05 B 0.055 0.06 the hopping matrix element, long-range (=solid) and U and V are the on-site and . On the other hand, theorder phase transition y† of Z2diagonal t/U ! is the nearest-neighbor repulsions, respectively, and 0.3 1.4 ai are thetocreation and annihilation operators of dai isand expected belong to the XY universality long-range order The (=superfluid) † † FIG. 6.sum The t-T phase diagram for V / UU = 1 / z and ! / U = 0.7 † over chemical potential. notation "ij# means the the aoff-diagonal ' = " % and n = a a . The parameter t denotes ne the $&ai ,order ij i i = − zt$a + a % & + zVn m + 1% T−S !n H j i S (L=12) A 0.25 B A$n A −state 1.2 parameter has the symmetry of U!1". A TheAtransition π A B obtained by temperatures of n the solid 3 SSE. " 2 , where L is nearest-neighbor Theand system size are is N = L pping• Experimental matrix element,realization: U and V are thepairs. on-site S (L=10) optical lattice? plotted by solid circles and those T#s are π of the superfluid state n, we study the temperature dependence of theseThe order parameter † ρ (L=12) 1 the length of the system. of the solid HB the = −data zt$a &A + -neighbor repulsions, respectively, and ! is the plotted by open circles. The liness connect points for B%the B+a 0.2 eters. ρs(L=10) guide to the eyes. state al potential. The notation "ij#ismeans the sum over the 0.8 3 -neighbor pairs. The system size is N = L , where L is 0.15 U solid for0.6!t / U 1 successive transitions of superfluid and † iQ·$r −r % j k gth A. of Stochastic the system. The expansion order parameterS#of= the2 ! solid series + aBAs %& zVnBinmthe − !n e "nH #,= − zt$a $2% A + seen A +SSE n B$nB − 1%here jn=kB0.045, !/UB = 0.7". was simulation, 2 N jk 0.1 C =su2zt& we find again the suppression of the solid order by 0.4 the show the results obtained by SSE. The simulaperfluid fraction. Namely, S" has a cusp at the superfluid 0.05 where Q = $ # , # , # % is the wave vector that represents thedepictwhere z$=6% is and the numbe erformed in the1grandiQ·$r canonical ensemble using 0.2comtransition point. We also the phase diagram −r % j k "n n #, e3.staggered $2% parameter As for the order superfluid ! # = N2= j order. k pare of thatthe to that of SSE !Fig. 8". a qualitatively andshow mB are the mean fi mAThey 12 es N = 103Sand N jk 0 0!tc ,numbe &Ais&tation zVm Ce.g., = 2zt T c" good fraction agreement, there the we adopt Bose-Einstein B − tetracritical AmB ,point values of the that of condensation the order parameters state, of solid, S#, and 0 temperatures 0.1 0.2 0.4 and the critical TS" and T0.3 #s are suppressed by spectively, = $# , # , #% is of thetemperature wave vector represents , as a function forthat various values z$=6% isof the number of nearest-neighbor sites. sQ appearance the other order as before. (c) 1 the † where T/Umentioned † $k=0superfluid = 2 ! "a j akm+Aakand a j#Let $3% fields ed order. forthe the transition order parameter of the http://www.uibk.ac.at/th-physik/qo 5!a", we As show from normal liquid studythe the mean competition between the solid and to supermBus are corresponding the e m = "n # N A A ordersofbythe analyzing Ginzburg Landau Yamamoto, Todo,theMiyashita (2009) we condensation fraction con- jk tation number operators for A !GL" and free B site lidadopt for t /Bose-Einstein U = 0.02 in which only S# appears FIG. fluid 5.values Temperature dependence of order parameters obt $ take small value energy. Since the order parameters m and &normal Similarly, A and & B corre the same way, the transition from normal liquid whilebyinspectively, SSE !V = Uvicinity /simulation z". !a"of !tthe/ Utetracritical = 0.02, $ / U = 0.7": liquid-no in the mean-field analysis, the SSE we in the point, the GL free energy is 23 1 パッケージソフトウェアの利用 • 世の中には物性物理のための様々なパッケージソフトウェアが存在する • 有償:Gaussian、VASP、WIEN2k、、 • 無償:GAMESS、Quantum ESPRESSO、ABINIT、Amber、Gromacs、ALPS、、 • 日本国内でも数多くの高性能なソフトが開発・公開されている • 小さなグループでこつこつと開発しているソフトが多い • 知名度は高くない • ドキュメント、宣伝、ユーザインタフェース、ユーザサポートなどの問題 • 開発者から見ると • ソフトを開発・公開しただけでは成果にならない (職がない) • ドキュメント作成やユーザサポートには時間も手間もかかる • 海外の大規模なソフトに対抗するのはしんどい 24 物質科学シミュレーションのポータルサイト http://ma.cms-initiative.jp/ MateriApps 25 26 MateriApps Live! - http://github.com/cmsi/MateriAppsLive • USBメモリから直接ブートできる Linux システム (Debian Live) • MateriAppsで紹介している公開ソフト・ツールがあらかじめインストールされている • Windows、Mac などで利用可 • 2013年7月末 ver. 1 公開予定 • MateriApps サイトで配布 • 学会・アプリ講習会でも 配布予定 27 ALPS プロジェクト • http://alps.comp-phys.org/ • 量子格子模型(量子スピン系、電子系)のための並列シミュレーションソフトウェアパ ッケージの開発 • 開発物(ライブラリ・アプリケーション)をフリーウェアとして公開 • 様々な模型に対する様々なシミュレー Parameter XML Files Lattice XML File Model XML File ションアルゴリズムの入力・計算結果を Quantum Lattice Model XML 形式で統一的に入出力可能に Quantum Monte Carlo Exact Diagonalization DMRG Outputs in XML Format 28 The ALPS project ALPS = Algorithms and Libraries for Physics Simulations • International collaboration for developing open-source softwares for simulation of quantum lattice models, such as quantum spin systems, electron systems, etc • ALPS Libraries = collection of generic C++ libraries • ALPS Applications = collection of application packages using modern algorithms such as QMC, DMRG, ED, etc • ALPS Framework = environment for executing large-scale parallel simulations including XML schemas, tools, scheduler, etc 29 Target audience • Experimental physicists • Use “canned codes” to model materials • Determine microscopic parameters by fitting experimental data to simulations • Theoretical physicists • Quick check of theoretical ideas using many modern algorithms • Monte Carlo, Diagonalization, DMRG, ... • Also useful for debugging • Libraries simplify and accelerate code development 30 ALPS libraries and applications tools applications domain-specific libraries numerics XML manipulation GUI database MC QMC ED DMRG lattice model observables scheduler random ublas iterative eigenvalue solver Boost library generic C++ C / Fortran graph serialization XML/XSLT BLAS LAPACK MPI 31 ALPS Lattice XML periodic chain with length L <LATTICE name="chain lattice" dimension="1"> <BASIS><VECTOR> 1 </VECTOR></BASIS> </LATTICE> <UNITCELL name="simple1d" dimension="1" vertices=”1”> <EDGE> <SOURCE vertex="1" offset="0"/><TARGET vertex="1" offset="1"/> </EDGE> </UNITCELL> <LATTICEGRAPH name = "chain lattice"> <FINITELATTICE> <LATTICE ref="chain lattice"/> <PARAMETER name=”L”/> <EXTENT size ="L"/> <BOUNDARY type="periodic"/> </FINITELATTICE> <UNITCELL ref="simple1d"/> </LATTICEGRAPH> 32 Model XML for describing Hamiltonian XXZ spin model with two types of bonds (e.g. nearest and next nearest neighbor interactions) <HAMILTONIAN name=”spin”> <PARAMETER name=”Jz” default=”J”/> <PARAMETER name=”Jxy” default=”J”/> <PARAMETER name=”J” default=”1”/> <PARAMETER name=”Jz'” default=”J'”/> <PARAMETER name=”Jxy'” default=”J'”/> <PARAMETER name=”J'” default=”0”/> <PARAMETER name=”h” default=”0”/> <BASIS ref=”spin”/> <SITETERM site=”i”> -h * Sz(i) </SITETERM> <BONDTERM type=”0” source=”i” target=”j”> Jz * Sz(i) * Sz(j) + Jxy * (Splus(x)*Sminus(y)+Sminus(x)*Splus(y)) / 2 </BONDTERM> <BONDTERM type=”1” source=”i” target=”j”> Jz' * Sz(i) * Sz(j) + Jxy' * (Splus(x)*Sminus(y)+Sminus(x)*Splus(y)) / 2 </BONDTERM> </HAMILTONIAN> ! H= !i,j" ! J xy (Si+ Sj− + Si− Sj+ )] − [Jz Siz Sjz + hSiz 2 i 33 Simulations with ALPS Parameter XML Files Lattice XML File Model XML File Quantum Lattice Model Quantum Monte Carlo Exact Diagonalization DMRG Outputs in XML Format 34 ALPS Version 2.1 The ALPS project release 2.0: open source software for strongly correlated systems • 2012年5月 • 論文 - JSTAT P05001 (2011) • http://alps.comp-phys.org/ B. Bauer1 L. D. Carr2 H.G. Evertz3 A. Feiguin4 J. Freire5 S. Fuchs6 L. Gamper1 J. Gukelberger1 E. Gull7 S. Guertler8 A. Hehn1 R. Igarashi9,10 S. Isakov1 D. Koop5 P.N. Ma1 P. Mates1,5 H. Matsuo17 O. Parcollet12 G. Pawlowski13 J.D. Picon14 L. Pollet11,1 T. Pruschke6 E. Santos5 V.W. Scarola15 U. Schollwöck16 C. Silva5 B. Surer1 S. Todo17,10 S. Trebst18 M. Troyer1 ‡ M. L. Wall2 P. Werner1 S. Wessel19,20 Theoretische Physik, ETH Zurich, 8093 Zurich, Switzerland Department of Physics, Colorado School of Mines, Golden, CO 80401, USA 3 Institut für Theoretische Physik, Technische Universität Graz, A-8010 Graz, Austria 4 Department of Physics and Astronomy, University of Wyoming, Laramie, Wyoming 82071, USA 5 Scientific Computing and Imaging Institute, University of Utah, Salt Lake City, Utah 84112, USA 6 Institut für Theoretische Physik, Georg-August-Universität Göttingen, Göttingen, Germany 7 Columbia University, New York, NY 10027, USA 8 Bethe Center for Theoretical Phyics, Universität Bonn, Bonn, Germany 9 Center for Computational Science & e-Systems, Japan Atomic Energy Agency, 110-0015 Tokyo, Japan 10 Core Research for Evolutional Science and Technology, Japan Science and Technology Agency, 332-0012 Kawaguchi, Japan 11 Physics Department, Harvard University, Cambridge 02138, Massachusetts, USA 12 Institut de Physique Theorique, CEA/DSM/IPhT-CNRS/URA 2306, CEA-Saclay, F-91191 Gif-sur-Yvette, France 13 Faculty of Physics, A. Mickiewicz University, ul. Umultowska 85, 61-614 Poznan, Poland 14 Institute of Theoretical Physics, EPF Lausanne, CH-1015 Lausanne, Switzerland 15 Department of Physics, Virginia Tech, Blacksburg, Virginia 24061, USA 16 Arnold Sommerfeld Center for Theoretical Physics and Center for NanoScience, University of Munich, Theresienstrasse 37, 80333 Munich, Germany 17 Department of Applied Physics, University of Tokyo, 113-8656 Tokyo, Japan 18 Microsoft Research, Station Q, University of California, Santa Barbara, CA 93106, USA 19 Institute for Solid State Theory, RWTH Aachen University, 52056 Aachen, Germany 20 Institut für Theoretische Physik III, Universität Stuttgart, Pfaffenwaldring 57, 70550 Stuttgart, Germany 1 2 ‡ Corresponding author http://www.iop.org/EJ/abstract/1742-5468/2011/05/P05001 35 スクリプト言語の利用 • スクリプト言語とは • コンパイルなしでその場で実行できる(簡易)プログラミング言語 • メジャーなスクリプト言語:Perl、Python、Rubyなど • Mac OS X や Linux には、あらかじめインストールされている • Windows では、バイナリパッケージをダウンロード & インストール • ソースの編集・コンパイル・インストールなどの手間がかからない • その場で入力 即実行 出力 • 電卓代わりにも • パッケージ(ライブラリ、モジュール)が充実しているので便利 • CSV/XML/HDF5の読み書き、DBへのアクセス、ネットワーク、CGI、機器の制御、文 字列処理、線形演算・最適化、計算・実験結果の加工、図の作成、GUI、、、 • いろいろなアイデアを手軽に試すことが可能 36 例) Monty Hall 問題 • ゲームのルール • 三つのドアのうち、一つには車、他の二つにはヤギが隠されている • 「挑戦者」はまずどれかの一つドアを選ぶ • 「親切な司会者」は残り二つのうちから、ヤギ (= ハズレ)の入っているドアを開い て見せてくれる • 「挑戦者」には、現在選んでいるドアから残りもう一つのドアに変更する権利が 与えられる • 最初のままが良いのか? • もう一つのドアに変更すべきか? 37 Pythonによる乱数を使ったシミュレーション swap 成功回数 import random success_stay = 0 success_swap = 0 for i in range(1000): bingo = random.randint(0,2) choice = random.randint(0,2) blank = [] for k in range(3): if k != choice and k != bingo: blank.append(k) show = random.choice(blank) remain = 0 + 1 + 2 - choice - show stay 0 10 20 30 40 50 試行回数 if choice == bingo: success_stay += 1 if remain == bingo: success_swap += 1 print i+1, bingo, choice, show, remain, success_stay, success_swap 38 Buffon の針 • 等間隔 b で線が描かれた床の上に長さ a の針をばらまく (ただし a < b とする) • 線に針がかかる確率は? 39 Buffon の針 (つづき) • 最も近い線から、針の中心までの距離 x は 0 ∼ b/2 に均一に分布 • 中心のまわりの針の角度 φ は 0 ∼ π/2 に均一に分布 • x < (a/2) cos P = ならば、針は線にかかる Nhits (x, ) = 1 b/2 /2 dx 0 d Nhits (x, 0 b/2 /2 dx 0 d 0 ) a 2 = · b • この確率過程を計算機中でシミュレーションすれば、円周率が求まる! • モンテカルロ積分、モンテカルロ・サンプリング 40 乱数によるサンプリング − モンテカルロ法 • a = b = 1 のとき import math import random success = 0 for i in range(10000): x = 0.5 * random.random() phi = (math.pi/2) * random.random() if (x < 0.5 * math.cos(phi)): success += 1 print i, success / float(i+1) 0.7 0.68 2 0.66 0.64 0.62 0.6 0.58 0.56 0.54 0.52 0.5 0 200 400 600 800 1000 41 バージョン管理システム(VCS)の利用 • バージョン管理システムとは? • ファイルの履歴ををデータベース(リポジトリ)で一括管理す るシステム • もともとはプログラムのソースコードのためのシステム • それ以外のファイル(例えば TeX ファイル)管理にも使える • 一人で使っても複数人で使っても超便利 • 超優秀な秘書のようなもの 42 バージョン管理システム(VCS)の利用 • 作業者 and/or 作業場所が複数になると、ファイル名や手書 きのログファイルによるバージョン管理はすぐに破綻する • ネットワーク経由でファイルを check out/check in • 更新毎に一意なバージョン番号 (リビジョン) を付与 • 任意のバージョン間の比較が容易 • バックアップの代わりにも • 複数箇所から同時に更新した場合に衝突を回避するしくみ • ブランチ・マージ・タグ付けなどが可能 43 ありがちなパターン 25/45 1) 2) A 3) 4) B B A University of Tokyo 渡辺宙志 CMSI計算科学技術特論A 講義資料より 44 バージョン管理している場合 1) 26/45 2) 3) 5) 6) B A 7) A 4) ( ) C University of Tokyo 渡辺宙志 CMSI計算科学技術特論A 講義資料より 45 主なバージョン管理システム • BitKeeper - かつて Linux のカーネルのソース管理に使われていた • CVS (Concurrent Versions System) - ネットワークでの利用を考慮とした初めてのバ ージョン管理システム。以前はよく使われていた • Git - 現在 Linux の開発に使われている。分散型リポジトリ • Mercurial - Git のライバル。分散型リポジトリ • SCCS (Source Code Control System) - 70年代にベル研で開発された世界初のバージ ョン管理システム。現在は使われない • Subversion - CVSの改良版として開発された。現在最もポピュラー? Mac OS X や多 くの Linux には最初からインストールされている。Windows 版クライアント (TortoiseSVN)もある 46 バージョン管理システムの欠点(面倒な点) • 修正前に最新の状態にアップデートしなければならない 慣れると習慣になります • 全ての修正を「コミット」しなければならない 慣れると習慣になります • 衝突(コンフリクト)が発生した時に対処しなければならない 衝突に気づかずに修正してしまうほうが怖いです • サーバのセットアップが面倒くさい まずはホスティングサービス(sourceforge, github, bitbucket)を試してみましょう まわりにいるプロ(?)に相談しましょう • バージョン管理システムを使うと作業効率が倍以上になる 使わないと人生を半分損する (c) 2013 渡辺宙志 47 Subversion の利用に役立つ資料 • Subversion によるバージョン管理 • http://todo.issp.u-tokyo.ac.jp/archive/subversion/book.html • 「Subversion によるバージョン管理」の読み方 • http://todo.issp.u-tokyo.ac.jp/ja/members/wistaria/log/subversion-intro • 「Subversionって何?」 「リポジトリ」 「バージョン管理モデル」 「最初の チェックアウト」 「基本的な作業サイクル」 「作業コピーの更新」 「作業コ ピーに変更を加えること」 「自分の変更点の調査」 「変更点のコミット」 • CVS/Subversionを使ったバージョン管理(前編:バージョン管理の基礎) • http://sourceforge.jp/magazine/08/09/09/1038233 • CVS/Subversionを使ったバージョン管理(後編:SVNを使ったバージョン管理) • http://sourceforge.jp/magazine/08/09/24/113215 48