マンデルブログ

主にPythonのことを書いていきます。

Tips:if文を使わずに周期境界条件

今頃気づいた

今までプログラムで周期境界条件にしたいとき、
いちいちif文を使って細かく条件分岐させていたのですが、
そんなことしないで簡単にできる方法があったので書いておきます。

量子モンテカルロ法の授業で聞いたことなんですが、
実際に使うまで意識してませんでした。
僕が知らなかっただけで、他の人にとってはたぶん当たり前のことです。

周期境界条件

例えば、y方向にだけ周期境界条件をかす場合はこうなります。

x1, y1 = [ x, ( y+1 + L) % L]
x2, y2 = [ x, ( y-1 + L) % L]

なんで周期になるかは、ちょっと頭で考えてみたらすぐわかると思います。