2010年5月31日月曜日

発表準備と原稿校正

今日は、午前に発表準備と午後に原稿の校正。

発表準備は PowerPoint という今まで使い慣れたものに戻したので、ある意味楽になった。
前半の構成はだいたいイメージが固まったので、あとは実際に作りこんでいくところ。
テキパキと進められるので、結構楽しかったりする。

原稿の校正は、思っていた以上に文章を忘れているところがあったので(一部は他のひとに校正してもらっているので、自分の文章ではないところもあるが)、時間を開けて読んでみるともうちょっと校正をしたいところもある。
ただ、この原稿は〆切が近付いているので、大幅な校正は難しいと考えている。

今日の作業内容:発表準備 2h + 原稿校正 4h
今日のBGM: MADLAX OST [1-2], FF8 OST [1-2]
今日のランチ:シッダルータ チキンカレー
明日の予測作業時間:6h

2010年5月30日日曜日

OpenOffice の emacs バインディングへの挑戦

昨日ダメだった OpenOffice の emacs のバインディングであるが、結論から言うと

Writer ではできるけど、Impress, Draw ではできない。

ということが解かった。

まず、第一にキーカスタマイズされた情報は、Ubuntu 10.04 の場合
~/.openoffice.org/3/user/registry/data/org/openoffice/Officeにある
Accelerators.xcu に格納されている。

この中身は





















のように格納されている。
(xml がうまく入力できないので、画像で貼り付け)

ここで、Writer については、F4 で左に移動できる。これを CtrlB に割り当てれば左に移動することは難しくない。(実際に、CtrlB で移動できる)
しかし、Impress の場合、com.sun.star.presentation.PresentationDocument が .uno:GoLeft を扱えないため、上のように書いてもShift + F8 で左に移動できない。(なお、.uno:GoLeft を .uno:HelpIndex にすると、ヘルプを呼び出せることから、PresentationDocument に.uno:GoLeftなどの機能が実装されていないと予想できる。)

なお、Impress, Draw は Accelerators.xcu を突発的に勝手に初期化してしまう、というバグが含まれているようなので、注意が必要である。そのときには Writer についての設定も消されてしまう。


これ以上 OpenOffice に時間をかけるわけにもいかないので、これまでどおり PowerPoint で資料を作成することにしよう。

今日の作業内容:OpenOffice チェック
今日のBGM: everywhere [1]
明日の予測作業時間:6h

2010年5月29日土曜日

OpenOffice じゃダメだった

発表資料を今までは PPT で作っていたので、それを Linux でできるようにしてみようと考えてみた。

[1] まずは、tex ベースのbeamer を検討。
数式はきれいに出せるのだが、絵でアニメーションをするのが手間がかかりすぎるようだ。
グラフで x 軸 y軸を書いた後に、点をいくつか打ちながらそれぞれで説明できるようにしようとすると、eps を何枚も用意する必要があった。今回は10個以上を追加するので、煩雑になってしまう。
アニメーションによって、いかに理解しやすいものを作れるかを認識できた。
ただし、絵自体は inkscape を使えば、かなりきれいに書くことができる。

[2] 次に OpenOffice の oolatex を検討。
oolatex は、以前はまったく使い物にならなかったが、だいぶ改良されたようで、使い物になるレベルまで来ている。
なお、oolatex では latex, dvips コマンドが用いられるが、これを platex, dvipsk に変更するには、
$ cd /home/User1/bin
$ ln -s /usr/bin/platex .
$ ln -s /usr/bin/dvipsk .
として、oolatex の configure で latex のあるパスを /home/User1/bin にすればよい。
(と思うが、Ubuntu 10.04 では dvipsk がまだ準備されていないので確認できていない。)

これで、かなりいけるかと思ったが、OpenOffice では emacs キーバインディングができないことが判明した。
タッチタイピングをしているときに十字キーを入力するのは難しいので、OpenOffice では長時間の作業は難しいと判断した。
ちなみに、OpenOffice のキーバインディングは Gnome のキーバインディングよりも優先されてしてしまうので、細かい制御ができない。
なお、OpenOffice のなかでも Writer ではマクロの記録ができるので、Ctrl-F などをひとつひとつマクロにしてキー割当を行なえば Writer なら emacs バインディングに変更できる。
ただし、このマクロを Impress に持っていっても機能しない。
どうやら Impress ではマクロは有効にならないときがあるらしい。
また、LXDE で oolatex をインストールしたあとに、GNOME で Impress を起動すると oolatex がインストールされていない状態になっている。
これはたぶんバグなのであろう。


