2007年8月18日土曜日

暑い日はミステリー

暑い日は、怪談とかが似合いますね。ちょっと心持ち涼しくなれるという心理作用をもたらすからだと思います。

そこで、怪談ではないけど、ミステリーを最近読みました。

『パディントン発4時50分』 アガア・クリスティ

すごかった…。名探偵マープル婦人が活躍する小説なのです。しかし、当の名探偵は思うように動けず、調査が出来ない。そこで、とある有名な、「家政婦」に依頼をするんです。

その家政婦のすごいこと!!!
次から次へとうまい料理を作り出す!!
この人のカレーとか肉料理とか、パイとか、魚の入ったサンドイッチに、ロールパンに、トースト!!食べてみたいですね!!
一家に一人は欲しい家政婦!(家政婦が必要な位広い家は日本にはないねぇ、たぶん)
プティングなんていう料理も登場!(プリン?!)

と、料理に思わず注目してしまいます。お腹が空いているときは読んではいけません!イギリス料理ってまずいって話聞くけど、これよむと実際はうまいのでは?と思いますよ。どこにでも家政婦がいて、料理がうまいとなると、外食するより家で食べたくなるもんですよね。でも、そんな家政婦がいる家庭って、今では金持ちな所なんだろうけどね。

僕はパン屋のピザでもウマウマで、ニヤニヤなので、そんな家政婦がいなくとも、どんな料理でも普通に食えれば満足ですな。サイゼリアのピザが上手いとかいう程度ですからね〜。ああ、出前ピザ食べたくなってきた。Lサイズは一人で余裕で食えます、というか、食いたいですね。食べているうちに最後の方が冷えてくるんだけど。そうなったら後でまた、電子レンジで温めるとうまいね。味のこのみとしては出前ピザよりはサイゼリアのピザかなぁ。サクサク感がやっぱりいいし、アンチョビ使ってるし。どっちにしろ、やっぱ、ピザ最高ですよ!!


で、ラストの犯人は…。

僕は騙されました。ひでぇなぁ…。まさに裏切られた気分です。負けました、犯人わからなかったです。それしか説明のしようがないんですね。

超のつく家政婦よりも、エリート警部よりも、推理が切れるなんてね!マープルさんすごすぎます。逆にこの卓越した知能がマープルさんを不幸にしているのかもしれませんが…。

python講座(1)二次元配列

pythonは蛇の名前がついたプログラム言語です。でも本当の由来はイギリスのコメディアンの名前らしい(モンティ・パイソン)。なので、大抵は蛇のアイコンなのだが、僕は蛇が嫌いなので、アイコンを各自変更する方が良いと思います。というか、python配布者さん、蛇じゃなくて、pyなら、「アップルパイ」とかのアイコンにしてくれ!!

初心者でもとっつき易い、敷居の低い言語として知られています。しかし、用途は多彩で、ubuntuというlinuxの開発にpythonのプログラムがよく使われているとか(本当かどうかは知らない)。決行いろんな所で使われているので、知っておいて損はなさそうだと思いました。
http://ja.wikipedia.org/wiki/Python

pythonの初歩的なマニュアル(おすすめはチュートリアルだがwindows向きではない)
http://www.python.jp/doc/2.3.5/index.html

pythonの利用目的はかなり多い。単なる文字列の定型処理だったり、GUIだったり、penGLつかえたり、blenderで使えたり、OpenOfficeで使えたり、行列計算や量子力学計算や、データのプロット等など、かなり多くをこなす。

データプロッター用言語として使うケース
http://matplotlib.sourceforge.net/

GUIアプリケーション作成をwxwidgetsを用いて行うケース(かなり幅が広い)
http://www.harukaze.net/~haruka/wxpython/index.html

ゲームなどの開発用途で使うケース
http://www.halb-katze.jp/pygt/index.html

インストール::
linuxではほぼ初期の段階でインストールされています。(fedora7とvine4.0ではそう。Macもそうらしい)Windowsではインストールする必要があります。
http://www.python.jp/Zope/download/pythoncore
詳しいインストール方法はgoogleで 「 python インストール windows」などと検索すると出てきたりします。上のリンクでpython-2.5.msiをダウンロードして、nextとfinishボタンをおすだけでよかったりします。

