2010年12月28日火曜日

2010年仕事納め

今日で2010年も仕事納めなので、少し書いておくことにする。

2010年は論文相当の原稿は3本だったが、やはりそれぞれに時間がかかったので、もう少しコンパクトに進める必要がありそうだ。
特に、数値実験と英語についてである。
数値実験はある程度見積りを立ててから効率的に行う必要がある。SDPA-GMP 関係はかなり時間がかかるので、小さめの問題で先に傾向を知ってから論文用の数値実験を行う、ということをもう少し徹底する必要がある。網羅的に行うことよりも、論文に必要になりそうなところを抑えることを重視したほうがいいのかもしれない。
英語については地道に勉強することにする。
あと、論文の原稿を作成するのには〆切がないため、どうしてもダラダラと進みがちであった。このあたりは仮の〆切を作って、それでコントロールする、など2011年はスッキリとさせたい。

他に内点法関係の勉強については少し前進した感じか。
昨日もメモしたが、やはり内点法に関する論文が多いため、内点法よりも広い枠組のなかで内点法よりも効率的なアルゴリズムを検討する必要があるのかもしれない。

今日の作業内容:論文校正の準備など
今日のランチ: つかさ 生サーモン照り焼き
明日の予測作業時間:3h

2010年12月27日月曜日

内点法について

数値的難しさを計算する数値実験に並行して読み直している論文は、最初は広い枠組で話が進んでいるが、途中から話を簡単にするための制約が入っていて内点法になっている。

この制約がどの程度重要であるか、が難しいところだ。
たとえば、self-concordant は理論的にはきれいな形が導出されるので理論的な論文には使われるが、実際のところは -log(det(X)) を利用するので、self-concordant はあまり実用的な意味がない。
つまり、self-concordant で途中まで話を進めて、そのあとで -log(det(X)) に制約しても計算をする上では問題にはならない。

ただ、論文に書いてある制約を入れると、広い枠組の可能性が狭まるので、その過程で内点法より速いアルゴリズムを失っていることもありえる。
難しいところだ。

そういえば、数値実験については、問題を絞りこんで進めることにした。
問題数を 10分の1 程度にしたので計算時間も 10分の1程度であるが、今年中には終わらないかもしれない。

今日の作業内容:論文読み直し、楕円の計算
今日のランチ:らく うな重
明日の予測作業時間:6h

2010年12月24日金曜日

数値的難しさの計算

以前に作成した gpp の問題で、制約緩和の数値の影響でどの程度数値的に難しい問題になっているかを計算している。

計算プログラム自体はすでにもらってあって、いま計算中であるが、一個の SDP の難しさを計算するのに、その制約の本数分の同じサイズの SDP を解くので、かなり時間がかかる。
どうやら gpp250 の場合、一個の SDP を計算するのに20分かかっており、数値を 10^{-1}から10^{-20} で変更しているので、実質的に 400 分ぐらいかかる。
gpp500 については、もうちょっと絞らないとダメかもしれない。

あと、だいたい解かったことだが、数値を変更するときには、大きく2種類の壁がある。
1. machineEpsilon の平方根 or SDPT3 の閾値 (この2つは似たような値)
2. machineEpsilon
このあたりで振る舞いが変わる傾向がある。
(ただし、gpp 限定の可能性あり)

今日の作業内容:gpp の計算
今日のランチ:らく 焼魚定食
明日の予測作業時間:3h

2010年12月22日水曜日

プロファイリング用に修正

SDPA-GMP, QD, DD と SDPT3, CSDP, SeDuMi をプロファイリング用に修正した。
これによって、それぞれのソフトの結果 (dimacs error や計算時間など) が統一フォーマットに出力されるので、あとは grep や awk で整形すればいいだけである。

SDPA 系列は、どこに何があるか把握しているので比較的簡単だが、やはり他のソフトは修正が難しい。特に、C言語でかかれている CSDP は C++ に慣れた人間からするとハードである。

今日の作業内容:プロファイリング用修正
今日のランチ:たちばな しまあじ
明日の予測作業時間:3h

2010年12月21日火曜日

論文の記号について

最近、以前に読んだことのある論文を読み直しているが、これがなかなかに難しい。
なにが難しいかというと、記号が consistent になっていないことである。
どの意味で記号を使っているかを逐一判断しないといけないのが手間がかかる。

やはり、論文を書くときに記号をどうするかは大事なようだ。
たとえば、 f(x) = 0 と書けば x が解というのがよく使われるパターンだが、これが f(x)=0 と x(f) = 0 の両方が入り混じると読みにくい。