やはり、発表資料については、これまでどおり Powerpoint で作ろうと考えている。

今日の作業内容:beamer 2h + OpenOffice 2h
今日のBGM: FF12 OST [1-4]
明日の予測作業時間: 4h

2010年5月28日金曜日

量子化学の定式化のさらに続き

今日は、あまり時間がとれなかったが、量子化学の定式化の気になったところを TeX でまとめてみた。
1RDM と、その生成作用素・消滅作用素を入れ替えた行列との関係性がいまひとつ怪しい(transpose がひとつ余計な気がする。)
もう少し調べてみよう。

あと、SDPARA の原稿も校正を始める必要があるので、一度プリントアウトして、明日の午前中にでもチェックしようと思う。

今日の作業内容: 量子化学 2h + SDPARA 関係 1h
今日のBGM: FF5 OST [1-2]
今日のランチ: 東急ストア サラダひじき,ざるラーメン
明日の予測作業時間: 4h

2010年5月27日木曜日

量子化学のT1,T2,T2'

今日は、量子化学の定式化をもう一度考えてみた。
1RDM と 2RDM は群による作用は同じかと思っていたが、かなり違う動きをすることが解かった。
ここ2,3日で考えていたアルゴリズムは再検討の必要がある。

あと、T1,T2,T2' などは、
J. Chem. Phys. 128, 164113 (2008); doi:10.1063/1.2911696
http://jcp.aip.org/jcpsa6/v128/i16/p164113_s1
に詳しく載っているが、T1,T2,T2' は 3RDM の半正定値条件の一部になっていることに気がついた。
つまり、T1 などは 3RDM の特殊な小行列を持ってきている
したがって、これらの条件については 3RDM で数式を作っておいてから確認するほうがよさそうだ。

今日の作業内容:量子化学 3h
今日のBGM: FF10 OST [1,2,4]
今日のランチ:らく 焼魚定食
明日の予測作業時間: 3h

2010年5月26日水曜日

アルゴリズム実装

量子化学の問題について、昨日考えたすっごくアバウトなアルゴリズムを Matlab で実装。
やはり、問題の構造が簡単な 1RDM だと解ける。
これが2RDMにも適用できるかどうかが問題か。

あと、他の人にお願いして、この問題が star-algebra でできるかを確認してもらった。
結果的には star-algebra の分解は効かない問題だと解かった。
別の群が必要なようだ。

とりあえず、2RDM にもそのまま拡張できるか、考えてみる。

今日の作業内容: 量子化学 3h
今日のBGM: マクロスF OST [1-2], FF5 OST [1-2]
今日のランチ: 味庵 海鮮トムヤンクンフォー
明日の予測作業時間: 3h

2010年5月25日火曜日

量子化学の定式化のもっと続き

先週の続きで、量子化学のSDPをどうやって解くか、という話。
1RDM のSDPは、とても簡単に解ける(内点法も必要ない)ので、これがどうしてそんなに簡単に解けるのか考えている。

とりあえず、1RDM を解けそうなアルゴリズムを考えてみた。
すっごくアバウトなアルゴリズムなので、頭文字を取って SA アルゴリズムとでもしておこう。

明日は、これを Matlab で実装してみることにしよう。
(もちろん1RDMなので、正確なアルゴリズムでなくても解けてしまうよう危険性もあり。)

今日の作業内容:量子化学の SDP 6h
今日のBGM: マクロスF OST [1-2], FF6 OST [1-3]
今日のランチ: シッダルータ ほうれんそうとチキンのカレー
明日の予測作業時間: 3h

2010年5月24日月曜日

lxde on ubuntu と dvipdfmx のエラー回避

Ubuntu10.04 を LXDE で動かすとかなり速い。
ログイン画面からの起動がGnome の数分の1程度になる。

Gnome が要らない場合は、Ubuntu10.04 を server edition でインストールすると Openoffice なども入らず、軽量化できる。
しかも、Firefox などの Web ブラウザも入っていないほど軽量化できる。

