NTT データ(の子会社)を退職しました

本記事は退職者 その2 Advent Calendar 2018 の 19 日目の記事です。

18 日目は そうちゃん さんによる「 女児向けアニメを観て仕事を辞めた話(社会人5年目2度目の退職)」 でした。

20 日目は id:mitsuba3 さんによる 「明日退職します。おちこんだりもしたけれど、 私はげんきです。」です。

NTT データ数理システムを退職しました。はい。

正確には 12/31 付での退職ですが、最終出社も終えたので気持ち的にはすでに退職しています。

2012 年 4 月に入社してから 6 年 9 ヶ月、特に数理計画部には 6.5 年在籍していたのでそれなりに感慨深いです。

仕事何やってたんだろな??

と振り返ると自分でも疑問が残りますし、特に入社数年たったあたりからは会社に行って数学の勉強をしていた時間の方が長かった気がします。 部長やグループリーダー各位には本当に申し訳ないなぁ、と。

これだけ勤めていたので、それなりに面白いこともあったので、振り返ってみます。

会社の変化編

入社 1 ヶ月前

修士論文発表会も終わり、約 1 ヶ月インド旅行に行っていたある日、NTT データに買収された旨のメールが届く。

「あれ?ここは僕が入ろうと思った会社のままなのだろうか??」

という不安を感じるも、5 秒後には「考えてもしょうがない」となる。 しばらくインドにいた影響だろう。

新人研修

買収直後のごたごたもあり、マナー研修などといった社会人研修がなぜかなかった。ラッキーだ。

翌年からはデータ本社の研修センターに行って研修を行っているらしく、後輩は大変だなぁ。と思っていた。

が、

「あれはグループ会社の新入社員をわーっとあつめて、つまり男性が多い職場と女性が多い職場の人間がごっちゃになることで、出会いを提供するシステムなんだよ。」