ほかにあったものでは、ギリシャ文字のχとアルファベットの x を使うパターン。
本ならばいいが、やはり手書きでこの2つをきちんと分けて書くのは大変で、あまり好ましくない。

今度論文を校正するときには、こういった点も気をつけたい。

今日の作業内容:論文読み直し
今日のランチ:らく 焼き魚定食
明日の予測作業時間: 4h

2010年12月20日月曜日

SDPA 7.3.4 が Debian/Ubuntu パッケージに

Debian/Ubuntu パッケージを作ろうと思い立って、すでに4ヶ月経ったが、SDPA 7.3.4 が Debian/Ubuntu パッケージに登録された。

Debian については、すでに Debian 6 の準備段階に入ってしまっているので、stable として使えるのは Debian 7 以降になるが、unstable であれば apt-get でインストールできるようになっている。
Ubuntu についても、Ubuntu 11.04 から apt-get でインストールできるようになる。

Debian パッケージの詳細は、
http://packages.debian.org/sid/sdpa
にあり、Ubuntu パッケージの詳細は
https://launchpad.net/sdpa
にある。

注意点として、Debian/Ubuntu パッケージはそれぞれのデフォルトのatlasにリンクされるため、速度面で不利である。行列演算が多いとかなり遅くなる可能性がある。
数値実験の計算時間測定には使えないが、手軽にSDPAをインストールできるようになる。

Debian パッケージをどのようにして apt に登録するか、についてはあまり日本語の資料がないので、これまでに蓄積した Debian パッケージの作り方などのノウハウはそのうちにメモとしてまとめて書き込もうと思う。

今日の作業内容:論文読み
今日のランチ:角笛 ちらし寿司
明日の予測作業時間:6h

2010年12月17日金曜日

QAP の内点がある SDP

今日になってとうとう QAP が内点を持つように制約を変更する方法が解かった。
より正確にかくと、そういう方法を教えてもらった。
Matlab で確認したところ、SDPLIB の QAP を若干修正するだけで、実行可能な内点ができていた。
あとは、この修正でできた SDP がどれだけ難しい SDP なのかを知る必要があるが、これは以前に読んだ論文で measure が提案されている。
今日のうちに、この著者にmeasure 計算のプログラムがあるかどうか、メールを出しておいた。

今日の作業内容:QAP の SDP
今日のランチ:シッダルータ チキンカレー
明日の予測作業時間:4h

2010年12月16日木曜日

QAP relaxation のつづき

今日はまとまった時間がとれなかったため、QAP を内点を持つように変形する方法をもう少し考えた。
またアイデアをもらったので、Matlab で簡単なプログラムを作ってチェックしているが、どこかに間違いがあるらしく、固有値にマイナスが含まれてしまう。
明日に続く展開になりそうだ。

今日の作業内容:QAP の変形
今日のランチ:味庵 白身魚のマーボー煮込み
明日の予測作業時間:5h

2010年12月15日水曜日

QAP relaxation

昨日のグラフ分割問題の制約緩和については、あのあともう少し考えてみたら簡単な数式で内点を表現できることが解かった。
SDPLIB の場合、内点がない問題は他に QAP の系統があるため、今日はこれを確認した。

問題の定式化については、いろいろと教えてもらったので、ほぼ大丈夫であるが、やはり内点を構成するのが難しそうである。グラフ分割と異なってストレートな制約緩和ができそうにないので、内点を先に構成してから、それを満たすような自然な制約緩和を入れるほうが良さそうである。

今日の作業内容:QAP relaxation
今日のランチ: 四川 汁無し坦々麺
明日の予測作業時間:2h

2010年12月14日火曜日

gpp relaxation

SDP 緩和のひとつにグラフ分割の問題がある。
SDPLIB にもグラフ分割の問題がいくつか含まれている。(gpp???.dat-sというもの)
グラフ分割から生成される SDP には、内点法から見ると大きな欠点があり、それは実行可能内点を持たないため、数値的に不安定になりやすい、ということである。

そこで、今日は実行可能内点をなくしている制約をすこし relaxation して実行可能内点を持たせてみることにした。これで、実際に SDPA-GMP でもきちんと解けている。
そこで、実行可能内点を数式で簡単に表現できるか?と思ってトライしてみたが、これが意外とストレートでないことがわかった。
これについては、もう少し調べてみようと思う。

今日の作業内容:gpp relaxation
今日のランチ:つかさ サーモンハラス焼き
明日の予測作業時間:4h