[1] Ubuntu server edition をまずはインストール
[2] http://www.ubuntulinux.jp/products/JA-Localized にある
 [Japanese Teamによる追加パッケージの利用方法]の2番 を参考に日本語化する
[3] apt-get install -y lxde lxdm
[4] dpkg-reconfigure lxdm
[5] 再起動でX11が起動し、ログインできる
[6] Firefox などをインストールする

server だけで 1.5GB
vmtools をインストールすると2GB (apt-get install build-essential が前もって必要)
emacs, tex をインストールすると 3GB
という感じで HDD が消費される。

ただし、lxde は軽い分、できることが制限されている。
たとえば、
[1] デスクトップのアイコンを表示しないようにできない
[2] タスクバーにある lxpanel のフォントを変更できない
などがある。
これらが気にならないのであれば、lxde はかなりお薦めである。

あと、Ubuntu で dvipdfmx を実行すると、

** WARNING ** Failed to load AGL file "pdfglyphlist.txt"...
** WARNING ** Failed to load AGL file "glyphlist.txt"...
** ERROR ** Could not find encoding file "H".

が表示されて PDF が作成できないのであるが、以下のスクリプトを動かすとこれらのエラーをクリアできる。

#!/bin/sh

mkdir -p ~/.texmf-var/fonts
ln -s /usr/share/fonts/cmap ~/.texmf-var/fonts/cmap
cd ~/.texmf-var
wget http://w32tex.org/current/dvipdfm-w32.tar.bz2
tar xjf dvipdfm-w32.tar.bz2 share/texmf/fonts/map/agl/glyphlist.txt
tar xjf dvipdfm-w32.tar.bz2 share/texmf/fonts/map/agl/pdfglyphlist.txt
rm -f dvipdfm-w32.tar.bz2

参考にしたのは、
http://krakenbeal.blogspot.com/2010/05/dvipdfmxpdferror.html
である。

今日の作業内容:Ubuntu 6h
今日のBGM: EVA OST [1-3]
今日のランチ: つかさ 〆鯖
明日の予測作業時間:6h

2010年5月21日金曜日

量子化学の定式化の続き

今日は、あまり時間が取れなかったが、量子化学の定式化の続きを考えてみた。
一番簡単な例で、しかも対角行列(実質LP化)のみで考えてもみたけど、うまく行かないことがわかった。

ただ、量子化学のSDPの制約というのは、特殊な形をしているので、それを使うと F3 の計算式が高速化できる?ようなことも気になっている。

今日の作業内容: 量子化学定式化 2h
今日のBGM: スカイ OST [1-2]
今日のランチ:東急ストア サラダうどん
明日の予測作業時間: 4h

2010年5月20日木曜日

量子化学の定式化

今日は、量子化学の定式化について考えてみた。
ただ、一筋縄ではいかないようで、なかなかに難しい。

SDP に定式化したときに、SDPとして簡単に解くことができるクラスのSDPに定式化できるか調べているが、これがうまくいっていない。
ただ、まだ完全に調べつくしたわけではないので、もう少し調べてみようと考えている。

今日の作業内容: SDP 定式化 3h
今日のBGM: Destination, everywhere [1-2]
今日のランチ: たちばな スズキ
明日の予測作業時間: 2h

2010年5月19日水曜日

逆行列の微分

今日は、事務作業に結構手間取ってしまい、論文読みが2時間だけだった。
事務作業は、もうちょっと効率的に行えるように検討しよう。
あと、午前中の集中力がいまひとつなので、ここも改善の余地ありだ。


読んだところでは、逆行列の微分が出てきていた。行列 X^{-1} の微分は、
X * X^{-1} = I を両辺微分して、
X' * X^{-1} + X * (X^{-1})' = O から
(X^{-1})' = -X^{-1}*X'*X^{-1}
である。

だんだんと理解できるようになってきたので(ここまで2ヶ月かかっているが)、もっと時間を割り当てるようにしよう。

あと、この前採択された会議の原稿の最終版を提出しておいた。

今日の作業:論文読み 2h
今日のBGM: FF9 OST [1-4]
今日のランチ: 角笛 ミックスフライ
明日の予測作業時間: 4h

