計算機実習 平成27年度その1の2回目

2015年10月14日。

周期境界条件の説明。まずは、1次元の場合にN-1番目のサイトのとなりが0番目のサイトであることを、N個のスピンの閉じた輪の鎖として説明。端っこが途切れていると、端からの距離によって性質が異なる。輪っかにすれば、どのサイトの等価になる。2次元では、トーラス(ドーナツ表面(に格子を貼り付けたもの))になる。3次元(以上)だとハイパースフェアー。

次に周期境界条件のある最近接イジング模型のエネルギーの計算の仕方を1次元の場合を例に行った。最初にfor(i=0; i<N-1; i++)のループでS[0]S[1]+・・・+S[N-2]S[N-1]を計算した後にS[N-1]S[0]を加えるやり方を、「不細工なやり方」と言って紹介。例外処理を行う方法は、次元が上がってくると煩雑になる。S[i]のiについて、「i>=Nならばi=i-Nとする」というのが周期境界条件である。for(i=0; i<N; i++)のループの中で i1=i+1を定義して、while(i1>=N) i1-=N;とこれをそのまま式にし、S[i]S[i+i]を加算するところを、S[i]S[i1]を加算するようにすればよい。これは、次元が上がっても煩雑にならない。

昨年度の2回目の授業は、もっと低レベルだったよう。それでも第3回と4回目では有限温度のシミュレーションの話をしているから、無理があったんでしょう。来週の第3回目は、学会出張+共同研究のため(私もTAをお願いしている大学院生も)、助教の先生一人に任せます。よろしくお願いします。