2010年12月13日月曜日

MFPR と machine epsilon

mpackを使っての SDP を生成するプログラムを作成。
ただ、途中でMFPRの動きがすこし怪しい感じがある。

たとえば、1+e > 1 となる最小の e を求めると prec = 600 のときに 1.0e-200 程度であり、これが実質的な machine epsilon に相当するはずだが、mpfr_printf で表示させると 600 桁に近い情報を持っていることが表示される(足し算は600桁近い情報で行っている)。
つまり、四則演算に使っている桁数と比較演算に使っている桁数にずれがあるようなのである。
いずれにしても、SDP の生成の場合は、それを見越して prec を設定する。

SDPA-GMP で解くときを考えると、SDPA-GMP のパラメータを epsilon = 1.0e-20 とするなら、その約 30 倍の prec = 600 程度であれば桁数にゆとりを持って生成できる。epsilon = 1.0e-80 なら prec = 2400 である。もちろん、SDPA-GMP の パラメータの precision も調整しておく必要がある。 epsilon の6倍程度の桁数が必要である。epsilon = 1.0e-20 なら、precision = 120, epsilon = 1.0e-80 なら precision = 480 である。

SDPA-GMP の場合、出力ファイルに relative eps の行で machine epsilon を表示してくれるので、これの桁数が epsilon の桁数の倍以上の精度になるように precision を設定する必要がある。


今日の作業内容:MFPR, センサネットワーク
今日のランチ: らく チキンカツ
明日の予測作業時間:5h

2010年12月10日金曜日

MPFR と mpreal に苦戦

昨日に続いて MPFR でプログラムを組んでいるが、これの拡張版の mpreal クラスが扱うのがなかなかに難しい。
簡単にいうと、
printf("a = %d\n", a);
b = a;
printf("b = %d\n", b);
のようなことをすると、aとbで違った表示がされる。
MPFR が原因なのか、あるいは mpreal なのか解からないが、不思議な現象である。
このとき、a の桁数が打ち切られて b に入っているようでもあり、よく解からない。
とりあえずは、あとで valgrind をかけてメモリチェックをかけて、それから詳細を確認しようと思う。

それにしても、Matlab で10秒でかけるコードを mpack で実装しようとすると5分はかかる。
mpack はマニュアルが未整備なので、関数を使うときにはソースコードを直接参照してから利用している。mpreal なども確認するためにソースコードの動きをざっと確認したりしており、これが結構時間がかかっている。

まだまだだいぶかかりそうだ。

今日の作業内容:MPFR プログラミング
今日のランチ:さか本 野菜天丼とおそばセット
明日の予測作業時間:4h

2010年12月9日木曜日

MPFR の sqrt

SDPA の関係で多倍長計算の MPFR を調べているが、sqrt の挙動でよくわからない点がある。

例えば、
  mpfr_set_default_prec(prec);
  mpf_class mtmp2 = 2.0;
  mtmp2 = sqrt(mtmp2);
  gmp_printf("sqrt(2)   in mpfr  %.80Fe\n",mtmp2.get_mpf_t());
  mpf_class residual = mtmp2 * mtmp2 - 2.0;
  gmp_printf("residual  in mpfr  %.80Fe\n",residual.get_mpf_t());
とした場合、ビット数 (prec) = 300 で
prec = 300
sqrt(2)   in mpfr  1.41421356237309504876000000000000000000000000000000000000000000000000000000000000e+00
residual  in mpfr  -1.07199229837017405496000000000000000000000000000000000000000000000000000000000000e-19
となるが 2000 にあげても
prec = 2000
sqrt(2)   in mpfr  1.41421356237309504876000000000000000000000000000000000000000000000000000000000000e+00
residual  in mpfr  -1.07199229837017405496000000000000000000000000000000000000000000000000000000000000e-19
と同じ結果が出てきている。
sqrt(2) の表示自体は桁数の表示の仕方に問題があるのかもしれないが、residual が変わらないのはおかしいような気がする。

これについては、明日続けて調べる必要がありそうだ。

今日の作業内容:MPFR チェック
今日のランチ:味庵 豚肉のキムチ炒め
明日の予測作業時間:5h

2010年12月8日水曜日

mpack のコンパイル

SDP の精度の計算用の問題を生成するのに、やはり精度の高い問題が必要と判断して、mpack を利用することにした。
ただ、かなりのコンパイル時間がかかるようで、Core2 でも5時間以上かかるようだ。
これについては、明日またチェックをする。

