トロピカルな計算練習(5)
暑くなってきたのでトロピカル。
今回の話ははてなからの移植の合間、話的に追加すべきなんで、今回新規で書いてます。
つまり荒削りってことですね。
今回はトロピカルのグラフを書こうって話です。
応用上よく言及されるのは二次曲線、つまり二変数の二次式ですが、いきなりそれをやるのも難なので、変数一つの関数から攻め上ることにしましょう。
トロピカル一次関数
一次関数の一般的な形は$${ax+b}$$ですから、これを実直にトロピカル化すると、
$$
a\otimes x \oplus b
$$
ですから、これを通常演算に翻訳すると、
$$
\max(a+x,b)
$$
です。こいつはグラフで書くと$${x=b-a}$$を境界に折れるグラフとわかります。
グラフを構成するのは直線二本、$${x}$$軸に並行な線と傾き1、切片$${a}$$の直線になります。
いわゆるランプ関数(ramp function)を平行移動したものです。
つまり、通常演算では切片や傾きの数だけ無数にある(と思える)一次関数が、一つの図形の平行移動で表現できるわけです。
言わずもがな、通常演算の一次関数も平行移動と回転移動をゆるせば同じ「直線」ですが、回転しなくても同一なのはちょっと"軽くなった"気がします。
ところで、トロピカルに移行する時にちょっと問題になることが一つ。係数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}$$が現れないことがあります。
以下ちょっと例をあげときます。黄色の線が求めるグラフ、青赤緑が順に二次、一次、定数項に対応します。
交点座標はそれぞれ
$$
\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(\;\;)}$$はカッコの中がトロピカル演算するよという印です。普通は " " で括ったりするんですが、これだとトロピカル感が薄いので私はこう書いてます。他所では通じません。
思ったよりも内容が多いので、今回はこの辺で。