2009年11月30日月曜日

DONLP2 の下調べ

今日は、ほとんどの時間を DONLP2 の下調べに利用。ユーザマニュアルがあるにはあるけど、これが読みにくく苦戦。まだ、ソースの中身はチェックできていない。

あと、他にどんなソフトがあるのかも下調べ。有力そうなものは Ipopt というもので、COIN-OR の一部にもなっている。(Ipopt へのリンク)

ということで、明日は Ipopt をざっとみるのと、DONLP2 の詳細チェックになりそうだ。

今日の作業内容: DONLP2 チェック 5h
今日のBGM: FF12 OST [1,2,4]
今日のランチ: らく うな重
明日の予測作業時間: 3h

2009年11月27日金曜日

計算サーバチェック

今日は、計算サーバとしてどんなスペックがあったらいいか、を検討してみた。
すでに、大きなPCクラスタなどは他のところにもあって、似たようなのを目指すのは効率がよくないので、ここは思い切って、いろんな実験ができるようなものを探してみることにする。

たとえば、グラフィックスボードで BLAS の計算ができる、という CUDA は、名前は聞いたことのあるものの、実際に使ったことがないので、CUDA の BLAS を SDPA に組み込めたらどうなるか、などは確認してみたいところである。

今きがついたが、今日はうっかり DONLP2 を調べる時間を取ってなかった。これは、明日に回そう。


今日の作業内容: 計算サーバチェック 3h + 書類処理 2h
今日のBGM: Madlax OST [1-2]
今日のランチ: 味庵 かにとレタスのチャーハン
明日の予測作業時間: 3h

2009年11月26日木曜日

Python と convex な日

今日は、まず Mangasarian の本に目を通してみた。ひとつひとつの証明がなかなかに面白いのだが、全部読んでいるときりがないので、定理で言っていることだけを確認。それにあわせて、そもそも何でこの本を読んでいたかを確認。

もともとの動機としては、ある集合 F \in \Real^n に対して
$ W \in conv\{vv^T : v \in F\}$
が簡単に判断できるか?ということであった(のを思い出した)。もちろん、v \in F を判断するのと同じ程度か n 倍ぐらいの計算時間で判断できるのか?ということ。

これが案外難しいらしく、簡単には見つからない。Rockefeler の convex analysis, Hiriart-Urruty & Lemarchal の Fundamentals of Convex Analysis もチェックしてみたが、あまり重要なことは書いていない。ただ、Caratheodory の定理は、使い道があるかもしれない。

あと、今日は Python について、少し調べてみた。
CVXOPT と CHOMPACK というソフトがあるようで、特に CHOMPACK は sparse Cholesky factorization ができるということが書いてあるので、要チェック。ただし、両方とももちろん Python な感じである。そうそう、CVXOPT は Ubuntu では標準パッケージがあった。SDPA にも Ubuntu のパッケージがあったらいいかもしれない。

そういえば、今日は DONLP2 が進まなかったので、明日もうちょっと確認してみようと思う。

今日の作業時間: Mangasarian チェック 3h + Python チェック 1h + その他 1h
今日のBGM: Macross F OST [1-2], Chrono Trigger OST [1-3]
今日のランチ: いろは 豚アスパラチーズ焼き
明日の作業時間予測: 6h

2009年11月25日水曜日

TSUBAME見学と DONLP2

今日は、午前中に TSUBAME の見学をさせてもらうことができた。ラッキーである。

普段はネットワーク越しにログインしているだけなので、実際にどんな風になっているのかはコマンドラインからだけではよく解からなかった。見学をしてみて、各ノードに貼ってある各ノードの番号を示す小さなシールを見ると、自分がログインしているノードに似たような番号が貼ってあって、「おぉ、やっぱり本物だ」という感慨があった。
ファンが回っているので、騒音が大きく長時間滞在できるわけではないが、こうやって実際のノードを見てみるというのも大事なことだと改めて思う。

そのあと、いろいろと話を聞いたけど、
DONLP2というソフトは勉強になるようなので、明日あたりもう少し詳しく調べてみたい。
DONLP2へのリンク
ただ、DONLP2 は AMPL をインターフェースの一種として使っているので、AMPLについても勉強が必要だ。
AMPLへのリンク