あと、昨日あったSDPAの細かいバグ(?)は、今日取ってもらった。
次のバージョンアップのときに公開しているソースに反映される。

SwissRoll のは久しぶりに計算をしてみたが、ある意味で致命的なミスに気がつく。
これは修正は難しいかも知れない。

今日の作業内容:mpack コンパイル
今日のランチ: 鶏こまち 鶏そぼろの蒸篭蒸し
明日の予測作業時間:3h

2010年12月7日火曜日

SDPAのデバッグ(途中まで)

SDPA はステップ長を計算するのに Lanczos 法を用いるが、どうやらここのルーチンにバグが含まれているようだ。
特定の問題、特定のパラメータで実行しないと遭遇できないバグなので見落とされていたが(99%以上のSDPには関係ないと考えられる)、なぜかステップ長を本来の値よりも大きく計算してしまう。
これについては、もう少し調べる必要がある。

今日の作業内容:センサーネットワーク下調べ, SDPA デバッグ
今日のランチ:シッダルータ 大根とジャガイモのカレー
明日の予測作業時間:6h

2010年12月6日月曜日

pthread-win32, lapack on mingw32

Debian 上の Mingw を用いてコンパイルする必要がやはりあったので、まとめてできるようにシェルスクリプトにした。
以下のスクリプトを実行すると、pthread-current, lapack-current に mingw のコンパイルのものができる。
ただし、前もって mingw をインストールしておくこと。
$ sudo aptitude -y install gcc-mingw32 mingw-w64 mingw32-binutils mingw32-runtime
あと、現状では amd64-mingw32msvc を用いてのコンパイルはできないようである。

===以下がスクリプト===
#!/bin/sh

# choose one depending on the target system
CROSS=i586-mingw32msvc-
# CROSS=amd64-mingw32msvc-

###### pthread-mingw32
echo "*******Password is anoncvs******"
rm -rf pthreads-current
cvs -d :pserver:anoncvs@sourceware.org:/cvs/pthreads-win32 login
cvs -d :pserver:anoncvs@sourceware.org:/cvs/pthreads-win32 checkout pthreads
if [ ! -d pthreads ]
then
    echo "Cannot download pthread-win32"
    exit
fi
mv pthreads pthreads-current
cd pthreads-current
make -f GNUmakefile CROSS=${CROSS} clean GC-static
cd ..

###### lapack-mingw32
rm -f lapack.tgz*
wget http://www.netlib.org/lapack/lapack.tgz
rm -rf lapack-current
tar xzf lapack.tgz
mv lapack-3.* lapack-current
if [ ! -d lapack-current ]
then
    echo "Cannot download lapack"
    exit
fi
cd lapack-current
cp INSTALL/make.inc.gfortran make.inc
sed -i.bak 's+\./test+wine ./test+g' Makefile
make \
   FORTRAN=${CROSS}gfortran \
   LOADER=${CROSS}gfortran \
   ARCH=${CROSS}ar \
   RANLIB=${CROSS}ranlib \
   blaslib lapacklib
cd .. 
 
== 以上がスクリプト ==
 
今日の作業内容:出張片付け、mingw32 チェック
今日のランチ:らく ネギとろ丼
明日の予測作業時間:6h

2010年12月5日日曜日

ZIB訪問記[7分の7]

途中で何度か目を覚ましながらも寝続けていると、機内が明るくなったことに気がついた。およそ2時間で着陸、というところまで来たようだ。朝食はソーセージとスクランブルエッグである。あまりうまく眠れなかった分、食欲がいまひとつだったが、これはボリュームが軽めだったので良かった。

最後にテレビ番組を見ることにした。BBC の番組のひとつらしく、シドニーから東京へとバイクなどで移動する、というものであった。英語だけなのでいまひとつ解かりにくいところがあったが、映像だけでも楽しめた。フライトの関係で、パプアニューギニアまでしか見ることができなかったのが残念である。

成田には9時20分ごろに着陸し、ターミナルへ。ヒースローでの待ち合わせが長かったからか、荷物が飛行機の奥のほうに入ったらしく、荷物をピックアップするのに時間がかかったが、大きなトラブルもなく成田を出て、家に帰ってきた。

家に着くと13時が目の前だったので、荷物を入れてすぐに駅前のドトールに引き返し、そこでお昼にした。ミラノサンドBとアイス抹茶ラテである。ベルリンと比べると日本は暖かいので、アイスの飲み物がピッタリであった。


