2012年4月27日金曜日

書類作成の一日

SDPA-C のアルゴリズムでよく分からないとこで行き詰ったので、今日は別の書類作成の方に時間を充てた。
書類の方はだいたい60-70%の仕上がりといったところか。

SDPA-C については、Cholmod をどこまで使えるかも把握しないといけないので、Cholmod の論文とユーザーマニュアルを再度チェックしておこうと考えている。

今日の作業内容:書類作成 5h
今日のランチ:大岡山食堂 モツ煮込み定食
明日の予測作業時間:4h



2012年4月26日木曜日

CVXOPT 下調べ

Sparse Cholesky ができる CHOLMOD を CVXOPT が使っている、ということで、CVXOPT のソースを読めば CHOLMOD の使い方が分かるかもしれない、と思い、CVXOPT をダウンロードしてみた。

結果から書くと、そんなに簡単には分からない。
理由はシンプルで、CHOLMOD にはすでに Python インターフェースがあり、CVXOPT はこのインターフェースを利用しており、C経由での利用ではなかった。
やはり、CHOLMOD のユーザマニュアルをチェックすることになりそうだ。

そういえば、Sparse Linear Equation の解き方について解説している動画が
http://www.cise.ufl.edu/research/sparse/SIAM06/
に置いてあった。
このあたりも参考になりそうだ。

今日の作業内容:CVXOPT チェック 2h + SDPA-C チェック 2h
今日のランチ:信華園 汐やきそば
明日の予測作業時間:5h




2012年4月25日水曜日

SDPA-C がだいぶ分かってきた

ここまで時間がかなりかかったけど、ようやく SDPA-C の基本的な計算式が分かってきた。

ただ、今度実装するときは、D を削除した形で実装をしたいので、そのあたりの計算式を確認しておく必要がある。
あと、cholmod など他のライブラリもどのようにどれだけ利用するのか、なども検討課題のひとつだ。

今日の作業内容:SDPA-C の確認 2h
今日のランチ:味庵 麻婆豆腐
明日の予測作業時間:3h


2012年4月24日火曜日

SDPA-C 6.2.0 の Debian でのコンパイル

SDPA-C のソースの確認を続けているが、やはり細かい動作などは実行して確認したほうが早いので、Debian 上でコンパイルをした。

Debian はパッケージが揃っているので、ATLAS, Metis, SPOOLES, libf2c については自分でコンパイルしなくても、apt-get で準備できることが分かった。

ただし、libcblaswr.a は CLAPACK からコンパイルする必要がある。また、ヘッダーファイルの一部も CLAPACK, ATLAS のソースから持ってくる必要があった。
それでも、ほとんどのコンパイル時間が必要ないのは便利といえば便利である。

今日の作業内容:SDPA-C チェック 2h
今日のランチ:つかさ かんぱちまかない丼
明日の予測作業時間:4h



2012年4月23日月曜日

タンパク質を勉強する動画

タンパク質の基本について、本でも勉強をしているが、Youtube に載っている動画も勉強になるものがある。

たとえば、
「Protein Structure and Function - Part 1」
http://www.youtube.com/watch?v=KH-LQSr7rHs
は、タンパク質の基本がまとまっている。
特に、日本語の本ばかりで勉強していると日本語で単語を覚えてしまうが、この動画は英語で説明されるため、英語でどのように単語が対応しているかの勉強にもなる。

ほかにも、
「PyMOLを使い倒す」
http://www.youtube.com/watch?v=CHDV40iPOmM
もPyMOLでタンパク質を表示する詳細が分かる。
ただ、化学の人向けなので、数理最適化の人が勉強するには情報量が多いかもしれない。

今日の作業内容:SDPA-C のソース確認 2h
今日のランチ:和泉庵 もりそばとミニカツ丼
明日の予測作業時間:4h


2012年4月20日金曜日

SDPA が testing に再登場

Debian の SDPA パッケージであるが、testing に再登場した。
結局 7.3.6, 7.3.7 は Debian で不具合があったためにすぐにバージョンアップしてしまったが、7.3.8 は比較的長い間、そのままで置けるのではないかと考えている。

あと、SDPA が testing に移行したので、
$ sudo apt-get install sdpa libsdpa-dev sdpam
とするだけで、SDPA の開発に必要なパッケージが自動的にインストールできるのが非常に便利である。

今日の作業内容:NMR の文献下調べ
今日のランチ:シッダルータ ベジタブルカレー
明日の予測作業時間:3h

2012年4月18日水曜日

STLの復習

今日は、あまり時間がとれなかったので、STL の復習に時間を利用しておいた。
SDPA-C を SDPA7 ベースにする際に、ある程度基本的な構造は STL でできるだけカバーするようにしたいと考えている。
そのほうがメンテナンスが簡単になるので、プログラムミスも起こりにくいはずである。

SDPA-C の場合、複雑なデータ構造を利用するのは前処理に集中している。
特に、aggregate sparsity pattern と extended sparsity pattern の構築である。
ただし、これらは一度構築すれば、あとは順番にアクセスするだけでもあるので、構築したあとは primitive なデータ構造にコピーしてアクセスした方が高速化できそうでもある。
つまり、複数のデータ構造を適宜利用することで、それなりに効率上昇を目指すということである。

ちなみに、チェックした本は、「STL標準講座」である。
一通りの使い方などが載っているので、ざっと目を通したりするときに便利である。

今日の作業内容:STL の復習 2h
今日のランチ:角笛 チキンステーキ
明日の予測作業時間:4h