ほかに今日得た知識では、
  1. QAP には、positive definite と negative definite に分けるという今までと違った定式化があって、これはひょっとしたら調べる価値があるかもしれない
  2. kissing number は SDP 緩和で近似解が求まる(ただ、詳しい定式化は確認しなおしたほうがいい)

などなど、今日はとても勉強になった。

今日の作業時間: DONLP2 チェック 2h
今日のBGM: なし
今日のランチ: シッダルータ シーフードカレー
明日の予測作業時間: 6h

2009年11月24日火曜日

PDSDPのコンパイル

今日は、PDSDP のコンパイルをしてみた。久しぶりのコンパイルだったので、なかなかてこずったけど、ソースを微修正してコンパイルを成功した。やはり、メンテナンスされていないので、細かい綻びがある。で、ちょっと解いてみると、SDPARA, PCSDP に比較するとかなり遅い。dual interior-point method だと primal-dual interior-point method のようにスピードが出にくいようだ。

あと、連休の間に他の研究内容に関係ありそうな論文をチェックした。
On the Minimum Volume Covering Ellipsoid of Ellipsoids, SIAM Journal on Optimization, 17(3) , 621-641, 2006

やっている内容は面白いんだけど、証明などに一部きちんとできていないところがある。
とりあえず、明日はMangasarian の本を読むのを進めたほうがよさそうだ

SDPA の論文は、一通り校正が終わったので、これで他の人の校正をお願いしたところ。ついに終わりが見えてきた(という気が、個人的にはする)。

今日の作業内容: PDSDP コンパイル 2h + SDPA 論文校正 2h + 計算機不具合解消 1h
今日のBGM: FF7 Reunion, ARIA the Animation, ARIA the Natural, ARIA the Origination
今日のランチ: さか本 ねぎとろとろろ丼
明日の作業時間予測: 3h

2009年11月20日金曜日

ディスカッション

今日は、英語でのディスカッションをしてみた。研究内容になると英単語のボキャブラリが狭くなるので、かなり楽にはなるけど、英語についてはまだまだ改善の余地が大きい。

教えてもらったことの要点をまとめておくと、
  1. CPU の cache size は性能に大きく影響するので、計算時間予測に使ったほうがいい。(SDPT3はひょっとしたら cache size を考慮しているのかも)
  2. 似たような研究をしている人に、数値結果を送れば興味を持ってくれるので、連絡してみるのがいい。
  3. どういった問題が並列計算に向いているか気がついたら、改めて教えてくれる、とのこと。
英語は大変だったけど、とってもためになった。

今日の作業内容: ディスカッション準備 2h + ディスカッション 1.5h + その他雑多 1h
今日のBGM: Madlax OST [1]
今日のランチ: たちばな シマアジ丼
明日の予測作業時間: 3h

2009年11月19日木曜日

お迎え

今日は、朝一に品川までお迎えに行ってきた。そのあと、一緒に職場まで移動して勤務開始。
ただ、そのおかげで雑多なことが思っていた以上に発生したので、今日は論文探索しか進んでいない。

今回読んでいた
Support Vector Data Description, Machine Learning, 54, 45-66, 2004
に元になっている論文があるというので、この作者の論文をチェックする。
Support Vector Data Description, Proceedings of the Fifth Annual Confenrence of the ASCI, 398-405, 1999
これにも元になっている論文があるというので、さらに孫引。
Data domain description using support vectors, the special issue of Pattern Recognition Letters, proceedings of Pattern Recognition in Practice VI, 1999

ただ、これらの内容はかなり似ていて、どうやら下2本の会議の内容を論文として投稿したのが1本目のようだ。
ということで、1本めの論文で、もう一個重要だと書かれていた論文を明日チェックすることにする。

ちなみに、作業として残っているのは、
1. 論文探索 2. 論文校正 3. Mangasarian の本をチェック
といったところ。

今日の作業内容: SVDD チェック 2h + 雑多な仕事 2h
今日のBGM: 電脳コイル OST [1-2]
今日のランチ: らく うな重
明日の作業時間予測: 4h