今回の ZIB 訪問では、ワークショップができたこともよかったが、いろいろと研究打ち合わせを通して多くの若い研究者を知ることができたのが最大の収穫であった。
今回の打ち合わせで見えてきた方向性について、進めてみたいと考えている。

あと、ベルリンの寒さも強烈であったが、それ以上にベルリンの人たちのおもてなしの素晴らしさが印象的であった。

以上で ZIB 訪問のメモは終了である。

2010年12月4日土曜日

ZIB訪問記[7分の6]

ワークショップや研究打ち合わせなどで充実した滞在もあっという間に終わり、日本への帰国である。
朝4時30分にホテルを出て、タクシーで空港へ。Zoo の駅からテーゲル空港までは X9 のバスでも移動できるし、朝4時代なら20分おきの運行であるが、雪があってスーツケースが大変なのでタクシーを利用した。5時には空港に着いたが、British Air のカウンターが開いたのは5時40分ごろであった。チェックインして中に入ると、すぐに出国手続き、その2m隣にセキュリティチェックがある、というコンパクト設計である。
飛行機はだいたい定時に出発。早めのチェックインのおかげで、通路側の席を確保できた。
途中で機内食が出てきたが、これが驚くほど冷たいサンドイッチであった。暖かい紅茶がすごくうれしかった。

まったく来る予定のなかったヒースロー空港での待ち合わせ時間は4時間。ただ、ここでもセキュリティパスがあったので、1時間ではすこし足りないかもしれない。あと、ここの空港は1時間前にならないと搭乗ゲートがわからない、という仕組みなので、とりあえずブラブラと買い物をする。


ここではお土産を買ったが、他にも空港のわりに本が充実していた、ドイツ語の本は読めないが英語の本なら時間はかかるけどある程度読めるので、試しに2冊買ってみる。買ったのは、

Matched [Ally Condie]
http://www.amazon.co.jp/Matched-Ally-Condie/dp/0141333057/ref=sr_1_3?ie=UTF8&s=english-books&qid=1291557525&sr=1-3
What they teach you at Harvard Business School [Philip Delves Broughton]
http://www.amazon.co.jp/What-Teach-Harvard-Business-School/dp/0141037865/ref=sr_1_2?ie=UTF8&s=english-books&qid=1291556139&sr=1-2

である。1冊目はフィクションで、2冊目はビジネス書。英語としてはビジネス書のほうが簡単なので、2冊目のほうが簡単に読めると思う。
結局、なんだかんだでベルリン以上にお土産を買い込み、お土産を渡すとロンドンを目的に行ったかのように勘違いされそうだ。

フライトの1時間ちょっと前にゲート番号が表示されて、ゲートからバスで移動して飛行機へ。
飛行機では、映画などが見られない、というシステムトラブルが自分の席や近くの席で多発したが夕飯を食べ終わる頃にはこれも治った。

夕飯はテリヤキ丼をチョイス。これはこれで機内食としては悪くないけど、ベルリンでのホームパーティからはどうしても見劣りしてしまうのが残念である。ただ、United などのアメリカの飛行機に比べればかなり美味しい部類である。

帰りの映画は、もうちょっと英語の勉強、ということで「Eat, Pray, Love」にしてみた(英語の字幕つき)。日本では「食べて、祈って、恋をして」ってタイトルだったかと記憶している。
主人公の女性が離婚を経験して、イタリア、インド、バリでそれぞれ異なったタイプの男性に会い、最後のバリの男性が理想の男性である、というストーリである。
なぜ、「最後に登場する男性が理想の男性」とあらすじでネタバレしているのか気になっていたのだが、この映画は見ているとたしかに話がズルズルとしていて、かなりだるいのである。最後に一番いいものがある、とないと飽きてしまうのである。
この主人公、実は気持ちの持ちようだけで誰と結婚してもそこそこ幸せになれるし、逆に最後に再婚した相手と本当に幸せになれるか解からない。
行きの飛行機もそうであるが、帰りの飛行機もいまいちの映画に当たってしまったのは残念であった。

2010年12月3日金曜日

ZIB訪問記[7分の5]

フィンエア航空のストライキでキャンセルされてしまった帰りの便をどうするかを朝ご飯を兼ねて日本人グループで相談。
夜のうちはベルリン-ヘルシンキがキャンセルされていたが、朝になってみるとヘルシンキ-成田もキャンセルされていた。
しかたなく、朝の予定を大幅に変更してフィンエア航空に電話をすることに。
結局、フィンランドのフィンエアに国際電話をかけて、ブリティッシュエアに変更することになった。
もともとベルリンを12/4の11時50分に出発する予定が7時5分のヒースロー空港に行くことになってしまったので、明日は朝早く起きる必要が出てきてしまった。