windows上でpythonをインストールしたり動かすのに詳しいサイトは沖データのページです。
http://www.okisoft.co.jp/esc/python/iron-python-intro.html
彼らのページではpythonを起動して、インタラクティブなプログラムや処理の仕方を行っているようです。プログラムをprog1.pyと保存して、コマンドプロンプトでpython prog1.pyと実行しても良いし、prog1.pywと名前を変更してダブルクリックで実行という形でもよい(この場合処理は行われるが、printで出力させたものはどこかに言ってしまいます。)


トータルでおすすめな入門サイト
http://ar.aichi-u.ac.jp/python/
このページは非常にお世話になったんですよ。pythonの使い方が非常に丁寧に書いてあります!!

まぁ、以上のようなpython関連の知識があるとして、pythonのプログラムメモをば書いていきます。

まずpythonで二次元配列を扱う例を。

-------------------script001.py------------------------

#-*- coding: shift_jis -*-

#リストを二次元配列として使う方法
a=[]
#リストの初期化
#aというリストが初期化された。このリストには
#要素が入っていないので代入する必要がある。
#リストの要素はリストでも構わない!
b=[]
b.append(1)
#要素を追加するときはappendという物を使う。
b.append(2)
b.append(3)
#以上の操作で、bというリストを作り、その要素を
#代入して、b=[1,2,3]というリストを作った。
a.append(b)
#これで、aというリストにbというリストをついかす
#る事ができる。
print a[0][0],a[0][1],a[0][2]
#これで、さっきのbの要素にアクセスできて、さらに
#その値を変更する事もできる。


-------------------script001.py------------------------

これを実行すると、
1 2 3
と表示されるはずです。

この様にして二次元配列を作ることが出来きますが、これは一次元のリストの要素がさらに一次元のリストなのです。

2007年8月17日金曜日

暑い!!!

昨日の夜、猫を見かけた。

ここ数日間暑いです。
うだるような暑さで、夜は寝苦しいです。

ようやくpythonのクラスの本格的な使い方を習得出来たので、
解析モジュールとして用意する事にし、数日間。

トポロジーファイル部分を読み込むことに成功
再計算用データセットから、座標と速度を読み込む事が出来た
各残基の運動エネルギーと自由度を算出し、温度を定義できた
全運動エネルギーと自由度と温度を計算できた

今度は
トラジェクトリから、ステップずつ座標を読み込む
各ポテンシャルとフォースを計算する
のが課題です。


クラスの使い方:::


#クラスの定義部分
class hoge:
" hoge hoge class "
def __init__(self):
print " hoge hoge instance is defined!"
self.say="hara hetta"
self.number=8
return
def calcc(self,number1,number2):
buf=number1+number2
return buf


#以下はプログラム実行部分

x=hoge()
# hogeを呼び出して、xという名前を付ける。
#特殊関数__init__をこの時に実行する。
#上の場合はただ、変数に値を入れているだけ。

print x.say
#xはhogeと同じで、selfというのをx
#で置き換えると、このように呼び出せる。

print x.number
#おなじく
s=x.calcc(1,2)
#hogeの中の関数calccを呼び出せる。因数
#をこのように付けてやることもできる。
print s
#関数calccの戻り値に二つの因数の和を指定し、
#上で変数sに代入したので、表示させてみる。



というようなもんです。
定型処理とかを独自で実装するにはクラスは便利ですよ〜!!

2007年8月13日月曜日

今日の帰り道は星の探索

ペルセウス座流星群が昨日から地球近傍に来ているようですね。

なので、今日の帰り道はちょっと空を見ながら帰ろうかなと思います。
傍目に怪しい人に思われない程度に^^;

星に願いをかける事、いくつありますか?

僕は実は六個くらいありますね。
そのうちの一個は自分の事だけど。
後は自分以外の人の健康のことだなぁ。

昨日の猫さんのおかげで、帰りにダメな所に思い当たって、今やっているとこですが今のとこ大丈夫なようです。
流星みっけたら、なんかいいことあるかな〜。

2007年8月12日日曜日

今日の〆

いやはや、ネットは怖いですね。