2009年11月18日水曜日

Quantum Control の Survey

昨日見つけた論文、
Support Vector Data Description, Machine Learning, 54, 45-66, 2004
を昨日の夜から読んでいたところ、前半がかなり面白くて、ついつい読み込んでしまった。
すると、今日はなんかだるかった。やっぱり、ちゃんと体力を考えて読まないとダメだ。

あと、前半はおもしろかったけど、後半の数値実験はあまり馴染がなく、さらっと目を通しただけになってしまった。とりあえず、参考文献から重要そうな論文を3つ探したので、これを明日はインターネットで探してみよう


あとは、ちょっとしたメモだけど、Quantum Control の survey が SIAM Review に載っていて、これも時間があるときに目を通しておきたい。SDP との関係性もあって、なかなか楽しめる。

A Discrete Invitation to Quantum Filtering and Feedback Control, SIAM Review, 51(2), 239-316, 2009

今日の作業内容: SVDD 2h + 品川調査 1h
今日のBGM: なし(仕事がこまごまとしたのがあって、聴いている時間が取れず)
今日のランチ:シッダルータ マッシュルームとじゃがいものカレー
明日の作業時間予測: 3h

2009年11月17日火曜日

SDPA の論文の調整の続き

今日は、朝起きて1番で SDPA の論文の調整の続きをした。これで、abstract, intro も修正をして、一通りバランスが取れた形になった。あとは、他の方からの merge を確認して、最終的な調整に入る予定。

あと、「カーネル多変量解析」(岩波書店)にざっと目を通したので、重要なところをメモしておく。
  • ISOMAP 多様体あてはめ (SDP の解法は多様体に大きく依存しているので、関係が高い可能性あり)
  • LLE[Locally Linear Embedding] (局所的なあてはめを多様体でなめらかにつなぐ方法)
  • 独立成分分析(これは解の存在範囲を抑えられたら、面白そう。その場合には、量子化学の PSE とも関係あり。)
  • カーネル独立成分分析
  • カーネルの構成方法や種類は他の本や論文と同じ一般的なもの
  • (この本の再生核ヒルベルト空間の証明は、他に載っているのと比べるとやけに難しく書いてあるので、証明自体は他の本を参考にしたほうが良い、という印象もあり)
カーネルを勉強する上で、全体的によく書けてはいると思う。

あと、一番気になったのは、サポートベクター領域記述法(Support Vector Data Description) [P109]で、これは今やっている内容にかなり近い明日は、これの代表的な論文をチェックすることにする。

今日は Mangasarian が進まなかったので、そちらも進めないと。

今日の作業内容: SDPA論文チェック 2h + 論文校正 2h + カーネル多変量解析 2h + 部屋の準備 1h
今日のBGM: NOIR OST [1-2], FF7 OST [1,2,4]
今日のランチ: 角笛 ディアボラ風ハンバーグ
明日の作業時間予測: 5h

2009年11月16日月曜日

SDPA の論文の調整

今日は、あまり時間が取れなかったけど、SDPA の論文の調整を行った。今まで色がついていたところを外して、地の文にしたり、著者の情報をいれたりした。明日は、これに一通り目を通すことにしよう。

あと、
「カーネル多変量解析」(岩波書店)
が手元に来たので、これも時間を見つけて目を通したい。
でも、Mangasalian も読まないといけない。

とりあえず、明日は時間があるので、頑張れそうだ!。

今日の作業内容: SDPA の論文の調整 2h
今日のBGM: Madlax OST [2]
今日のランチ: 信華園 豚キムチ麺
明日の作業時間予測: 5h

2009年11月13日金曜日

量子化学と RKHS

今日は、dual の方を一休みして、「量子化学とRKHS」の論文をチェックした。これは、なかなか面白い内容だ。うまいことすると SDP になるかも知れないので、もう少し時間を置いて、練ってみることにしよう。

あと、dual の方でチェックする本のメモ。今回チェックしているのは、
Nonlinear Programming, Ovil Mangasarian, McGraw-Hill Book Company, 1969
という本。凸解析や非線形計画の最適性条件などがまとまっていて、読みごたえがある本(のように見える。まだ詳しく読んでないので、確定的には言えないけど)