この日は午前中をホテルで過ごしてしまったが、午後になって移動開始である。今日は夕方まで用事が入っていない日だったので、お土産を買うことにする。
まずはドイツのデパートでも最大規模、というKaDeWa に歩いて移動。入ってみてすぐに、ここは高級すぎることが判明。10分程度で退却。

もうすこし一般的なデパートということで、KaDeWa の前の駅からU2 に乗ってアレキサンダープラッツへと移動。ここにはガレリアというデパートがあり、こっちのほうが庶民的である。入り口にクリスマスツリーがあって、子供たちのいろいろとほしいものが書かれていたが、その中に「Nintendo DS」もあった。
フロアはクリスマスの色合いがやはり強く、人もたくさんであふれていた。
おもちゃ売り場には、ドイツらしく、ボードゲームが各種揃えられていた。一つほしかったが、どれも読めなかったので断念した。

 PC売り場には、ドーンとVAIO が売られていた。さすがは「世界のSONY」である。
 お土産については、いろいろと見て回ったが、1階のフロアにあったクリスマス用のチョコレートとすることにした。
ガレリアを出て、すぐにあるパークインホテルの入り口の近くにあったレストランで遅めのお昼にする。(この時点ですでに2時30分。)
メニューには英語もあったが、はっきりとイメージするのは難しい料理ばかりだった。今回は「Coffee House Symphony」というものにしてみた。noodle がドイツのものらしい、ということでこれにしてみた。
野菜が中心となっているだけあって、軽めの味であった。麺はなんか水団に近いような印象であった。ちょっとボリュームに欠けるが、ドイツに来てからカツレツだったり懇親会だったりホームパーティだったりでボリュームが多すぎたので、これくらいでちょうど良かった。


U2 を使って KaDeWa のところまで戻り、そこから歩いてホテルへ。だいたいの土地勘も出てきて方向感覚がわかってきた。
ホテルに戻ってインターネットをチェックすると、フィンエアから新しいe-チケットが送られてきていた。

このあと U3 を使って ZIB へ。研究の打ち合わせなどと並行して、今まで使わせてもらっていた部屋を片付ける。
7時15分ごろに ZIB を出発して、25分の101のバスに乗る予定だったが、どうやらバスが1本キャンセルされてしまったようで、45分のバスに乗って移動する。ベルリンは比較的電車などがきちんと動いていたので、少し驚いた。

この日は昨日とは別の研究員の自宅でホームパーティ。
ここまでもてなされるとは、日本を出発するときには思っていなかった。
最初はスープでポテトのスープ。
メインはソーセージで、このソーセージが美味しかった。
デザートはチョコクリームケーキだった。
ただ、メインの料理だけでなく、きゅうりの漬物が数種類出てきて、これが酸味があるおかげでメインのソーセージをさっぱりと食べれたのがとても良かった。
あと、ワインにいろんな香辛料などを入れて沸かして飲む、というグリューワインまで用意してくれてあった。これはかなり香りがあったようで、少し酔ってしまったかのようだった。

料理のあとにはドイツ人らしくゲームを持ち出してくれた。日本人でも解かるような簡単なものがメインであったが、これはこれで楽しかった。

帰りは U3 の駅まで歩いて、そこから地下鉄に乗ってホテルに到着。この時点で12時近くになり、飛行機の時間を考えると3時間の睡眠となることがわかった。

2010年12月2日木曜日

ZIB訪問記[7分の4]


昨日は残っていたカツレツを朝食に当てたが、この日はまたカフェに行って朝ごはんである。トマトのパイ(1.6ユーロ)とミルクティ(1.5ユーロ)である。やはり、パイはオーブンで暖ため直してくれるのがうれしい。
 昨日の夜から続いた雪のおかげで、ホテルからの景色も一面雪化粧である。

今日は午後に SCIP についての打ち合わせがあるが、午前中は時間があるので、 ZIB の人がベルリンを案内してくれることになった。
ただ、やはり雪は寒いので、まずは C&A というデパート(あるいはデパートの中にあるショップ名?)で帽子を購入。いろいろと帽子があったが2色まで絞り込んだところでどちらがいいかで迷った。ここでドイツ人らしいおばさんが近くにいたので、どっちの色が似合うかを聞いて、そちらの色をチョイス。帽子はだいたい6ユーロから10ユーロ程度。これによって、耳の痛さが取れる。

