2010年8月19日木曜日

xrdb の不具合と conjugate function

Ubuntu 10.04 の emacs にはバグがあって、初期状態で最大化されてしまうことがある。
これを防ぐには、~/.Xresources に
Emacs.Font: VL Gothic-10
のように書いた後、
$xrdb -merge ~/.Xresources
を実行する。

ただ、これにも不具合があることに気がついた。これを実行した Ubuntu から別の Redhat に ssh -Y すると xrdb の設定が引きづられて、Redhat で emacs を起動できなくなる。
このときに、Redhat 上で
$ xrdb -remove Emacs.Font
とすると、Redhat 上では起動できるようになるが、逆に Ubuntu で
$ xrdb -query
とするとわかるように Emacs.Font の設定が消えてしまい、最大化されてしまう。

どうやら、この不具合は ~/.Xresources, ~/.Xdefaults では簡単には修正できないようだ。
また考えることにしよう。


あと、この前から計算していた conjugate function はなんとか計算できた。
もともとの関数は、
f(x,z) = max{x^2-z,0} (ただし、z は非負の値のみが定義域)
という比較的簡単なものだが、conjugate にすると、
f^*(y,w) =
[w > 0 のとき] infty
[w = 0 のとき] y \neq 0 で infty, y = 0 で 0
[w < 0 のとき] y^2 / 4 / min {1,-w}
となる。
Maxima でプロットして視覚的に確認したが、f^* は convex になっている。

この conjugate を計算するには、一度 f^* の定義式を SOCP に変換して、それから dual を生成して関数に戻している。
この方法に気がつくまでにかなりの時間がかかってしまった。
これをベースに、もうすこし難しい conjugate が計算できそうだ。

今日の作業内容: Ubuntu 2h + conjugate 4h
今日のBGM: MADLAX OST [1-2], FF5 OST [1-2], NOIR OST [1-2]
今日のランチ: いろは ネギとろ丼
明日の予測作業時間: 6h

0 件のコメント:

コメントを投稿