2010年5月18日火曜日

量子化学の生成方法、整理

今日は、昨日教えてもらった量子化学の生成方法を整理した。
まず、ファイル群を整理して、プログラム中の内容を絶対パスから相対パスに変更した。

昨日はUbuntuであったが、RHEL だと mpqc などのパッケージがないので、それをインストールするところから始める。

特に、mpqc のコンパイルは、一度失敗したときに make distclean を実行しても初期状態に戻らないので、tar.bz2 を展開しなおしたほうがいい。(いくつかの .d ファイル[ipv2.d,ref.dなど]が見つからない、といったエラーにおちいる)


(1) dump.mol のコンパイル
RHEL だと libsc-dev パッケージがないので sc-config が動かない
mpqc をダウンロードしてきてインストールする
$ tar xjf mpqc-2.3.1.tar.bz2
$ cd mpqc-2.3.1
$ ./configure --prefix=??? --with-f77=gfortran
$ make
$ make install install_devel

install_devel で sc-config コマンドが作成されるようだ。
sc-config にパスを通すこと
また、yum install blas blas-devel lapack lapack-devel をしておく。
このあと dump.mol のコンパイル

$ cd bin/dump.mol-src
$ make clean
$ make dump.mol
$ make install


(2) octave のインストール
$ sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
$ sudo yum install octave.x86_64

これで、dmvt の中のパスを修正すると dmvt が実行できる
(ただし、現在は相対パスにしたので、修正の必要なし)

(3) LAPACKPP のインストール
$ wget http://sourceforge.net/projects/lapackpp/files/lapackpp/2.5.3/lapackpp-2.5.3.tar.gz/download
$ tar xzf lapackpp-2.5.3.tar.gz
$ cd lapackpp-2.5.3
$ ./configure --prefix=???
$ make
$ make install

(4) analyze のコンパイル
$ cd bin/analyze-src
$ make LAPACKPP_BASE=/usr/local
LAPACKPP_BASE は LAPACKPP の --prefix にあわせて変更
$ make install


ここまでしておいて、以下のようなシェルスクリプトで一括実行している。