というある人の意見をこの前聞いて思わず納得してしまった。(あくまでも彼の意見です

ぼくもぐるーぷがいしゃのおんなのことしりあいたかった。。。

数理計画部配属後

無事に希望通り数理計画部に配属される。希望を聞かれた覚えはないけど。。。(僕の代は概ね希望通りの配属先になっていたので何かしら手法を使っていたのではと疑っている

このときから数理計画部としての必須の研修が始まる。

部員としての共通知識で、会社固有でない一般的な内容としてはまずは

あたりか。

OR 学会、RAMP シンポジウムといった各種研究集会への参加も推奨されていたり、東京だと週末にも (当時でいえば) SOTA, WOO, いまでいえば OPTA などあり、最適化の勉強をするには大分いい環境だったかと。

困ったのは Python で、当時は書籍があまりなく本屋では Ruby( on Rails) の本が大量に並んでいる中に隠れるように「みんなの Python」がひっそり並んでいるような時期だったので、

「なぜ、Python?」という感じだった。

後に会長から、数理で開発に Python を使用し始めたのが 2007 年だったと聞き、もっと驚いた。

入社 1.5 年後

会社名と会社所在地が変わる。社名が

数理システム→NTTデータ数理システム

と prefix がつく。所在地も

新宿 2 丁目→信濃町

へ。

「勤務地は新宿 2 丁目です。」

という鉄板ネタが使用できなくなる。

業務編

親会社のお手伝い

python で書かれたある algorithm のコードが遅いから、それを C++ で書き直すかも。

という親会社の案件に入ることに。

実際には僕が入る前に jit compile するようにしたら爆速になったとのことで、高速化とは関係ない単なる algorithm の prototype 開発案件になった。

そういえば初めての豊洲常駐。

twitter で観測される、低 spec PC での開発という貴重な体験をする。(一番驚いたことは他にもあるのだが、言っていいのかわからないので割愛。

なおこのときに超兄貴という名前が定着。

何をしても、

「さすが超兄貴!ガチですね!!」

状態。

あだ名もいろいろ変わったなぁ。。。

受託編

利益の多くを担っている受託開発ですが、数理計画部での受託開発は大雑把にわけて以下の 3 通りかなと

  1. 数理計画問題として定式化し solver に (iterative に) 解かせる
  2. フルスクラッチで algorithm の開発
  3. 1 と 2 の合わせ技

1 の方法のどこに面白さを感じるかというと、自分らでもっている solver がどういう風に実行可能解を見つけてくるかとか、どういう制約条件を加えるとよい cut を加えてくれるかなんかの挙動を見るのが面白いようだった。完璧に内部開発者向けの面白さ。

2 は algorithm lover なら好きなんだろうな。という感じ。

楽しいか楽しくないかでいえば、、、僕はべつに楽しくなかった。

solver 開発編

あまり関わらなったので、個人の経験については省略。

ただ開発にコミットしていた人たちは、世界の有名ソルバー(GUROBI, CPLEX, Xpress) に追いつこうと

  • MIPLIB がどのくらい解けるようになった
  • この問題がめっちゃ速く解けるようになった

などと歓喜している様子を散見したので、多分面白さを感じていたのだろう。

日常編

セミナー

2015 年後期に信濃町煉瓦館 4F もテナント契約したことにより、外部の人を呼んでのセミナーが開きやすくなった。

最初は平日だけだったが、後に休日も使用するようになり、毎週のように数学のセミナーを開いていた。

僕主催と 数学カフェ さん主催の会との両方があって、(純粋)数学と数年間離れていたリハビリに非常になった。

定期的にセミナーを開催できる場所があるのは本当にありがたい。

日常会話編

そもそも会社に純粋数学・理論物理出身が多いということもあって業務時間中に数学の話をすることができたのが非常におもしろかった。

例えば、東大 K 野先生の研究室の先輩でもあった F 氏からは、業務で青本先生の仕事を使った経験やら、ICMS 2016Voevodsky の話を聞いた、といった話を聞いた。いや、Voevodsky の話はよくわからなかったけど。

Lasserre の仕事を聞いたのもこの先輩だったか。

他にも面白い人はいろいろいて、偏微分方程式数値計算、表現論、K-theory・K-homology etc なんかの話を気軽に聞くことができたのはよい職場だったのだと思う。

こういう日常があるのはめぐまれていた。

そういえば数年前から問題になっているが、数論出身者がどうにも少ないのは不健康だと思う。

今後

まったく不満がなかったかというと嘘になるが、上で述べたように僕は基本的に数理社に対しては悪い印象をあまり持っていないわけで。 ではなぜこのタイミングで退職という道を選択したのかというと、数理計画よりトポロジーが好きだった、ということに終始するかと。

Koizumi 氏による

togetter.com

という有名な言葉がありますが、世界を応用トポロジーで照らす、その準備をするために、この度退職という選択をしました。

愉快な数理計画部員の皆様からの「怪文書を書いてほしい」という期待には応えられないことは申し訳ないのですが、最後に、

  • T 部長
  • N グループリーダー
  • T 元グループリーダー
  • すべての数理計画部員

へ感謝を述べて文章を締めたいと思います。

離散 Morse 理論紹介~その1~

これは数学 Advent Calendar 2016 18 日目の記事です。遅れまくってスミマセンスミマセンスミマセンスミマセン。。。 17 日目は snuffkin さんによる はじめての圏論でした。19 日目は kobae964 さんによる モナドTipsについて です。

離散数学、最近ではコンピュータグラフィック、データ分析でも見ることがある Discrete Morse 理論を軽く眺めてみようと思います。*1多様体に対しての morse 理論は今回は解説しませんが、詳細については例えば [Milnor] などを参考にしてください。

離散 Morse 理論では、与えられた CW 複体の homotopy 型を変えずに cell の個数を減らすことを目標とします。cell の数が減るということは、境界準同型

{ \displaystyle
\partial : M_n(X) \to M_{n-1}(X) }

を行列表示した際の行列のサイズが小さくなることを表し、データの位相的な性質を求める際の計算量が削減できるわけです。また、具体的な cycle, cocycle の計算も可能になったりと、 みんな happy(^^)

CW 複体の正確な定義は述べませんが、胞体複体であってよい位相を持つものと考えておいてください。*2

簡単のために以下では対象としては単体複体とします。(あくまでも対象は。最終的に出来上がるものは CW 複体)。

以下、 K と書いたら単体複体とします。

Morse 関数と臨界点

まずは定義を見てください。

Def(離散 morse 関数)

 { \displaystyle
f: K \to \mathbb{R}
} は任意の p-単体 { \alpha^p \in K } に対し

  1. {
\#  \left\{ \beta^{p+1} > \alpha \mid f(\beta) \leq f(\alpha)  \right\} \leq 1
}
  2. {
\# \left\{ \gamma^{p-1} \lt \alpha \mid f(\gamma) \geq f(\alpha)  \right\} \leq 1
}

の 2 条件が成立するときに Morse 関数という。 { \Box }

Def(critical)

{ f: K \to \mathbb{R} } を morse 関数とする。 { \alpha^{p} \in K } はつぎを満たすとき p-次の critical simplex(CW 複体のときは critical cell) という。

  1. { \displaystyle
\#  \left\{ \beta^{p+1} > \alpha \mid f(\beta) \leq f(\alpha)  \right\} = 0
}
  2. { \displaystyle
\# \left\{ \gamma^{p-1} \lt \alpha \mid f(\gamma) \geq f(\alpha)  \right\} = 0
}

K の critical な p-単体の個数を { m_p } と書くことにする。

例:
f:id:simizut22:20161225130018j:plain

左は Morse 関数ではありません。0 の値を振ってある edge で上の条件 2 が、5 の値を振っている点で条件 1 が崩れているのがわかります。
一方、右は morse 関数の例になっています。その critical 単体は 0 の値を振ってある頂点と 5 の値を振ってある edge です。 { \Box }

例:
単体複体 K 上の関数 f を各単体 { \sigma } に対し、その次元を対応させる関数:

{ f(\sigma) = \dim\sigma }

とすると、これは morse 関数になり、全ての単体を critical simplex としてもつ。 { \Box }

定義の妥当性

この定義、どういうことを考えているのでしょうか。 2 次元の曲面で、指数が 1 の臨界点を持つものを考えます。(ここでいう臨界点や指数は可微分の意味です)いわゆる hyperbolic point です。下の図での原点が対応する点です。

f:id:simizut22:20161225151827p:plain

さて、可微分の場合の morse 関数ではこの 0 よりも少し小さいところから、稜線をたどることで 1 handle を図形に張り合わせます。

その稜線が離散における critical な単体に対応するわけです。端点にいくほど値が小さくなり、face の方向に進むと値が大きくなります。

今日の Main Theorem

さて、Morse 関数があると、その臨界点から多様体の分解がえられました。離散の場合でも同様の結果が言えます。

Thm
K を単体複体で f を K 上の morse 関数とする。このとき K は p 次元のセルを { m_p } 個持つ CW 複体と homotopy 同値 { \Box }

微分の場合と同様、weak(および strong) morse 不等式も成立します。

Cor(Weak Morse Inequality)

K を単体複体で f を K 上の離散 morse 関数とする。このとき
{ m_p \geq \beta_p(K) }

ここで、{ \beta_p } は K の p-次 betti 数。
とくに
{ \displaystyle
\chi(K) = \sum_{p = 0}^{\dim(K)}(-1)^{p}m_p
}

Cor(Strong Morse Inequality)

K を単体複体で f を K 上の離散 morse 関数とする。各 p に大して次の Strong Morse 不等式が成立する

{
m_p      - m_{p-1}      + \ldots + (-1)^p m_0 \geq
\beta_p - \beta_{p-1} + \ldots + (-1)^p \beta_0
}

計算例

さて、先の定理からなにやら離散 Morse 理論が単体複体の homotopy type を計算するのに使えそうな気がしてきました。最後に一つの例を紹介します。

非連結グラフのなす複体

{N_n} を完全グラフ { K_n }の spanning subgraph、すなわち全ての頂点を持つ subgraph、のうちで非連結なものの集合とします。

{ G_1, G_2 }{ K_n }の spanning-subgraph とします。 もし { G_1 \subset G_2 } かつ { G_2 \in N_n } とすると、{ G_1 \in N_n } が成立します。こういう性質を単調減少性と言います。

一般に単調現象なグラフ不変量があると、単体複体を構成することができます。今日は { N\_n } に対し、単体複体 { X_n } を得てみます。具体的な構成は次です:

 { \displaystyle
G \in N_n } が k-単体 { \Leftrightarrow } G は k+1 個辺を持つ

先の、単調性からこれが単体複体であることがわかり、k-単体 G の各 face は non trivial な spanning subgraph になっています。

この { X_n } は次の homotopy 型を持つことが discrete morse theory を用いて示されています。

定理

{X_n}{ (n-1)! } 個の (n-3)球面のウェッジ和とホモトピー同値。

証明は、morse 関数を構成することによります。*3

最後の例と関連して、1-連結グラフ、2-連結グラフの cohomology を、そしてその具体的な生成元を求めることも可能ですが、それは Vassiliev による finite type knot invariant の構成と関連してきますが、それはまた後日。

  • [Milnor] Milnor, John (1963). Morse Theory. Princeton University Press.

*1:今日紹介するのは Forman による

*2:有限部分複体による被覆に関する弱位相を持っています

*3:morse 関数の構成に関しては、Gradient Vector Field という概念の説明も含めてまた後日

(微分構造を)もたざるもの

これは日曜数学アドベント・カレンダー 2016 12 日目の記事です。

11 日目は伊藤那由多さんによる 巨大数(ふぃっしゅ数とは言っていない) でした。

本日のテーマは微分構造を持たない多様体を作ることです。有名な例としては [Kervaire] による 10 次元多様体の構成がありますが、本日は田村一郎先生による 8 次元多様体の構成を紹介します。同様の方法で 16 次元も作ることができますがそれは,原論[Tamura] を参考にしてください。

1. {S^4} 上の {S^3} bundle

{ \rho, \sigma : S^3 \to SO(4)} を次で与えます。

{ \rho(u)v = uvu^{-1} , \,\,\,
\sigma(u)v = uv  }

ここで,3 次元球面 {S^3} は 4 元数体を用いて, { S^3 = \left\{ x \in \mathbb{H} \mid \|x \| = 1 \right\} \subset \mathbb{H} } と考えています。

Fact1
homotopy 群  {\pi_3(SO(4)) \cong \mathbb{Z} \oplus \mathbb{Z} } であり,{ \rho, \sigma } で生成される。

上の事実から、{ S^4 } 上の rank 4 の有向な vector bundle (upto-iso) が { \rho, \sigma} を用いて一意に表すことができることがわかります。

そこで { S^4 } 上の rank 4 vector bundle

{ \displaystyle
p_{m} :  E_m \to  S^4 }

{ m \rho + \sigma \in \pi_3(SO(4)) } で与えられるものとし、これ に付随する sphere bundle を { \xi_m }, disk bundle を{ \overline{\xi}_m} とします。

  • { \displaystyle
\xi_{m} :   S^3 \hookrightarrow B^7_{m} \xrightarrow{\pi_{m}} S^4 }
  • { \displaystyle
\overline{\xi}_{m} :   D^4 \hookrightarrow \overline{B}^8_{m} \xrightarrow{\overline{\pi}_{m}} S^4}

{ \partial \overline{B}^8_{m} = B^7_{m} } が成立していることに注意してください。

こいつらがどういう空間なのか少し考えてみます。

 {B^7_m, \overline{B}^8_m } はともに可微分多様体であり, { \displaystyle
B^7_m \underset{homeo}{\cong} S^7 } ,特に m = 0 のとき, { \displaystyle
B^7_0 \underset{diffeo}{\cong} S^7
} となります。

{ \overline{B}^8_{m}} の方はどうかというと, { \displaystyle
\overline{B}^8_m \underset{homotopy 同値}{\sim} S^4 }  が成立しています。

同相写像を通すことで、  {\pi_m : B^7_m \to S^4 } は homotopy 群  {\pi_7(S^4) } の元を定めます。

Fact2
{ \displaystyle
\pi_7(S^4) = \mathbb{Z} \oplus \mathbb{Z}/(12)
}

そこで,無限巡回群の生成元を { \nu } とし,有限巡回群の生成元を { \gamma } とする*1。この { \nu } は Hopf Fibration の homotopy class と一致しています。

さて、 { \xi_m } を homotopy fibration という立場で見てみましょう。すると

  • { \displaystyle
\xi_{m} :   S^3 \to S^7 \xrightarrow{\pi_{m}} S^4 }

と見えます。 (Quaternionic) Hopf Fibration に似ているとおもませんか?? ただし、fiber が { m \rho } でひねられています。すなわち、

Prop
{ \displaystyle
[ \pi_m ] = \nu  + m \gamma
}

多様体の構成

多様体の構成は恐ろしく簡単です。

{
M_m := \overline{B}^8_m \cup_{\varphi} D^8
}

ここで、 { \varphi : B^7_m \cong S^7 } を用いて、{ \partial \overline{B}^8_m = B^7_m \to S^7 } により境界を同一視しています。

これで完成です。あら簡単。

この m がある条件を満たすときに、微分構造をどうやっても持てません。

Thm
{ M_m }{ m(m+1) \not \equiv 0 \pmod 4} の時、微分構造を持ちえない

証明のラフスケッチ

結論から言うと homotopy 不変な値の違いを可微分な場合と比較することで示します。

まずは {M_m} を homotopy 同値で変形して、セル複体の構造を簡単にします。 すなわち、 前述の { \displaystyle
\overline{B}^8_m \sim S^4 } という homotopy 同値を用いると次 homotopy 同値が導けます。

 {
M \sim S^4 \cup_{h} D^8 \\
[h] = [ \pi_m ] = \nu + m \gamma \in \pi_7(S^4)
}

一方、次の定理が示せます。証明は原論文を参照してください。

Thm
M を 3-連結、{ H_4(M) = \mathbb{Z}}、境界のないコンパクトな 微分 多様体とする。
このとき、{ m(m+1) \equiv 0 \pmod 4} な m を用いて、M は { S^7 \cup_{g} D^8 } where { [g] = \nu + m\gamma \in \pi_7(S^4) } という homotopy 型を持つ

構成した {M_m} の cell structure から 3 連結であること、 { H_4(M_m) = Z} は明らかです。 よって、上の定理から m が条件 { m(m+1) \not \equiv 0 \pmod  4} を満たさない場合に可微分構造を持つことができないと結論付けることができます。

13 日目は integers_blog さんによる 日記 です。

参考文献 #

*1:J-準同型 { J: \pi_n(SO(r )  ) \to \pi_{n+r}(S^r) } を用いて { \nu = J(\sigma) , \,\, \gamma = J(\rho)} と書ける。

今年の数学勉強会に関してのまとめのまとめ

昨日で Advent Calendar の記事が出そろいましたが、まとめ的な記事が多いなぁ と思ったので、まとめ記事をまとめました。

  1. 物智 — 今年の数学勉強会まとめ
  2. 物智 — 2015年の日曜数学活動まとめ+神に迫る小咄
  3. [【追記しました!23:47】 もうすぐクリスマスですね!... - 数学カフェ #math_cafe | Facebook
  4. 「プログラマのための数学勉強会」の一年を振り返る - Imaginary & Imaginative.
  5. #日曜数学 の多様性を感じた25日間:日曜数学 Advent Calendar 2015 まとめ - tsujimotterのノートブック

この中で私と関係があるものでは

  • 数学カフェ
  • プログラマのための数学勉強会
  • 日曜数学会

でしょうか。

それぞれの会については最初の butchi_y 氏記事 が詳しいと思います。 また、上では紹介されていないのですが、他にも 関西すうがく徒のつどい | 数学を愛する人たちのための交流会兼勉強会 というのもありまして。チョー楽しいです

私も

  • 日曜数学会 : 第 2 回から
  • プログラマのための数学勉強会
    • 第 3 回 : 参加
    • 第 4 回 : 発表
    • 第 5 回 : エア参加
  • 数学カフェ : 第 5 回から
  • 関西数学徒のつどい : 第 7 回

と参加させていただきました。

ちなみに、今年は京都大学数学教室にも同窓会ができました。(私も設立総会に参加してきました) www.math.kyoto-u.ac.jp 他には、日本アマチュア数学協会 という facebook group が作られたりしています。(今年かは不明)

なぜ今年こんなにも数学を嗜好する人間が集まり始めたのかはわかりませんが、この繋がりは今後も続いてほしいと思います。

近況

今後も続いてほしいとか偉そうなことを言いましたが、その前に私としては 1 月の 第 10 回数学カフェで Poincaré の業績について話さなくちゃいけないので、今からひーひー言ってます。ひーひー言ってたら

という煽りまで受けて、さらにひーひー言ってます。