統計力学
現在、CUDAで2次元イジングモデルのプログラムを書いています。下記のgifは、プログラミングミスの結果ですが、面白かったので載せておきます。なんだかライフゲームみたいです。
前回、紹介しましたCheckerboard decompositionをC言語で実装しました。マジックナンバーがふんだんに盛り込まれています。(8,3)でCheckerboard decompositionしたのは、(0,1),(0,2),(0,3),(1,0),...,のように行列の要素を並べた時に、奇数番目と偶数番目に…
2次元イジングモデルでの各ステップでのアップデート方法に致命的な部分がありました...。 今までの2次元イジングモデルのアップデート方法(1) 2次元上のスピンをランダムに一つ選び、スピンを反転させる。 前状態とのエネルギー差を計算する。 メトロポ…
2015/11/13修正 def calcDeltaEの部分 return -2*dE def MCのエネルギー差の足し算部分 E+=dE 修正済みのコードは文中。 本文 今までのプログラムは、エネルギーを計算する際に全ての要素に対してエネルギーの再計算を行っていました。しかしイジングの場合…
CUDAで下手くそなプログラミングを書いてみました。対象は前回から引き続き2次元イジングモデルです。2次元の行列サイズは1024x1024と2048x2048、ループ回数は1000です。コード中のMT.hは乱数を生成するためにメルセンヌツイスターを使用しているからです。…
前回の2次元イジングモデルのコードをCで書きなおしてみました。unixの標準コマンドtimeを使って、openmpありとなしの実行時間を計算してみます。2次元の行列サイズは1024x1024、ループ回数は1000です。コード中のMT.hは乱数を生成するためにメルセンヌツイ…
ホップフィールドネットワークのプログラムを書いたので、2次元イジングモデルのプログラムも書いてみました。イジングモデルは磁性体を表したモデルです。磁性体は磁石だと考えてもらって結構だと思います。磁石は、熱を与えるとその磁性を失います(つまり…
統計力学を復習しようと思い、本を漁ってました。平衡論を学ぶなら、これ一冊?でいいんじゃないかと思うほど丁寧で幅広く説明している本を発見しました。しかも無料!!!。なぜ、無料なのかと言うと講義のレジュメだからです。下記のURLからLECUTUREにアク…