TARGETNAME=Be.1S.STO6G
#TARGETNAME=B.2P.SV
NREP=pqg
#NREP=pqgt1t2p
cp ../data/$TARGETNAME.scf .
cp ../data/$TARGETNAME.inp .
rm -f ../bin/sdprobgen/*.{eri,eri_tmp}
../bin/dump.mol $TARGETNAME.scf | tee $TARGETNAME.log-dumpmol
# dump.mol で SCF から Hamiltonian などが生成される。
# このときできる eri は SDPA フォーマット生成に利用される。
../bin/dmvt $TARGETNAME.inp | tee $TARGETNAME.log-dmvt
# dmvt で SDPA フォーマットが出力される
DATS=$TARGETNAME.$NREP.dat-s
../sdpa7-rdm/sdpa -ds $DATS -o $DATS.result -rdm $DATS.rdm \
-p ../sdpa7-rdm/param.sdpa -numThreads 4 \
| tee $DATS.stdout
# RDM 出力用パッチのあたっている SDPA で解く

../bin/analyze $TARGETNAME.inp $DATS.rdm | tee $TARGETNAME.log-analyze
# RDM を SDPA の出力フォーマットから解析
echo "--- NREP = $NREP ----"
grep total $TARGETNAME.log-analyze
echo "--- GAMESS ----"
grep "TOTAL ENERGY" ../data/$TARGETNAME.*.gamess.out \
| grep -v EIGEN | grep -v ITER
# 得られた値と GAMESS の値を比較する


とりあえず、****.scf, ****.inp があれば、そのあとをブラックボックスとして利用できるようになった。
ただし、****.scf, ****.inp を作るには電子状態と基底関数を決定する必要があり、これが難しい
現状としては、昨日もらって来たものを使うことになる。

あと、今日はこのまえ採択された原稿のチェック。
他に読みたい論文を印刷したので、これを明日チェックする。

今日の作業内容: 量子化学整理 5h + 原稿チェック 1h
今日のBGM: FF5 OST [1-2], FF6 OST [1,3]
今日のランチ: 味庵 豚肉野菜炒め
明日の予測作業時間: 3h

2010年5月17日月曜日

量子化学の勉強

今日は、午後から予定を変更して、量子化学の勉強のために出かけてきた。

今まで量子化学の SDP については、生成してもらったのを解いていただけだったが、やはり一度は勉強しておくべきだろうということで、どういう風に生成するかを step by step で教えてもらった。

生成するステップはある程度はメモしてあるが、自分でやらないとメモに間違いがあるかどうか解からないので、明日実際に再現してみようと思う

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

今日の作業内容: 書類整理 2h + 量子化学の勉強 5h
今日のランチ:松屋 豚めし並もり
今日の夕飯:ガスト 海鮮とろろ丼
今日のBGM: everywhere [1-2], かぜよみ
明日の予測作業時間: 6h

2010年5月14日金曜日

原稿の修正、スタート

今日は、昨日レフリーから来たコメントにしたがって、原稿の修正を始めた。
まずは、表の変更など、比較的簡単に出来るところを処理しておいた。
これで、あとで文章を修正するようにしよう。

あと、金曜日はやはり体力的なところで、結構疲れる。
あんまり集中力が必要ないような内容を金曜日に持ってくるようにスケジュールを立てるようにしようと考えている。

今日の作業内容: 原稿修正 2h
今日のランチ: お弁当 チキンガーリック
明日の予測作業時間: 4h

2010年5月13日木曜日

国際会議、採択された

2月ごろに提出した国際会議の分が採択された。
よかった。

3人のレフリーからコメントがあって、そのうちの一人がかなり辛口であったが、コメントが詳しすぎるので、レフリーがほぼ特定できそうなほどでもある。(refer するように指示されている論文に偏りがあるため)
他の人のコメントは、並列計算についての専門用語の使いかたについてで、とても参考になる指示があった。

いずれにしても、これらのコメントを参考に改訂をすることになる。

あと、今日は書類の整理をすこしした。
これから読もうと思っている論文をプリントアウトして、読みやすいように整理しておいた。

今日の作業内容:コメント確認 2h + 書類整理 2h
今日のBGM: FF7 Reunion
今日のランチ: らく うな重
明日の予測作業時間: 3h

2010年5月12日水曜日

Gurobi セミナー

今日は、市ヶ谷で行なわれた Gurobi のセミナーに参加。
Gurobi は、CPLEX を作っていた Bixby が作っているソフトで、簡単にいえば CPLEX をもう一度作り直しているようなものである。
周りにいる人に聞いたところでは、商用の場合だとCPLEX の半額ぐらいになっているらしい。

今回のセミナーも Bixby の講演は午前と午後の2部あって、重要な役回りだ。
ただ、Bixby の話は技術面の詳細が企業秘密でもあるため、何回も聞くと実はあまり変わり映えがない。Bixby の話を聞く意味は、
1. 英語の勉強
2. 分野の発展スピードが数字で示されるので、頑張れる気になれる。
の2点である。特に2番が大事である。

あと、今回のキーは、Gurobi よりもむしろ Microsoft である。
Solver foundation を売り込んでいるだけでなく、今後発表される内容を一部明かしてしまうなど(どれくらいの重要性かははっきりしていないが)のリップサービスもあり、これから optimization にどんどんと力を入れていくようである。
おそらく CPLEX を買収した IBM から、optimization 関係の仕事(コンサルティングを含む)を奪い取るためのステップのひとつなのであろう。

今日の作業内容: Gurobi セミナー 5h
今日のランチ: セミナーが準備してくれたお弁当
明日の予測作業時間: 3h

2010年5月11日火曜日

Ubuntu つづきと GAMESS

今日は、昨日の続きで Ubuntu をインストールした。
ATLAS のコンパイルは失敗していたので、apt-get で今回は試しにインストールしてみた。
LAPACK については、ATLAS 由来と LAPACK オリジナルの両方があるので、それを両方インストールして
-llapapck_atlas -llapack-3
のように ATLAS 由来のものを優先して、それで補えないものだけ LAPACK オリジナルで使うことにする。


あと、驚いたのが MUMPS も Ubuntu では apt-get でインストールできること。
ここまでマイナーなものもフォローされているとは驚きである。
なお、MUMPS ではソースからインストールしたときとライブラリ名が異なるので注意が必要である。
ソースからなら、
-ldmumps -lmumps_common -lpord -mpiseq
であるが、これが apt-get なら
-ldmumps_seq
だけになる。
なお、MPI の並列版なら、-ldmumps だけとなる。

いろいろとインストールした結果、SDPA, SDPARA ともに Ubuntu 10.04 で動くことが確認された。


今日は、GAMESS のインストールをした。GAMESS はファイル編集が多いので、比較的面倒である。
そのうちにシェルスクリプトで一回でインストールできるようにしようと思う。
あと、H2O で動かしたときにどうしても上手く動かなかったが(ddikick.x がメモリ不足、とか言って止まってしまう)、H2O.inp のMEMDDI を消すと動かせる、とアドバイスをもらったので、その通りにしたら、うまくできた。
やはり、入力ファイルのパラメータをもう少し勉強しよう。

今日の作業内容:本読み 1h + Ubuntu 3h + GAMESS 2h
今日のBGM: everywhere [1-2], FF6 OST [1-3]
今日のランチ: 鶏こまち 蒸篭蒸し
明日の予測作業時間: 2h

2010年5月10日月曜日

Ubuntu 10.04 のインストールの続き

今日は、もう一度 Ubuntu 10.04 のインストールに挑戦した。
今回は、他のコンピュータにもインストールできるようにメモを取りつつ進めている。

Ubuntu はインストール自体は簡単であるが、ちょっとでも癖のある作業をしようとするとかなり大変であることが解かる。
特に、日本語関係はほとんど整備されていない。(Vine と比較するのは Ubuntu がかわいそうか。)
dvipdfmx を行った場合のバグなどはブログの情報から察するに、数年間放置されているようだ。

また、Ubuntu はパッケージの多さが最大の魅力だが、それが欠点になるときもある。
たとえば、rsh-server では rsh ??? ls がうまく実行できないのに対して、rsh-redone-server では簡単に実行できる。rsh-server と rsh-redone-server の違いが synaptics では、いまひとつ解からない。

いずれにしても、だいぶ情報が集まってきた。
今日の夜のうちに ATLAS をコンパイルすれば、明日には SDPARA を実行できると思う。

今回のインストールで集めた情報で、本格的なインストールに移ろうと思う。


今日の作業内容: Ubuntu 7h
今日のBGM: FF5 OST [1-2], FF10-2 OST [1-2]
今日のランチ: 味庵 鶏辛子炒め
明日の予測作業時間: 4h

2010年5月7日金曜日

Ubuntu 10.04 のインストールをしてみた

今日は、最近登場した Ubuntu 10.04 をインストールしてみた。
いきなり実機では危険なので、とりあえず vmplayer でインストールしている。

インストールはかなり速くできる。
ただ、"grub-pcを設定しています”では、「進む」を押しても進まないので、チェックを外して(GRUB2を使わずに)インストールしている。

パネルに載っているアプレットが多すぎるので、出来るだけ削ってみた。
あと、起動時に不必要なアプリケーションも起動しないようにした。

また、Chrome をインストールしてみたが、ランゲージパックを apt-get でインストールしわすれていて日本語メニューにするのに苦労した。
ただ、Google ブックマークにログインできないでいる。

で、ここまできたが、なぜか DNS がうまくとおらくなくなってしまった。
原因はよくわからない。
しかたないので、また再インストールしたほうがよさそうだ。

今日の作業内容: Ubuntu 4h + 本読み 1h
今日のBGM: FF8 OST [1,2]
今日のランチ: 角笛 ハヤシライス
明日の予測作業時間: 3h

2010年5月6日木曜日

細々とした仕事

今日は、ゴールデンウィーク明けということもあって、細々とした仕事を片付けておいた。

あと、仕事としては Facial Reduction Algorithm でどれだけ SDPA の精度が変わるかを少し調べてみた。primal-dual interior-point methods には、いくつか種類があるが、それぞれで FRA の効果に違いがあるようだ。

最後に本読みを少し。今まで読んでいた本の復習から入っている。

今日の作業内容: SDPA 数値実験 2h + 本読み 1h
今日のBGM: 電脳コイル OST [1-2], MADLAX OST [1-2]
今日のランチ: しなの とろろつけそば
明日の予測作業時間: 4h