まずは、バスに乗るのだが、ホテルのあたりからだとバス停が集中しているのはベルリンの Zoo 駅の辺りである。Zoo 駅は S バーンも U バーンもあり、ベルリンの交通の要点の一つである。
(ベルリンは核となる地域が複数あり、中心がどこなのかいいづらい。東京でも渋谷、新宿、池袋などがあるのと同じである)

Zoo 駅前のバス停から乗るかと思ったが、そこを通り過ぎ、Sバーンの駅の北側に回りこむ。すると、そこにもバス停がある。Zoo 駅前から本来は発車(Zoo 駅前のバス停が1番のバス停)だが、ここでも乗れる、つまり0番のバス停、ということらしい。
今回乗る 100 番のルートは観光に適したルートだけあって乗客がとても多いが、この0番のバス停から乗ると空いているので、2階建てバスの最前列というベストポジションを確保できる。
100番ルートは乗っているだけでも観光名所を見て廻れるルートである。

 まずはシーゲスゾイレ。ドイツが昔勝った3つの戦争を記念した塔、とのことである。この次ぐらいに大統領官邸が見えてくる。ドイツは大統領が政治のトップと形式的にはなっているが、実際の権力は首相が持っているので、大統領官邸はちょっとつつましい印象である。
 バスは、連邦会議議事堂(日本でいう国会議事堂)の前を通って、ブランデンブルク門を横に小さく見て、フンボルト大学の前を通過し、世界遺産でもある博物館の島を通って、アレキサンダープラッツの駅へとつながる。
今回は、アレキサンダープラッツの少し前、マリエン教会で降りて、ここから雪の中を歩く。
マリエン教会も古い教会であるが、その前にはクリスマスのマーケットができていて、屋台が並んでいる。
 ちなみに、ここまでくればテレビ塔は徒歩圏内であるが、雪では景色を楽しめないため上らなかった。
 クリスマスマーケットにはたくさんの屋台があって、料理だったり小物だったり、見ているとついつい時間がかかってしまうので危険でもある。
 とは言っても小腹がすいた、ということで一つ食べることになった。パンにベーコンとチーズが挟まっていてパニーニに近い感じだった。周りが雪だけあって、暖かいものはとても美味しかった。
 バスの道を少し戻って博物館の島へ。ベルリン大聖堂はプロテスタントの教会ということであったが、大聖堂というだけあって大きいのが印象に残った。
 次はペルガモン博物館。博物館の島でも大きい博物館である。中にはペルガモン大祭壇が再現されており、これがものすごく大きい。ここの博物館ではオーディオガイドがあるが、日本語も含まれており、入場料を払えばオーディオガイドは別途料金がかからない。日本があるからなのか、この中で日本人グループを見かけた。

 ちなみに、イシュタールの門、という古代バビロンの門もあるが、これも大きい。どうやら大きいものをそのまま再現するのが大好きな博物館なようである。この門は第2次世界大戦のときにあまりの大きさに動かすことができずに、まわりに補強などを施したそうである。左側の一部に爆撃を受けており、それが現在にも残っている。

ペルガモン博物館だけを見るわけにも行かないので、1時間弱であとにして、フリードリヒシュトラーセ駅まであるいて、S バーンで一駅 Brandenburger Tor に着く。駅から出ると、そこはもうすぐにブランデンブルク門。ドイツの象徴のひとつでもある。目の前にクリスマスツリーがドーンとあり、左右にアメリカ大使館とフランス大使館がある。ちなみに、現在の2つの大使館は東ベルリンの位置にある。
ブランデンブルク門のすぐに裏手は東西ベルリンを隔てていたベルリンの壁が建っていたところである。今では一般の車がガンガン通行しており、道路にある2本のラインがベルリンの壁の位置を示しているだけとなっている。
ブランデンブルク門の左手、少し行くと、ユダヤ人犠牲者の記念館がある。黒い箱がいくつも並んでおり、その間を歩くことができるが、ちょっと不思議な気分でもある。長崎の原爆祈念館に行ったときと似たような感覚かもしれない。

ここからさらに少し歩くとポツダム広場がある。ここは統一後の再開発がすでにいきわたっていて、洗練された街並みの印象がある。

