2018年3月30日金曜日

Linux の screen が勝手に終了してしまうのを回避する

いつのころからか、Linux の screen コマンドや nohup コマンドがログアウトと同時に勝手に終了(あるいは切断)してしまっていて、困っていたのだが、今日になって調べてみたら systemd の変更に由来していることが分かった。

基本的な原因は
http://gihyo.jp/admin/clip/01/linux_dt/201605/30
にあるけれど、解決策としては、
http://blog.daionet.gr.jp/gami/server/systemd%E3%81%A8gnu-screen.html
にあるように
/etc/systemd/logind.conf 
に KillUserProcesses=No を書いて再起動すると screen や nohup が使えるようになる。

上記2つめの URL の記事だと No を書いただけだと反映されない、と書いてあったが、自分のところの設定では再起動してみたら反映されていた。この記事が書かれた後に、また設定の仕方に変更があったのかもしれない。


2018年3月28日水曜日

研究集会に参加してきた

今日は政策研究大学院大学での研究集会に参加してみて、あまり長い時間はいられなかったけど、どれも面白い話だった。

まずは、SDPで主問題と双対問題の両方に内点がないような問題で、その場合には「ほぼ確実に」双対ギャップがある、という話だった。
面白いのは、元の主問題を摂動した SDP の目的関数値は双対問題の値に近くなる、ということだと思う。つまり、摂動SDPの最適値と双対問題の間にあるギャップが分かれば、双対問題の値を求められるわけで、内点法では解けないような問題が解けるようになるかもしれない。

あと、クラスタリングの方法は、ある基準を満たせば凸計画問題で最適なクラスタリングができる、という理論的側面の話があった。
この基準について、どれくらいタイトなのか、というところが分かると、さらに面白いなぁ、と思う。つまり、その基準に使っている値よりも少しでも大きいと最適でないクラスタリングが作れるかどうか、ということ。

もう一つは機械学習系の DC アルゴリズムの話で、こちらの数値実験は精度が 10^{-5} ぐらいの緩いところでは matlab の fmincon よりも速い、という話だった。ただ、matlab の fmincon は汎用ソルバーなので、Lipshitz 条件を満たさない関数でも扱えるはずだから、fmincon よりも速い、というのは妥当なところかと思う。
個人的には、||x||_0 <= k の制約を ||x||_0 = k にも置き換えられたら、もっといろんな問題も解けるなぁ、と思ったり、あとは停留点だけでなくて Robinson 条件とかも満たしているかどうか調べると面白そう、と思ったりした。


やっぱり、たまに他のところで話を聞いてくると、いろいろと思いついたりでいいなぁ。

2018年3月24日土曜日

「最適解に収束しない最適化アルゴリズム」ってないだろうか。。。

いまひとつ矛盾しているように思えるかもしれないけど
「最適解に収束しない最適化アルゴリズム」
がどこかにあったりしないか、探してみて早1か月。
これが当然のことながら見つからない。

内点法にしても first-order method にしても、「最適解に収束します」っていう証明はありふれているけど、「最適解の近くにたどり着けます」っていう証明はあんまりなかったりする。要するに、最適解の10%ぐらいのところまでたどり着けば十分なことは実際には多いけど、そういった実用と数学的な証明は噛み合ってなくて、そのギャップをなんとか埋められないかな、と思ったりもしているところ。


2018年3月19日月曜日

三菱総研の不思議

この前に三菱総研の常務理事の講演会があって、これを聞いてきたけど、三菱総研でどういったことに注力しているか、など聞くことができてとても面白かった。時間は90分しかなかったけど、連続講演で細かいところも聞いてみたいところだった。
普段、論文を書いたりしていると、あまり経営などの視点を持っていないけど、こういう話を聞くと大局的なところも分かっていいかと思った。例えば、論文を推敲しているときも「この単語をこっちの単語に入れ替えたほうがいいだろうか?」など考えているときに、大局的なところがあると判断基準になったりするかと思う。

あと、もうひとつ面白いと思ったのは、「次のイノベーションはどこの分野に起こりそうか」ということを、ある程度はロジカルに見出すことができるということだった。その根拠も確かに聞いてみるとその通りで、目から鱗な感じだった。

それで何晩か考えてみて不思議なのは、「次のイノベーションがどこにあるかわかるのに、三菱総研にイノベーションのイメージがついてこないのはなぜ?」というあたり。ベンチャーと連携したり、とかやっているという話もあったけど、社外と連携するよりも社内でやったりする方が小回りとかも利くようなするのに、そういうわけでもない。
こういうときに「何が足りてないんだろうか?」とか考えるのも勉強の一つになりそうだ。

2018年3月10日土曜日

sharelatex は日本語変換もリアルタイムで同期しているのか~

最近試している sharelatex だけど、非常に面白いことに日本語変換もリアルタイムで同期されている。

たとえば、2台のPCでとなりあってやっているときに、片方のPCで「日本語変換」も「日本語へんか」とか途中まで入力すると、それがもう片方の PC に表示される。カーソルの位置がどこにあるかもわかるので、「他の人がこのあたりを編集しているから、自分は別のところを編集していよう」とかが簡単にできるようになっている。

TeXstudio とか TeXshop とかには、もう戻れないかも。

2018年3月9日金曜日

TeX の \c, \l をどうにかする

TeX には \c, \l など一文字からなるコマンドがあって、非常に迷惑だったのだが、これを回避できる方法があることが分かった。

そもそものところからいうと、\a, \b, \c などを a, b, c などのベクトル表記だったりに充てようとすると \c や \l の内容を上書きする必要があって、この場合にヨーロッパのアクセントに使うべき \c, \l を回避できずに参考文献などで困ってしまう。

こういった場合は
\let\strokel\l
として \strokel にオリジナルの \l を控えさせておいて、それから\rewcommand で \l を再定義すれば回避できる。

今回の内容では
https://tex.stackexchange.com/questions/154067/new-command-and-l-with-stroke
が参考になった。


ただ、参考文献の著者名とかにウムラウトとか必要か?と言われると、そもそも論としては疑問も残るもの。もちろん、著者名を正確に表現できた方がいいのは当然にしても、それだったら漢字やハングルの著者名だって、そのまま表現できるべきであるわけで、まぁ、そのあたりは学術雑誌もちゃんとグローバル化されているわけじゃないんだよね、ってことなのかもしれない。


2018年3月6日火曜日

sharelatex がすごい便利

最近、sharelatex をローカル環境にインストールして使い始めてみている。
(オンライン版もあるので、そっちのほうが簡単だとは思うのだけど、そっちは使わずにローカルにインストールしている。)

ローカルの環境で TeXLive をフルに入れると docker のイメージファイルが 8GB くらいになったりもするし、docker をどうやって使ったらいいか勉強するのが手間ではあったけど、TeX のソースファイルを書く上では、TeXWorks, TeXstudio, Emacs, Atom とかよりも軽快で便利。

特に便利なのは、TeX の構文チェックをリアルタイムで行ってくれるところ。
TeX だと \begin で始まったのが \end で終わってないとコンパイルエラーになるけど、どこでエラーになるのかログを見ただけだといまいちわからなくて、このエラーが結構大変。
でも、sharelatex だと \begin を入れると \end が入っていない場合に赤くなるので、簡単に異常な状態が分かる。ついでに $$ も同様に分かりやすい。
これのおかげでコンパイル回数もだいぶ削減できて、SDD に優しい環境のような気がする(最初に 8GB も使ってるけど)。