12092009 OCaml
floatしかべき乗の演算子がないのは何故?
# 2.0 ** 3.0;;
- : float = 8.
int
# 2 ** 3;;
Characters 0-1:
2 ** 3;;
^
Error: This expression has type int but is here used with type float
12092009 OCaml
floatしかべき乗の演算子がないのは何故?
# 2.0 ** 3.0;;
- : float = 8.
int
# 2 ** 3;;
Characters 0-1:
2 ** 3;;
^
Error: This expression has type int but is here used with type float
12092009 OCaml
let rec power m = function
0 -> 1
| n -> m * power m (n-1)
;;
let rec factorial = function
0 -> 1
| n -> n * factorial (n-1)
;;
let rec calc_pi = function
0 -> 3.0
| n -> (float_of_int (3 * factorial(2*n))) /.
(float_of_int ((power 2 (4*n)) * (power (factorial n) 2) * (2*n+1))) +. calc_pi (n-1)
;;
これだとcalc_pi 6ぐらいでneg_infinityになってしまう。あと型で結構つまづく。
普通に求めるヤツ
let mc () =
let x = Random.float 1.0 in
let y = Random.float 1.0 in
if sqrt ((x ** 2.0) +. (y ** 2.0)) <= 1.0 then 1
else 0
;;
let rec count n res = match n with
0 -> res
| _ -> count (n-1) (res + mc())
;;
let calc_pi n =
let res = count n 0 in
(float_of_int res)*.4.0 /. (float_of_int n)
;;
11092009 music
vector loversは良いが、アルバム持っているからな。octogenのもたついてるっぽいリズムがメローでよかった。mirror musicってsilicon soulの別ユニットなのか。
SOMA COMA PART.3SOMAが毎年夏にリリースするエレクトリック・チルアウト/ダウンテンポコンピレーション第3弾が登場 !! 野外レイヴシーズンにリリースされヨーロッパでも人気の高いクラブミュージックファンにフィットする気持ちイイダウンテンポのサマー・テクノチューンを収録。グラスゴーテクノシーンの至宝、アレックス・スモーク、SOMAオーナーのスラムを始め、ブラック・ドッグからアンドリュー・ウェザオールの変名プロジェクト、ブラッドシュガーの90年代の名曲、デヴィッド・ホルムズまでUKテクノシーンのメロウサイドを切り取った注目作 !
11092009 Python
ビュフォンの針でとおもったんだけど、なぜかarcsinのテーラー展開が目に留まったので。
def factorial(i):
return 1 if i ==0 else i * factorial(i-1)
def calc_pi(i):
pi = 0
for n in range(i+1):
pi += 3.0*factorial(2*n)/(2**(4*n)*((factorial(n))**2)*(2*n+1))
print pi
return pi
if __name__ == "__main__":
print calc_pi(16)
10092009 music
itunesいじっててmetallicaにはまった。
nothing else matters と and justice for allが好き。metallicaといえば大体この二枚。
そういえば、初めて買ったアルバムがAppetite for Destructionなのだよね。
patienceも良いですね。
10092009 OCaml
09092009 life
U隊長が、「ジムクレイマーみたいな読みづらいのは当分いい」とか言うので買ってみた。
サクッと読んでみたが、ゆるくて面白かった。マンションに関しては、個人が価値を見出せればそれていいんではないのとゆるく考えているんだけどU隊長はどう思っているんだろうかね、本を読み終わったらあとで聞いてみよう。
あと、編集のヒトのboldの打つ場所とか良かった。
09092009 OCaml
どう書くの外部の実行ファイルを呼び出しって問題を解く。
ブロックする版は
#load "unix.cma";;
Unix.system "/bin/sleep 3";;
print_string "waited\n";;
でいいんでしょ。
で、ブロックしない版をこんな感じで書いたら、
let pid = Unix.fork () in match pid with
0 -> Unix.system "/bin/sleep 3"; print_string "waited\n"
| _ -> print_string "not wait\n"
;;
warningがでる。
Warning S: this expression should have type unit.
よくわからなくて気持ち悪い。
ignoreを使えばよいとはてブで教えてもらった。
# ignore;;
- : 'a -> unit = <fun>
unitを返す
let pid = Unix.fork () in match pid with
0 -> ignore(Unix.system "/bin/sleep 3"); print_string "waited\n"
| _ -> print_string "not wait\n"
;;
08092009 chemoinformatics DMPK
Part 2は物性の話。ここらへんはQSPRの範疇だから割と読みやすかった。 ほとんどおさらい的な内容だが、Chemistry色が強いので、知っとくとケミストと話がしやすいかもしれない。
Drug-like Properties: Concepts, Structure Design and Methods: from ADME to Toxicity Optimization7の溶解性の部分は他の章よりも厚い。予測モデルとかのstate-of-the-artが載ってなかったりするけど、モデルをうまく合成計画に取り入れるのも今どきは重要なんではないかね。