そういえば、金曜日の午後になると、いまひとつ集中力があがりにくい。週の疲れが出てくるのかもしれない。集中力を切替えられるような作業を考えることにしよう。

明日は dual の条件を確認していこう。

今日の作業内容: 量子化学と RKHS 4h
今日のBGM: Madlax OST 1
今日のランチ: らく 焼魚定食
明日の作業時間予測: 4h

2009年11月12日木曜日

dual の続き

今日、もう一回 dual の dual を取ってみた。やはり、微妙な条件で違いが出るようで、完全には primal に戻らなかった。たぶん、逆行列が存在しないときにずれが生じているようだ。

ただ、有限個の点、という簡単な状態にして計算したので、どういう形として出てくるべきか、が見通しが立ったのは大きい。ここからあとは、
  1. Wolfe の dual
  2. Farkas の Lemma
  3. Separation Theorem
をチェックしてみて、有限個ではなく一般の凸集合になったらどうなるかを考えてみる。明日は、きっと一般的な dual の作り方の勉強になるはず。

あと、今日はいろんな作業が入ってしまい、量子化学の勉強は進まず。こちらは、もう少し時間をとって頑張ろう。

今日の作業内容: dual の勉強 2h + こまごまとしたこと 1h
今日のBGM: FF10-2 OST [1-2]
今日のランチ: 四川 回鍋肉定食
明日の作業時間予測: 6h

2009年11月11日水曜日

裏の裏が表にならないのはなぜ?

昨日のつづきで、convex hull での計算。これの dual をとって dual をもう一度取ると、元の問題に戻ると思いきや、案外戻ってこない。

どうして?

とりあえずTeXに数式だけまとめたので、明日もう少し考えてみることにしよう。

あと、量子化学の論文は今日は結局チェックできなかったので、これも明日の作業

今日の作業内容: QOP 6h
今日のBGM: SKY OST [1-2], FF10 OST [1-4]
今日のランチ: 味庵 明太子レタス炒飯
明日の作業時間予測: 2h

2009年11月10日火曜日

半正定値と正定値はまるで違う!

昨日までチェックしていた論文で、凸集合で証明してある内容を、ある点の集合の convex hull に置き換えた場合にどうなるか確認してみた。
当然ながら証明としては成り立つわけだけど、半正定値と正定値で証明の簡単さがまるで違う。やはり、正定値は逆行列が存在する、というのは非常に強力である。明日は、これをもうちょっと一般的な形で検討することにしよう。

あと、SDPAの論文にある SDPA6 との比較の数値実験は終了。今日のうちに TeX に入れておいたので、これでOK。

今日の作業内容: SDPA 論文 1h + QOP 4h
今日のBGM: 娘フロ,娘トラ,FF8 OST [1,2,4]
今日のランチ: 角笛 チキンガーリックソテー
明日の作業時間予測: 8h (結構あるなぁ)

2009年11月9日月曜日

survey のチェックのつづき

まず、SDPAの論文の実験は、現在コンピュータが頑張っているので、明日またチェックをする。予定としては、明日の朝4時ごろには終了するはず。
他に別の論文の校正を行った。これは、一通り校正をしたので、すぐに次の作業は発生しないはず。

あと、kernel についての survery の論文をチェックした。これは、後半は確率的なモデルに突入してしまっていたので、そのあたりは素通りした。kernel についての調査はこれくらいで十分かもしれない。
他に調べてみたもので、One Class SVM というのが、いまやっていることに近いのではないかと思い、筑波大学の修士論文に書いてあったので、軽く目を通してみた。[ここにPDFへのリンク]
結果がどうなるかを rough に知るために、Matlab + Sedumi でシンプルなものを組んでみたが、やはり原点から最小の距離となる点が出力されてしまう。おそらく、確率を考慮しない状態では、あまり面白い結果にはならないようだ。
ただ、nu-SVM の概念は、今後使えるかもしれないので、取っておこうと思う。

