ローカルに Subversion のリポジトリを作る方法
$HOME/tmp/svntest っていうディレクトリ以下に,リポジトリ repo1 を作って co1/repo1 にチェックアウトしてみた.
まずリポジトリを作る:
mkdir ~/tmp/svntest svnadmin create $HOME/tmp/svntest/repo1
作ったリポジトリをチェックアウトして使う:
mkdir ~/tmp/svntest/co1 svn co file://$HOME/tmp/svntest/repo1 repo1 cd ~/tmp/svntest/co1/repo1/ touch README svn add README svn ci -m ""
matplotlib でタイル状にグラフをしきつめるようなプロットをする
こういうグラフを書きたい:

最近気づいたのは pylab は遅いけど matplotlib.pyplot だと早いということ. pylab を使うと簡単にかけそうだけど,たくさん書きたいので matplotlib.pyplot で頑張ることに.
どこの処理が時間かかってるのか計るコードも入れた (tm なんちゃらってのが計測している部分). 最新の matplotlib (0.99) が必要.
コード:
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid import AxesGrid
import numpy
tm = []
def tm_append(tm):
import time
tm.append(time.time())
def tm_print_diff(tm):
for (t0,t1) in zip(tm[:-1],tm[1:]):
print t1 - t0
list_func = [ numpy.sin,
lambda x: numpy.exp(-0.1*x),
lambda x: numpy.sin(x)*numpy.exp(-0.1*x) ]
list_tmax = [5, 10, 15, 20]
nrows_ncols = (len(list_func), len(list_tmax))
tm_append(tm) ## time
F = plt.figure(1)
F.clf()
tm_append(tm) ## time
grid = AxesGrid(F, 111, # similar to subplot(111)
nrows_ncols = nrows_ncols,
axes_pad = 0.0,
add_all=True,
aspect=False,
)
tm_append(tm) ## time
for ax in grid:
ax.cla()
grid.set_label_mode('L')
tm_append(tm) ## time
i = 0
for f in list_func:
for tmax in list_tmax:
t = numpy.arange(0,tmax,0.1)
grid[i].plot(t, f(t))
i += 1
tm_append(tm) ## time
plt.draw()
plt.savefig('axesgrid.png')
#plt.show()
tm_append(tm) ## time
tm_print_diff(tm)
結果:
1.4825220108 2.09476304054 0.745758056641 0.0568108558655 1.95767402649
やっぱり, plt.figure (1行目) や AxesGrid (2行目) は時間かかるっぽいな. 二回目以降は for ax in grid 以下を実行してやれば良いので,かなりお得かな. ax.cla() した後で grid.set_label_mode(‘L’) して一番下と一番左以外の軸にラベルがつかないように しているのがミソ.
ローカルで作ってたお勉強用のwikiっぽいものをアップした
今見て,役に立ちそうなやつは Fokker–Planck 方程式と自己相関関数の話くらいかなあ.
ちなみに, Sphinx (日本語サイト) っていうドキュメント生成システムを使っている.気に入っている点:
- reSTを使ってかける
- wikiと違って ローカルでサクサク見えるから
- javascript を使った検索機能
- 数式かける
- コードハイライト
ソースは github で公開している(arataka’s note at master – GitHub). Wiki みたく編集の履歴がとれないのをこっちでカバー.
今から内容増えるかは不明w 量子力学要らない非物理屋さんのための統計力学とか書きたいんだけどなあ.