上の方にbloggerのバーがあって、そこを操作すると違うblogger内のブログにいけるんだけど、ちょっと怖めなページに飛ばされることがあるのでご注意を。「僕は二度と使わないよ。」まぁ日本は平和だという事だよね。

あともーすこしで計算が一部終了する。並列計算万歳!!
終電が終わるか、計算が終わるか、それが問題だ。
徹夜なんてしないぞ!!!

今日は白

今日久々に猫を見かけました!
写真とかは無いです。
よく通る道を歩いていて、ふと見上げると、二階の部屋の網戸の向こうに純白の猫がこっちを見つめていました。
猫をかっている家だったとは!!!

良い事は結局無かったようですが、MDはちゃんと動いていました。悪い事はありませんでした。悪いことが無いってのが最良なのかな。やっぱ、そうじゃなきゃね。

ifcからifort(9.0)とicc(9.0)の環境に変えて某古いプログラムをコンパイルする事に成功し、実効速度もじゃっかん早くなっております。早い所はiccに依ると想像していますが。

pythonで量子化学計算が出きるようになったそうです(小さい奴だと思う)。
PqQuante-1.51
windowsではまだ試していないですけどね!

2007年8月10日金曜日

windowsでスクリプト

いっつもlinux上でばっかり作業しているので、windows上で何かやろうとすると、perlやcsh,bash等など無い物ばかり。さらにDOSのコマンドが少なくなった(windowsME以降かな?)ので、標準出力を得るのが難しい。一応開発環境もネット上から集めてくればwindows用にあるし、c言語つかってプログラム等を作ることも出来る。

で、c言語っていうのは…まだ始めたばかり(今まではやろうとしてはサボってた。必要がなさげだったし)だけど、意外にとっつきやすいですね。

でも、ちょっとしたときにコンパイル&実行なんて、やってられません。

そこで、簡単に使えるpythonを使うんですね(嘘)。pythonは結構C言語にも似ています。pythonはインタプリンター型ですが、関数型なので、Cに似た気がするんでしょうね。

と言う訳で、テキストファイルをそのままコピーするスクリプトです。
-------------------------------------------

import sys
def getdata(filename):
fileobj=open(filename,'r')
contents=fileobj.read()
fileobj.close()
return contents
def writedata(filename,contents):
fileobj=open(filename,'w')
fileobj.write(contents)
fileobj.close()
return

if __name__=="__main__":
data=getdata("text.txt")
writedata("text2.txt",data)


----------------------------------------
というのを昨日の寝る前に書いたんだけど、多分動くと思います。
テストしていませんが、text.txtというファイルの中身を読み出してdataという変数に代入して、text2.txtというファイルに中身を書き出してしまうスクリプトです。二つの関数をつくって、一方の関数はファイル名前を指定すれば中身を返す、もう一方はファイル名と中身をしていしてやれば、ファイルをつくって、中身を書き込むという用にしています。これをC言語で書き換えるのはやさしいらしいです。

でもね、こんなん、簡単に右クリックとかで出来そうだけどね。

追記::Windows Scriptなる物もあるようですね。でもみんな使うのはマクロという奴なんだろうなぁ。

2007年8月9日木曜日

携帯オーディオ

今年の四月になる前まで、僕はタバコを吸っていました。いまは完全に辞められています。どうやってかというと、秘密があるのです。とあるフィルターを付けて徐々に辞めていく方法です。これを三月中やっていました。問題はフィルターを辞め、完全にタバコを辞めるときです。

で、実際に辞めて数週間ほどは結構辛いです。半面、タバコを吸うためにどれだけ時間を使っていたのかを考えさせられます。その分、やたらと食欲が増えるので、だいぶ太った気がします。そして、僕は、その空白になってしまった時間が耐えられそうに無かったので、タバコの変わりに携帯オーディオ、ちょっと昔はmp3プレイヤーなんて言われていましたね、そのような物を買って、音楽を聞けば少しはストレスが解消されるのではないかなと思いました。今まで欲しいなと思いつつ買わず、W31Sという携帯機種をmp3プレイヤーとして一時期使っていたけど、携帯はズボンのポケットに入れる習慣なので使いにくく、その他諸々の理由から微妙に不便でした。その時痛感したのは、移動が公共交通機関と徒歩主体の人はなるたけ軽めのmp3プレイヤーにすべきだなと。今の携帯はW42Kで一応ラジオも聞けるけど、音量のコントロールが悪くて、耳が痛いほど大きいか聞こえないかどちらかになってしまうんです。