ここにはベルリンの壁が一部残されており、触ることさえできる。
ポツダム広場から少し歩くと、ソニーセンターがある。ソニーセンターの中はクリスマスツリーが飾られている。なお、天井の傘は富士山をイメージしたもの、ということであった。
BrandenBurger Tor から U2 で2駅、Stadmitte で U6 に乗り換えて一駅。Kochstr で降りると、そこは東西ベルリンの検問所のひとつであったチェックポイントチャーリーである。この近くには壁博物館があり、そのすこし先に展示でベルリン分割や西ベルリン包囲、ポーランドから始まるドイツ統一への流れなどが示されており、ドイツの近代史を少し勉強できる。

Kochstr で U6 に乗りなおして、2駅南下すると Mehringdamm 駅である。ここで降りてすぐに Curry36 というカリーブルストを売っているお店がある。
カリーブルストはソーセージにカレー粉とケチャップをブレンドしたものをかけて食べるもので、基本的にはスタンドみたいなところで立ち食いである。ここのお店の場合は、ポテトチップもついていてお得である。これでわずか 1.5 ユーロである。日本にもできてほしいものである。

研究打ち合わせが近づいてきたので、MehringdammからU7に乗って Mocken-brucke でU1に乗り換え、さらにWittenberg-patz で U3 に乗り換えて ZIB へと移動。

午後は SCIP での実装方法についてのレクチャーをしてもらい、そのあとでどういった共同研究ができるかを打ち合わせ。
いくつかの方向性を打ち合わせた。

この日は8時から案内をしてくれた研究員の家に招待されてのホームパーティだった。
ドイツのアパートはドイツ人らしく堅牢であったが、中は非常に広くて、何部屋も中にあった。時期が時期だけにクリスマスツリーなども飾られていた。
料理もおいしくて、まずはドイツのスープであるレンズマメを用いたリンゼンズッペ。
メインは大きなハムをまるまる焼いて、それを切り分けてであった。
デザートもチョコケーキで、これも美味しかった。
ドイツ人のホームパーティのすごさを実感してしまった夕食であった。

あと、この日の夕方にフィンエア航空がストライキに入ったことが判明。
帰りの便がキャンセルされてしまう可能性が出てきていたが、ホームパーティから帰ってフィンエア航空のページを確認してみると実際にキャンセルされてしまった。
とりあえず、12時を回っていたので日本に「帰国が1日遅れる可能性あり」というメールだけは先にしておいて寝ることにした。


2010年12月1日水曜日

ZIB訪問記[7分の3]

今日は、朝の10時から、午後5時ごろまでワークショップである。
今回の出張のメインイベントではあるが、長丁場であった。
午前中に並列計算などの話があったりなどで、充実した内容であった。

お昼は学食の2階、ちょっとしゃれたレストランである。ここではリングイネを食べてみた。他にもメニューはあったのだが、ドイツ語でいまひとつ読めないので、確実に解かっているリングイネをチョイスしてみた。味はそれなりに洗練されていてよかったが、東京でも高めのレストランに行けば食べることができる味でもある。
午後には、ZIB にあるスパコンを見せてもらうツアーがワークショップに組み込まれていた。写真が少しボケてしまっているが、参考になるかもしれないので載せておく。まずは Cray X。これは現在は使用されていないが、昔どのような計算機を使っていたかを記録しておくために普通のフロアのオブジェとしておいてある。

次が現在の主力スパコン HLRN2 である。どこもそうであるが、ファンの音と生ぬるい風がそこにはある。
スペックは http://www.top500.org/site/systems/2144に掲載されているが、http://www.top500.org/site/history/2144を見ると現在世界 64 位のスパコンである。

なお、スパコンの計算ノードも地下にあるが、データストレージはさらに下の防火倉庫に置いてある。計算ノード自体はお金次第で作り直すことができるが、データは作り直せないことがあるので、それだけ重要ということである。なお、データはテープでバックアップを取っているらしい。HDDなどもあるが、バックアップはテープが最適、ということであった。

この日の午後に自分の発表も終了。とりあえず、大きな荷物を一つ下ろすことができてホッとする。
夕飯は、U9 の終点Rathus Steglitz の近くのレストラン(名前を控えるのを忘れてしまった)で懇親会。
オードブルの時点で料理が既に期待できてしまう。
メインもいろいろとあるが、グース(鴨)かディア(鹿)が時期としておススメということだったので、グースを選択。日本ではあまりグースは食べないが、ここのグースはとても美味しかった。あと、やはりキャベツが美味しい。緑だけでなく、淡い赤っぽいのもあって、こちらも美味しい。

懇親会のあとは、U9 に乗ってホテルに戻った。