今日の作業内容: kernel 論文検索 2h + 論文校正 1h + One Class SVM 3h + その他いろいろ 1h
今日のBGM: なし
今日のランチ: シッダルータ マッシュルームとチキンのカレー
明日の作業時間予測: 6h

2009年11月8日日曜日

論文チェックの続きの続き

今日は、論文チェックの続きの続きを進めてみた。

チェックしたのは、
  • A tutorial on kernel methods for categorization,Journal of Mathematical Psycology,51,(2007),343--358

で、これは、心理学の雑誌での kernel methods の survery。全体的な構造を見渡すことができるので、初めて kernel の勉強をするのに向いている
もうひとつは、

  • Variational reproducing kernel Hilbert space (RKHS) grid method for quantum mechanical bound-state problems, Chemical Physics Letters, 28, (1998), 719--726

で、こちらは量子力学関係にどう使われているか、というもの。Appendix を見ると、kernel と density matrix が似たような数式になっていて面白い。これは、案外使えるのかもしれない。

あと、kernel の survey で比較的新しいのとして、

  • Kernel methods in machine learning, The Annuals of Statistics, 36(3), (2008), 1171--1230

これは、最初の論文に「この本が kernel については詳しい」と書かれていた著者が2008年に書いたもので、その本が2002年発刊なので、それよりも新しい情報ではないかと思う。

とりあえず、後半が残っているので、後半を明日読むことにする

あと、SDPAの論文の数値実験は、sdpa6.2.1が一部きちんと解けていなかったことに気がついたので(BroydenTri800はsdpa6.2.1だとメモリ関係で異常アクセスしているようだが、これがきちんと処理されずに間違った計算を続行しており、Cholesky 分解でその計算間違いが発見されるようだ。)、先ほどから 600と700に変更してもう一度解くことにしている。明日の午後にもう一度結果を確認することにする。

今日思うに、kernel はやっぱり奥が深い。まだまだ勉強しがいがありそうだ
あと、日曜日は午後に集中力が落ちやすいので、パッと始められるようなものもあわせておこう

今日の作業内容: RKHS論文勉強 3h + SDPA実験チェック 1h
今日のBGM: なし(ちょっと休みたかったので)
明日の作業時間予測: 7h

2009年11月6日金曜日

論文チェックつづき

今日は、論文チェックのつづきをしてみた。ただ、maximal clique のところがよくわからないので、週明けにこれをチェックしよう。

あと、RKHS の論文は、量子化学のものが結構面白そうなので、これを読み込んでみることにする。量子化学の部分が難しそうだけど、これはなかなかにおもしろそうかも。

SDPA の論文の数値実験は、mater-6 を mater-5 に変更。mater-6 は SDPA 6.2.1 の場合には、int が 32bit という制約にひっかかって正確に解けないことが判明したため。他の部分は一通り TeX にいれたので、6と7の比較が終わったら(日曜日かも)、TeX に入れよう。ちなみに、自動的にメモリ使用量を記録するシェルスクリプトを作ったので、実験がかなり楽になった。

あと、サポートベクターマシーンの kernel を多項式にすると POP になる可能性もあり


うん、今日もいろいろと勉強できた。明日も頑張ろう。

今日の作業内容: SDPA数値実験 1h+ RKHS確認 2h + 論文チェック2h
今日のBGM: なし(耳を休ませるため)
今日のランチ: 角笛 ハンバーグランチ
明日の作業時間予測: 3h

2009年11月5日木曜日

計算時間、間違った

SDPAの論文用の実験のひとつで、SDPA-6.2.0で9時に始めた実験が、15時ですでに終わっていたが、計算時間を確認すると、なんと 80,000 秒を突破。一日が 86,400 秒しかないので、こいつはおかしい、と思ったら、マルチスレッドの部分の合計時間を出してきたみたいだ。ということで、これを再実験しなおしているので、明日のうちに実験結果を確認する。


あと、RKHS については、論文探索を続行したところ、どうやら量子化学のエネルギー準位のプロットに使われているようだ。いまひとつ、この論文の重要性が判断しかねるところだが、いくつか他にも有益な情報がありそうなので、もう一度詳細を確認しよう。

