裃のお勉強部屋

物理や数学のおぼえがき

トロピカル幾何学というより計算(2)

さて、前回トロピカル幾何学での計算のさわりを話しました。念のため書いておくと、

・足し算はmaxにしちゃえ
・掛け算は(普通の)足し算にしちゃえ
・一番小さい$-\infty$をみとめちゃえ

というものでした。
うまく零元を入れるために$-\infty$を導入して、数学の先生に叱られそうな$-\infty+1$なんて計算をしました。

さて、今日のアタマは前回の話から少し脱線して、minで和を定義する人が多そう、というはなし。
基本は一緒です。積は通常の足し算のままとします。
\begin{eqnarray*}
1\oplus 2 &=&min(1,2)=1\\\
1\otimes 2 &=&1+2=3
\end{eqnarray*}
というわけです。
この場合零元は$\infty$にします。
\begin{eqnarray*}
1\oplus \infty &=&min(1,\infty)=1\\\
1\otimes \infty &=&1+\infty=\infty
\end{eqnarray*}
このとおり$0$の役を演じてくれます。
minを使うと$-\infty$なんて負の方の無限大を定義しなくていいので、気分はよさそうです。
minを使ったこの規則も分類としてはトロピカル代数に含まれます。
なので和がminなのかmaxなのかはちゃんと確認する必要があります。
そこを明示するために、min-plus代数とか、max-plus代数と呼ぶこともあります。

なんで私がこのブログでmax-plus表記をしているかというと、積分のためなんですね。
だから積分の話なんかをちょっと前の投稿で挟んだわけです。
トロピカルでの積分がどうなるかは自分で調べるか、ブログが投稿されるまでお楽しみにしておいてください。

============
4/22追記 誤植が多い! 見つけたところから直していますがまだあるかと。
============

さて、今回のメインテーマは問題の「引き算割り算」です。こいつが困った。特に引き算。

簡単な方から。
割り算は$\otimes$が$+$なんですから、その逆算、つまり引き算をすることに決めるか、あるいは負の数の足し算としてやればよさそうです。
ただし、負の数の足し算として考えるなら、前回の終わりで「$\mathbf{R}$の正部分だけを考える」としたのを改めなければなりません。

負の数を認めると$\oplus$での$0$の振る舞いが変わってしまいます。
\begin{eqnarray*}
0\oplus (-1)=max(0,-1)=0
\end{eqnarray*}
つまり割り算を可能にすると、$0$は積$\otimes$について単位元$I=1$的な存在でありながら、和$\oplus$での特別な役割を持たなくなるということです。

まあそれでも割り算が定義できないよりかはマシでしょう。
ということで、前回「非負の数」に限定するのをやめて、足し算での$0$の役割にいくらが譲歩をいただき、割り算ができるようにしましょう。

============

さて、じゃあ引き算です。
しかしトロピカル代数では引き算ができないようなのです。

案外割り算みたく譲歩したら上手くできるんじゃない?
って思うかもしれないんですけど、私たちはすでに「和が、とくに$1$にあたる元がちょっと変なことになってるけどままいいか」なんて状況になってるわけです。
気持ちで言うと、和がそこまで満足いく状態じゃないなら、引き算はなおのこと、できたとしても不満が残りそうです。
(大概の計算は積む方と崩す方なら崩す方が難しいと思う。和と差、乗除、累乗累乗根など。微積が特殊かなと)

以下今回は「引き算はうまくいかないよ」って話しかしませんから、そういう失敗譚は不要という方は読まなくていいです。
最後の方では「引き算ってなんだ……」と絶望に暮れます。

============

引き算ってなにかというと、上でも言ったように和の逆計算と考えることが多いかとおもいます。
たとえば、
\begin{eqnarray*}
1+3&=&4\\\
1&=&4-3
\end{eqnarray*}
ということです。
これはいわば、
\begin{eqnarray*}
(1+3)-3&=&4-3=1
\end{eqnarray*}
というふうになります。
つまり、和をしたことを打ち消す操作(ctrl+z)といえます。
3を足すと3を引くが対になっているということです。
あるいは、
\begin{eqnarray*}
(1+3)-3&=&1+(3-3)=1+0=1
\end{eqnarray*}
ここ、$3-3=0$のように同一のものどうし差を取るとかならず$0$に飛ぶ操作ということもできます。

一方で、こちらも上で触れたことですが、負の数を認めてしまえば、差は負の数の足し算として定義できます。
\begin{eqnarray*}
(1+3)-3&=&(1+3)+(-3)\\\
&=&1+3+(-3)\\\
&=& 1+0=1
\end{eqnarray*}
この場合は演算そのものは足し算だけですが、負の数の足し算と考えることで引き算を表現しています。
数学の「環(ring)」というあつまりはこの解釈をとっていて、特に実数などの環において引き算は負の数の足し算、割り算は分数の掛け算として考えます。

つまり差は「差という演算(射)がある見方」「演算は足し算だけど量(元、要素、対象)に負の数がある見方」ができるわけです。

============

さて、じゃあトロピカルに引き算を入れるにはどう見るべきなのでしょう。(何度も言いますが失敗します)

