Population Stochastic Modelling

違うことをしていたらPSM:PSM: Non-Linear Mixed-Effects modelling using Stochastic Differential Equationsという面白そうなパッケージを見つけたのでサンプルで遊んでみた。

PSM

集団から個人をサンプリングしてきてシミュレーションできるという理解でいいのかな?

ProductName 確率微分方程式―入門から応用まで
ベァーント エクセンダール
シュプリンガー・フェアラーク東京 / ¥ 4,935 ()
在庫あり。

スーパーマリオギャラクシー 2

スーパーマリオギャラクシー 2を購入して一週間ほど寝かせてある。

娘と一緒に楽しめるかな?

今日の某ユーザー会の感想

「スライドは全て英語にしといたほうが無難だな」と思った。日本のユーザー会といっても、日本で行われるユーザー会であって、日本語のユーザー会とは異なるのですな。でも、そのほうがいいのかも。

  • chemoinformaticsにおいてaromacityはruleにすぎない! ってのは名言だと思った。
  • javaはサポートしているからjruby使えとか、groovy使えとかScala使えというのは商用ソフトウェアのサポート体制として利にかなっているなと。
  • 同様に.NETサポートするからIronRuby使えとかIronPython使えとかF#使えとか。でもF#はあなたの趣味でしょ?と思った。

あとはAmazon EC2でガバッと計算したときにbillionオーダーの化合物の計算が安価に速く出来ればとか。そういう事例はないかなと思ったり。中小製薬企業で中途半端な数のクラスタマシンをもつより、そういう方法で計算させる方向にシフトしていけば費用対効果もいいんじゃないかなと思うんだけど、どうなんでしょうね?

cherrypyを動かすときに

例外補足しないとめんどくさい。

if __name__ == '__main__':
    from cherrypy.wsgiserver import CherryPyWSGIServer
    server = CherryPyWSGIServer(('localhost',5000), Service())
    try:
        server.start()
    except KeyboardInterrupt:
        server.stop()

Quantum Chemical Reactivity Descriptors in Computational Drug Design

ちょっと気になる本

ProductName Quantum Chemical Reactivity Descriptors in Computational Drug Design
Nazmul Islam
Lap Lambert Acad. Publ. / ¥ 5,392 ()
近日発売 予約可

今日の畑(100629)

早朝。雨が降りそうだったけど、このチャンスを逃したらいけない気がしたので。

手に入れてベランダに置きっぱなしだったオクラの苗を植えた。今年は島オクラでなくて普通のオクラなので、収穫タイミングがシビアかも。

オクラを植え終わったタイミングで雨が降ってきたので、除草をせずに撤収。

茄子は商品サイズの二倍の大きさに成長していた。

1277813338

甘長美人とインゲンは結構取れた。雨が降ったのでインゲンの収穫は途中でやめてしまった。

1277813344

ミニトマトも色々採れだしてきた。

1277813350

Rのパッケージの internalな関数の文書化

R CMD checkすると、ドキュメントの存在しない関数は警告がでるのだけど、パッケージ内部で使うための関数も引っかかってしまう。

1.1.3 Package subdirectories

if a package pkg contains user-level objects which are for “internal” use only, it should provide a file pkg-internal.Rd which documents all such objects, and clearly states that these are not meant to be called by the user.

gridのRdを読めと書いてあったので読んでみる(R-2.11.0/src/library/grid/man/grid-internal.Rd)。

\name{grid-internal}

\alias{grid.legend}
\alias{grid.multipanel}
\alias{grid.panel}
\alias{grid.strip}
\alias{is.unit}
\alias{layoutRegion}
\alias{viewport.layout}
\alias{viewport.transform}
\alias{layout.heights}
\alias{layout.widths}
\alias{layout.torture}

\title{Internal Grid Functions}
\description{
  Internal Grid functions
}
\details{
  These are not to be called by the user (or in some cases are just
  waiting for proper documentation to be written :).
}
\keyword{ internal }

こんな感じ

Rのパッケージを作る

先週はR版のpit(Config::Pit)をつくっていて、昨日今日でパッケージ化してみたので感じたことのメモ。

パッケージのスケルトンの作成はpackage.skeletonで行える。その際にRdフォーマットというTeXっぽい文書の雛形が作成される。パッケージのインストールはR CMD INSTALLで行うが、その際にドキュメントがちゃんと存在するかチェックされる。Rdフォーマットは R CMD Rd2dviでdviに出力できて、これはさらにpdfに容易に変換できる。Rのpdfがちゃんとしているのはそのため。

Rのドキュメントの充実度の秘密はこのあたりにあるのかと思った。Rはドキュメントのキチンと書かれていることに慣れきっていて、もしドキュメントがいい加減な(ましてや、Exampleのない)パッケージは使うときに相当イライラしますからな。

あと、R CMD checkすると、ドキュメントの存在しない関数は警告がでる。

* checking for missing documentation entries ... WARNING
Undocumented code objects:
  pit_config pit_dir pit_profile_file pit.config pit.load
All user-level objects in a package should have documentation entries.
See the chapter 'Writing R documentation files' in manual 'Writing R

ProductName Rの基礎とプログラミング技法
U.リゲス
シュプリンガー・ジャパン(株) / ¥ 3,675 ()
在庫あり。

「関数プログラミングの楽しみ」が届いた

昨日のHaskell読書会の行き帰りの電車の中で読もうかと思ったけど、そんな軽い本じゃなかった。

ProductName 関数プログラミングの楽しみ

オーム社 / 4410円 ( 2010-06-23 )


かなり濃いめな感じの本だ。

  • 第1章 二分ヒープ木の楽しみ
  • 第2章 仕様に基づくテスト ??? QuickCheckを使って
  • 第3章 おりがみプログラミング
  • 第4章 Haskellで音楽を記述し解釈する
  • 第5章 融合変換を自動化する
  • 第6章 金融取引契約の書き方
  • 第7章 関数画像
  • 第8章 Lava:関数によるハードウェア記述
  • 第9章 論理プログラミングのためのコンビネータ
  • 第10章 アローと計算
  • 第11章 もっと整ったプリティプリンタ
  • 第12章 ファントム型を楽しむ

第六回Haskell読書会

昨日は第六回Haskell読書会に行ってきた。参加された皆様お疲れ様でした。

演習問題7.5

sumsqreven compose [sum,map (^2),filter even]が間違っている理由を述べよ

という問題で

compose :: [a -> a] -> (a -> a)
compose = foldr (.) id

composeはa -> aという型の関数のリストを引数として取る。

ここで

Prelude> :t (map (^2))
(map (^2)) :: (Num a) => [a] -> [a]
Prelude> :t (filter even)
(filter even) :: (Integral a) => [a] -> [a]
Prelude> :t sum
sum :: (Num a) => [a] -> a

となりsumだけ [a] -> aという型なのでダメ。

sumがなければOKで、これは

:t compose [(map (^2)),(filter even)]
compose [(map (^2)),(filter even)] :: (Integral a) => [a] -> [a]

という型になる。

ProductName プログラミングHaskell
Graham Hutton
オーム社 / ¥ 2,940 ()
在庫あり。

7章で感じたのはfoldr,foldlがさくっと出てきて戸惑うのと、関数合成がさらっと流しすぎなとこ。foldl,foldrは知っているのが前提なのかな?と思った。

SICPの1,2章でも読んでおけば違うかも。

ProductName 計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン,ジュリー サスマン,ハロルド エイブルソン
ピアソンエデュケーション / ¥ 4,830 ()
在庫あり。

関数合成は他の本を読みましょう。

8章はちょっと難しいので、次回は予習して臨む。