他に、論文チェック。こちらは、途中でよく解からないところがでてきたので、具体例で考えてみることにしよう。

今日の作業内容: SDPA実験0.5h + RKHS 探索 2h + 論文チェック 1.5h
今日のBGM: FF10 OST[1-4]
今日のランチ: らく 焼き魚定食
明日の作業時間予測: 6h

2009年11月4日水曜日

RKHS 論文探索

SDPA の過去バージョンとの数値実験はさっき mater-4 が解き終わったところ。これはversion2.0と比較すると劇的な差が出て面白い。ただ、version 3.0 がなぜか解いていないので、これを明日解きなおす。あとは、SDPA-6 との比較の問題も時間を見て解くことにする

今日のメインは、RKHS論文探索。Reproducing Kernel Hilbert Space で検索したら、470 件もヒットしてしまったので、タイトルをみて重要そうなものだけを順にみてみた。ただ、これだけでも30件程度。さらにその中から 10 件程度はダウンロードして、さらに重要そうな5件だけは印刷してみた。
470件もチェックしてわかったことだが、Journal of Chemical Physics に掲載されている論文がいくつかある。これは、案外面白いことだ印刷した5件は、後でざっと目を通すことにする

他には、論文チェックをした。

今日の作業内容: 論文探索3h + 論文チェック1h+メール処理0.5h
今日のBGM: Madlax OST [1-2], かぜよみ, 黄泉がえり OST
今日のランチ: 信華園 カレー両面焼きそば
明日の作業時間の予測:4h

2009年11月3日火曜日

700倍も高速化されてた

今日は、まず、再生核ヒルベルト空間の survey の残りをチェック。やはり、ヒルベルト空間とかの性質ばかりで、あんまり他のところには応用がきかなそうなので、さくさくとチェックして終了。再生核ヒルベルト空間自体の性質は非常に強力ながらも、あまり応用には興味がなかったようだ。ただ、この論文、1950年のものなので、これ以降に応用について整理されたものがある可能性が強いので、それについても調べてみよう。それほどの論文が見つからなければ、さっくりと別の方向へと行こう。

あと、SDPAの論文用に数値実験。version 2.0.1 から始まって、最新の 7.3.1 でどのくらいの高速化ができているかを確認。mater-3 で確認すると、実に 700 倍程度の高速化が達成されていることがわかる(PCは同じなので、ソフトの違いのみ)。これで、mater-4,5,6 についても実験しているので、明日にでも確認をしてみる。

今日の作業内容:再生核ヒルベルト空間1h+SDPA数値実験1h
今日のBGM:なし
明日の作業時間予測:5h

2009年11月2日月曜日

再生核ヒルベルト空間つづき中

今日は、午前中に SDPA の論文の 4,5 章をチェック。だいたい 1.5h かかっているけど、これはもうちょっと短縮できるかもしれない。

あと、再生核ヒルベルト空間の勉強を続けてみた。
どうやら、量子化学と対応させると、Gram matrix が reduced density matrix で、再生核が Hamiltonian と関係しているらしい。
細かい証明は外して読んでいるのでそれなりに進んでいて、いま 368 ページだが、この論文はやはりヒルベルト空間の内容なので、それを他のところにどう使えるか、という視点があまりない。
明日のうちに目を通して、どう使えるのかをピックアップしてみよう

今日の作業内容: SDPA論文 1.5h + RKHS 2h + 雑多なこと 2h
今日のBGM: EVA OST [1-3]
今日のランチ: 味庵 黒酢の酢豚
明日の作業時間の予測: 5h

2009年11月1日日曜日

再生核、むずかしいなぁ

今日は、結局再生核ヒルベルト空間の簡単な性質を確認するのに手間取って、あまり進まず。
SDPA の論文チェックは明日に回そう

で、示すのがうまく行かなかったのは、K(x,y) と K(y,x) が複素数の共役になっているということ。Mercer の定理を使えば簡単に解かるのだけど、それを使わなくても示せるはずで、ここでこけてしまった。

今日の作業内容: RKHS 3h
今日のBGM: ワールドシリーズ第3戦 3h

明日の作業時間の予測: 4h