トロピカルな計算練習(5)

暑くなってきたのでトロピカル。
今回の話ははてなからの移植の合間、話的に追加すべきなんで、今回新規で書いてます。
つまり荒削りってことですね。

今回はトロピカルのグラフを書こうって話です。
応用上よく言及されるのは二次曲線、つまり二変数の二次式ですが、いきなりそれをやるのも難なので、変数一つの関数から攻め上ることにしましょう。

トロピカル一次関数

一次関数の一般的な形は$${ax+b}$$ですから、これを実直にトロピカル化すると、

$$
a\otimes x \oplus b
$$

ですから、これを通常演算に翻訳すると、

$$
\max(a+x,b)
$$

です。こいつはグラフで書くと$${x=b-a}$$を境界に折れるグラフとわかります。
グラフを構成するのは直線二本、$${x}$$軸に並行な線と傾き1、切片$${a}$$の直線になります。
いわゆるランプ関数(ramp function)を平行移動したものです。

max(x+1,1)

つまり、通常演算では切片や傾きの数だけ無数にある(と思える)一次関数が、一つの図形の平行移動で表現できるわけです。

言わずもがな、通常演算の一次関数も平行移動と回転移動をゆるせば同じ「直線」ですが、回転しなくても同一なのはちょっと"軽くなった"気がします。


ところで、トロピカルに移行する時にちょっと問題になることが一つ。係数0を認めるか、ちょっと困ります。

例えばこれ、

$$
1\otimes x \oplus 0
$$

これは対応する通常関数は$${x}$$ですが、

$$
1\otimes x
$$

も通常関数で$${x}$$になります。
この二つは言わずもがなトロピカルなグラフの形状が異なります。$${y=0}$$の線がないわけです。

こんなことが起きるのは当然といえば当然で、通常和の単位元(積零元、あるいは吸収元)である0が、トロピカル和では単位元でもなんでもなく、積単位元であっても、和にとっては通常の元でしかないわけです。

つまり通常関数からトロピカル式への移行の際は、両者の零元の扱いまで考慮すべきということになります。

同様の理屈で、係数1は通常演算で省略しますが、トロピカルだとちゃんと書くべきといえそうです。
そうでないと$${0x\Rightarrow x+0}$$と$${x\Rightarrow x}$$がおなじことになってしまいますし、$${x\Rightarrow1x\Rightarrow x+1}$$とも混ざることになりますから。
うーん、確かにこれは不都合な気がする。

まあ要するに、係数1や0の扱いをどうするか、ちゃんと明言しないと色々混乱を生みかねないってことですね。

仮にトロピカルな一次関数で$${y=x}$$のみを表示したければ、定数項として$${-\infty}$$を持って来れば良いことになります。

$$
\begin{array}{}0x\oplus-\infty&=&\max(x+0,-\infty)\\&=&x\end{array}
$$


これは懺悔と言い訳なんですけど、実ははてなブログで当初トロピカル演算の話をしていた時は、「どっちでもいいか」「それならいちいち書くの面倒だし係数1は省略して、対応として$${\otimes1}$$は省略しよう」という態度にしていたのですが、今回一変数でよくよく考えてみると省略しちゃダメじゃね? と思えてきたんですね。

じゃあ実際省略しちゃダメなのか、ですけど、ざっとネットに転がってる解説ではまちまちな印象です。
というのも、次回以降の話ですけど、二変数関数の場合、$${\otimes1}$$を考慮する場合としない場合で多少平面の配置は変われど、数学的な興味のある「不連続点&線」の構造はそこまで変わらないのかもしれません。
本当に変わらないのかというと、なんか変わりそうな気もしますが、今描いてチェックしているところです。


二次関数

さて、二次関数ですが、一般式は

$$
ax^2+bx+c
$$

ですからトロピカルでは、

$$
\max(2x+a,x+b,c)
$$

ということになります。グラフとしては三本の線……と言いたいところですが、状況によって真ん中の$${x+b}$$が現れないことがあります。

以下ちょっと例をあげときます。黄色の線が求めるグラフ、青赤緑が順に二次、一次、定数項に対応します。

max(2x+1,x-1,1)
max(2x+1,x+2,1)

交点座標はそれぞれ

$$
\begin{array}{} 2x+a&=&x+b&\Rightarrow&x_{12}&=&b-a\\ x+b&=&c&\Rightarrow&x_{23}&=&c-b\\ 2x+a&=&c&\Rightarrow&x_{31}&=&\dfrac{c-a}{2}\end{array}
$$

です。
ちょっと計算するとわかりますが、$${x_{31}}$$は$${x_{12}}$$と$${x_{23}}$$の中点になります。

この三点が一つに重なる場合を境目にグラフの形が変わります。具体的に三本線、三区間、あるいは二箇所で折れるグラフの条件は

$$
\begin{array}{}b-a&>&c-b\\2b&>&c+a\end{array}
$$

これ、ちょっとトロピカルで書くと面白いですね。

$$
\begin{array}{}tp(b^2):=b\uparrow_t2>c\otimes a=tp(ac)\end{array}
$$

ここで$${tp(\;\;)}$$はカッコの中がトロピカル演算するよという印です。普通は " " で括ったりするんですが、これだとトロピカル感が薄いので私はこう書いてます。他所では通じません。

思ったよりも内容が多いので、今回はこの辺で。


この記事が気に入ったらサポートをしてみませんか?