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

2012年4月17日火曜日

3-connectivity の論文に目を通す

この前 I-Lin に送ってもらった 3-connectivity の論文に目を通した。
以前にプログラムとして組んでみた方法とは違う方法が書いてあって新鮮であった。

ただ、方法は面白いが、アルゴリズムの形ではまとまっていないので、論文の証明のステップを確認してアルゴリズムにまとめる必要がありそうだ。
あと、初期点の取り方に癖がありそうなので、このあたりも検討すべきことの一つか。

今日の作業内容:データ整理 2.5h + 論文読み 2h
今日のランチ:らく 焼き魚定食
明日の予測作業時間:2h

2012年4月13日金曜日

SDPA-C のソースを読み終わり

いくつかよく分からない点もあるが、とりあえず一通りは目を通すことができた。

実装としてコード数が多いのは、主に前処理の部分なので、このあたりをすっきりとするような処理にしたい。
あと、データ構造も重要になってくるので、どこまでは STL で代替できるのか、などを踏まえて検討したいと思う。

今日の作業内容:SDPA-C チェック 3h
今日のランチ:さか本 カレー丼膳
明日の予測作業時間:3h

2012年4月12日木曜日

ソースファイルの読み込み

今日は、またもや SDPA-C のソースファイルの読み込みの続きである。
いろいろと手こずっているが、どうやらリンクリストの構造をきちんと自分が読み込めてないのが時間がかかる理由のようだ。
このあたりは、STL のデータ構造で切り替えたほうが高速化できるかもしれないので、そのあたりは検討課題として考えたい。

あと、昨日うまく行ってなかった sourceforge は、今日になったら無事にダウンロードができるようになっていた。
反映されるまでに時間がかかったみたいだ。

今日の作業内容:SDPA-C 2h
今日のランチ:シッダルータ ベジタブルカレー
明日の予測作業時間:4h

2012年4月11日水曜日

SDPA Python インターフェース

以前につくってもらってあった SDPA Python インターフェースについて、メールで問い合わせがあったので、マニュアルなどをひとつの tar.gz にアーカイブしてダウンロードできるようにしておいた。
このファイルは SDPA の sourceforge のページ (http://sdpa.sf.net) にもアップロードしてあるのだが、sourceforge の不具合なのか、ファイルをダウンロードできない状態になっている。
ftp で確認した範囲ではアップロードされているので、そのうちに反映されると考えている。

URL は
http://sourceforge.net/projects/sdpa/files/sdpa-p/
であって、「Totals: 2 Items」となっているにも関わらず、ダウンロードできるアイテムがないのが不思議である。

今日の作業内容:SDPA-P 2h + SDPA-C 1h
今日のランチ:ちゅらさん タコライス
明日の予測作業時間:4h

2012年4月10日火曜日

SDPA-C のソースの確認を再開

10日ばかり間が空いてしまったが、SDPA-C のソースファイルの確認を再開している。
とりあえず、rsdpa_chordal.cpp と rsdpa_main.cpp が残っている山場なので、このあたりを理解しておきたい。
あと、SDPA7 ベースにするにあたって、どのあたりが効率化できそうか、というのも併せて検討しておきたい。

今日の作業内容:SDPA-C 3h
今日のランチ:味庵 ジャージャー麺
明日の予測作業時間:4h

2012年4月9日月曜日

Debian の大統一勉強会

いつも SDPA パッケージでお世話になっている方から、Debian 大統一勉強会の情報をいただいた。

URL は
http://gum.debian.or.jp/
にあって、6月23日に京都大学で開催予定となっている。

自分もまだまだ勉強途中なので参加したいところではあるが、スケジュールの関係で残念ながら少し難しいかもしれない。
参加できる人がいたら、ぜひともあとで話を聞かせてほしいところだ。

今日の作業内容:タンパク質勉強 2h
今日のランチ:らく 鶏の照り焼き定食
明日の予測作業時間:5h

2012年4月6日金曜日

Debian パッケージの続き

昨日に続いて、Debian パッケージの調整を行った。
今までは、CC,CXXで gcc などを指定しても octave の mkoctfile に反映されていなかったが、今度からはその部分が反映されるようになった。
これを mentors にアップロードしておいた。

他に査読のために論文を読んで、そのレポートを軽くまとめておいた。
こちらは、もう一度読み直して、そのあとで提出することになると思う。

今日の作業内容:Debian パッケージ 2h , 査読 4h
今日のランチ:味庵 麻婆豆腐
明日の予測作業時間:5h

2012年4月5日木曜日

SDPA 7.3.8 の準備

SDPA についてバグの報告などがあり、それを修正するために 7.3.7 から 7.3.8 にアップデートすることになった。
結局、7.3.6, 7.3.7 は Debian のバグ対応のバージョンとなっている。(7.3.8 もそうなる可能性もあるが。


今回の変更点は以下の通りとなる。
(1) gcc-4.7 で mex の部分がコンパイルに失敗する。
これは、変数スコープが4.7になると、より安全かどうかをチェックすることになっており、これまでのソースだと error となる個所がある。
そこで、/etc/apt/sources.list に
deb http://ftp.debian.org/debian experimental main
を追加した後、
$ sudo apt-get update
$ sudo apt-get -t experimental install gcc-4.7 g++-4.7 gfortran-4.7
として experimental にある gcc-4.7 をインストールする。
現状では、まだ unstable まできていないので、experimentalからインストールしている。
これで configure などに CC, CXX などで対応したので、特に問題なくコンパイルできることを確認した。

(2) octave3.2 から octave へ。
これは Debian のパッケージの変更に伴う修正で、debian/control の

octave3.2, octave3.2-common, octave-headers

octave, octave-common, liboctave-dev
に修正した。
3.2 というバージョンがなくなったので、今後はこのような修正がなくなるかもしれない。

(3) OpenBLAS から ATLAS へ。
これは逆戻りであるが、OpenBLAS は kfreebsd などに対応できないため、Debian の testing にはいることができない。
OpenBLAS のフォーラムを見たところでは、kfreebsd などへの対応はする予定がない、とのことだったので、Debian のパッケージとして使えるようにするために ATLAS に戻すこととした。

今日の作業内容:SDPA 2h
今日のランチ:サイゼリヤ ミートソースランチセット
明日の予測作業時間:5h