「環」で使われてる負の数的な考えを持ち込むにも、負の数はすでに$\otimes$の逆元で使われてますし、それを$\oplus$に作用させてもただ大小判定がされるのみです。ひとまずどんなものかは不明ですが、負の数的なことができる何かを探す方針でいきましょう。
それを$\bar{3}$のように書くとします。
例えば
\begin{eqnarray*}
2\oplus 3&=&3
\end{eqnarray*}
では、$\bar{3}$を$\oplus$とすると
\begin{eqnarray*}
(2\oplus 3) \oplus \bar{3}&=&3 \oplus \bar{3}
\end{eqnarray*}
これがもとの$2$になるということなので、
\begin{eqnarray*}
3 \oplus \bar{3}&=&2\\\
max(3,\bar{3} )&=&2
\end{eqnarray*}
$3\neq 2$なので、$\bar{3}=2$になります。
ところが作ったそばからで恐縮ですがこれは再度代入すると矛盾します。
\begin{eqnarray*}
3 \oplus \bar{3}&=& 3 \oplus 2 \\\
&=&max(3,2)=&3
\end{eqnarray*}
さらにそもそも$2$でなくても$1$なんかでも同じ結果が出るため、$\bar{3}$をいきなり提示されて、これを足しなさいと言われても結果の行先が一通りに決まらない、困った状態になります。
$1\oplus\bar{3}$がいくつになるかも不明です。

そういうわけでmax-plus代数は和の逆元を諦めます。
こういう数学は「環」ではなく「半環(semiring)」と呼ばれています。
これ日本語訳が、なぜか「半」なんですよね。「準」ではないんですよ。半分しか上手くいかないから?

4/22追記:もともと非負の数で考えていた頃の記述を消して、統一しました。
============

では逆元はもう諦めて、逆演算を定義する立場ならどうなんでしょう。
\begin{eqnarray*}
a \oplus b \ominus b&=&a
\end{eqnarray*}
こうなって欲しいわけです。
しかしこれはどこから計算するかで変わります。
\begin{eqnarray*}
(a \oplus b) \ominus b=a
\end{eqnarray*}
$a>b$では
\begin{eqnarray*}
a \ominus b=a
\end{eqnarray*}
つまり大きい方を答える演算になります。これじゃあ$\oplus$とおんなじ演算ですから分けた意味がありません。

一方$ a < b $では
\begin{eqnarray*}
b \ominus b=a
\end{eqnarray*}
となるわけですが、これは$ a < b$ なる$a$全てでこの結果になるということで、前提なしに$ b \ominus b $をやれと言われると詰むという、逆元を考えた時と同じ問題にぶち当たります。
それじゃあ
\begin{eqnarray*}
a \oplus (b \ominus b)=a
\end{eqnarray*}
この順の計算は? というと、$b \ominus b $が$a$以下$0$以上ということになります。
それなら$b \ominus b=0$でいいや、といえそうです。
ただこれは引き算の性質の中の「同一元での演算はかならず0」をやっただけです。
まだ一般に$\ominus$がどんなものかは不明です。
とはいえひとまず少し前進、引き算は足し算より先って決めてしまいましょうか?
でも、
\begin{eqnarray*}
a \oplus (b \ominus a)=b
\end{eqnarray*}
で詰みます。
$b \ominus a$の正体が不明ですが、$a \oplus (?)=b$ですから、$b > a$で$(?)=b \ominus a=b$となってほしいわけです。
しかしこれだと$\ominus$はmaxになってしまうので、$\oplus$と同じ演算になってしまいます。
それなら$\ominus$なんて不要だよね、となりそうです。

============

袋小路感があるので、じゃあもうこのアプローチはやめて、もっと単純に$\oplus$がmaxなら$\ominus$はminでどうだ! としてみましょうか。
つまりmax-min-plusという代数です。
\begin{eqnarray*}
(1 \oplus 2)\ominus 2&=&min(max(1,2),2)=2\\\
1 \oplus (2\ominus 2)&=&max(1,2)=2\\\
(3 \oplus 2)\ominus 2&=&min(max(3,2),2)=2\\\
3 \oplus (2\ominus 2)&=&max(3,2)=3
\end{eqnarray*}
このように時と場合によって満足のいく結果と満足のいかない結果が混在してしまいます。
どちらかというと満足いかない結果が多く、こうなってくると「我々は一体引き算に何を求めてるんだ?」と混乱してきます。

============

そうですそもそも引き算という演算のアイデンティティはなんなんでしょうね?
ひとまず和の逆算というアイデンティティはmax-plus代数上では使えなさそうなので、ほかの性質を満たせばもう引き算でいいかって気持ちになってきます。
引き算を演算としてみると
\begin{eqnarray*}
a-a&=&0\\\
(a-b)-c&\neq &a-(b-c)\\\
a-b &\neq & b-a=-(a-b)
\end{eqnarray*}
べき零、非結合、非可換ですから、このうちいくつかを満たせば引き算と言い張っていいのかもしれません。
しかし、この中のどこまで捨てても良いのか、どこまでを引き算と名乗って良いか……。このあたり共通認識がどこまでできているのか、私は知りません。

それともそれならはなから引き算を捨てて、もう半環でいいやってことなんでしょうか。

============

さて、どうしてこんなに引き算にこだわって、袋小路をうろうろして見せたかというと、引き算ができないとちょっと困るんです。物理の立場では。

微分、おまえどう定義するの?