さて、買うぞということで、電気屋にて、うーん、と選ぶうちに、ipod shuffle(1GB)が定価9800円なのに、これは?という値段(ちょっと安かった)だったので、買ってみました。曲順とかリピートしたいとか、頭出ししてこの時はこれが聞きたいんだ!!というのが無いんですね、僕。なんか音が欲しい、ちょっとした時に、特に好きな曲が流れるとちょっと良い気分に浸れる、そんな理由から、液晶部も何もない、小さく軽く、色が色々な、ipod shuffleを選びました。
付属したイヤホンの性能は良いのだけど、短すぎるので、別途持っていたイヤホンで代用して使っていました。(一昨日接触不良になってしまったけど)イヤホンコードがある程度長くないと、夏場はクリップする所が、薄地のTシャツだと付ける所が微妙なとこしかないんです。逆にAppleとしてはみんな持っているんだということをアピールさせるために服に目立つようにクリップさせようとしているのかな?僕はズボンのベルト通しに付けてました。イヤホン買ってこなきゃなぁ〜

もう四ヶ月目になりますけど、おすすめですよ!頭出しとかしなければ値段もお手頃だし、ipod nanoより軽くて小さいので、使い勝手は良いかと思いますよ!

でも、もっと安くて小さいの出てるかな?

(2007/08/10追記)
なんか良さそうなのがいっぱい出ています。ipod nanoに近いし、値段はちょっと高めだけど、SONYやパナソニックから薄くて小さくて、カラー液晶搭載のが!NW-A805はビデオも可能で、本当に小さい!軽い!でも、shuffleでいいなぁ。

2007年8月7日火曜日

sci-python

科学計算向けpython支援ソフトとしてsci-pythonというものがあります。
これらをインストールするのはwindowsの場合簡単で、
http://code.enthought.com/enthon/
からソフトをダウンロードして、ボタンを押すだけです。で、これでなにができるのかというと、通常のpythonパッケージでは出来ない事を一緒くたにあつめたパッケージなので、一個の簡単なインストールで入れられる事なんです。これをつかって、scipyを使うと科学計算が非常に手軽に出きるようです。パッケージにはpygameとかpyopenglとかゲーム作るツールは入って無いけど。

で、入れた後で、pythonシェルを使って次ようような計算が出きるんです。
ここで、四行python

from scipy import *
A=matrix([[1, 2, 1], [1, 5, 1], [1, 8, 3]])
linalg.inv(A)
linalg.det(A)

一行目::scipyに必要なのを読み込む
二行目::行列Aを定義している。
|1 2 1|
|1 5 1|
|1 8 3|
という行列をAとしている。
三行目::Aの逆行列を計算している。
四行目::Aの行列式を計算している。

これのさらにすごいのが、
pinrt A*linalg.inv(A)
をすると、単位行列が出てきます。行列の掛け算までできるのです。引き算やたし算も。
print A+A
print A-A
などなど。

あとはもっとすごい事が出きるらしいのですが、暇があったら書こうかなと思います。

2007年8月5日日曜日

だめだぁ

最安定な構造に初期速度を与えてMDをするのですが、蒸発現象が起こってしまいます。バイアスポテンシャルの形状がおかしいのか?ちょっと気になりすぎるので、徹夜でパラメータをいじってみたいと思います。ちくしょーーーー!!!!一週間もたつのにまだ平衡化の壁を越えられて居ません。

ーーニュースーー
#ラオックス(山下巌社長)は8月3日、秋葉原にある旗艦店「ザ・コンピュータ館」を9月30日に閉店すると発表した。
という事らしいです。実は行ったことないし^^;ラオックス自体、こっちじゃみないんですね、東京に行ったときはけっこーあったけど、ローカル電器っていう雰囲気だったなぁ。秋葉原といえば、ヨドバシだったかな?ビックカメラだったかな?大きい店舗ができたそうなので、機会があればいってみたいですね。