実対称な確率行列に従う系の振る舞いを、rubyでコードを書いて追ってみようと思ってメモ帳を開いた。「そうだ、rubyをやろう」と思ったのはもうずいぶん前で、しかも杵柄とる前にあきらめてしまっていたのだが、簡単な制御の構文くらいは覚えていて、2,3分ですぐ書けた。100ステップもやれば等確率で各状態が実現することが見える。
んー、これはruby楽しいかもしれん。


何でこんなのやってるかというと、さっきググっていて見つけた統計力学のテキストにあった練習問題です。detailed balance conditionを認めると等重率の原理が出てくるとか書いてあるけど、これってまったく自明じゃないよな。
じつはモチベーションをさらに遡ると、夏の学校のときにJarzynski等式のdetailed balance conditionを陽に用いた導出を説明してもらったのに行き着く。あの時聞いた証明に使っていたのは熱浴との相互作用でやりとりした熱Qを含んだ形の、もっと一般化された形の条件だったように思うが・・・


detailed balanceを認めると等重率の原理を経てGibbs分布が出てくるって事だよなあ。そうするとJarzynskiのGibbs分布からスタートしたJarzynski等式の導出のほうが、detailed balanceを用いたものよりも一般的な証明ってことになるんですかね。何か使ってない情報があるんだな、きっと。てか俺カノニカル分布とギブス分布の区別がついてないみたいなんですが。なんか違いあるの?