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

前回、トロピカルな三次関数をグラフにすると、直線の組み合わせになるとわかりました。
逆にトロピカルで二次関数を書くには元の世界で$${x^x}$$を記述する必要がわかりました。

より一般に、高次多項式は一次関数の組み合わせになります。

$$
\begin{array}{}tp\left(\displaystyle\sum_{k=1}^na_kx^k\right)&=&\displaystyle\bigoplus_{k=1}^n\left(a_k\otimes tp\left(x^k\right)\right)\\ &=&\displaystyle\bigoplus_{k=1}^n\left(a_k+kx\right)\\ &=&\max\left(x+a_1,2x+a_2,...,nx+a_n\right)\end{array}
$$

ここで毎度このNoteのお約束、$${tp(\;\;)}$$はカッコの中を全部トロピカル演算に置き換えて考えるよ、という記号で、このNoteでしか通用しない記法です。


さて、べき多項式が書けるとなると、人間やりたくなることは一つですよね。

Taylor展開(あるいはMaclaurin展開)

なんでテイラー展開かというと、大体の初等的関数はテイラー展開でべき多項式化できます。
つまり、テイラー展開を経由することで、例えばトロピカルな三角関数なんかも書けるんじゃないか? と思うわけです。トロピカルな三角関数なんていかにも役にたたなさそう!!

というわけで色々な関数をテイラー展開側からトロピカル化してみましょう。
まずは一番単純な$${e^x}$$から。こいつはそのままでもトロピカル化できます。

$$
tp(e^x)=xe
$$

一方、0まわりの$${e^x}$$のテイラー展開は

$$
\begin{array}{}e^x&=&\displaystyle\sum_{k=0}^\infty \dfrac{x^k}{k!}f^{(k)}(0)\\ &=&\dfrac{x^0}{0!}+\dfrac{x^1}{1!}+\dfrac{x^2}{2!}+\dfrac{x^3}{3!}+…\\ &=&\dfrac{x^0}{0!}+\dfrac{x^1}{1}+\dfrac{x^2}{1\cdot2}+\dfrac{x^3}{1\cdot2\cdot3}+…\\ &=&1+\dfrac{x^1}{1}+\dfrac{x^2}{2}+\dfrac{x^3}{6}+…\end{array}
$$

ですから(物理の人間はほらそうやってすぐに無限和をとる……)、これをトロピカル多項式と見做せばいいわけです。

本当にいいの?

さて、ここで一つ問題が生じます。
勘のいい読者諸兄なら上でなんでわざわざ細かくテイラー展開の各項をちまちま計算したか、わかるかもしれません。

これ、どの段階でトロピカル化すべきなんでしょう?


以前から少しずつこの問題はあったわけですが、テイラー展開から関数を作る段になってちょっと明らかにどうしようもなくなってきた感があります。

どんな問題かというと、「どの段階で普通の式をトロピカル化すべきか」ということです。

一番単純な例はfreshman's dreamの時のこと、

$$
\begin{array}{}tp\left((x+1)^2\right)&=&(x\oplus1)\otimes(x\oplus1)\\ &=&(x\otimes x)\oplus(x\otimes1)\oplus(1\otimes x)\oplus(1\otimes1)\\ &=&\max(2x,x+1,2)\\ &=&\max(2x,2)\\ &=&tp(x^2+1^2)\end{array}
$$

こんなふうに$${(a+b)^k=a^k+b^k}$$が成立してしまいます。

ところで、トロピカル化をあえて遅らせるとどうでしょう。つまり、先に通常展開します。

$$
\begin{array}{}tp\left((x+1)^2\right)&=&tp\left(x^2+2\cdot1x+1\cdot1\right)\\ &=&(x\otimes x)\oplus(x\otimes1\otimes2)\oplus(1\otimes1)\\ &=&\max(2x,x+1+2,2)\\ &\neq&\max(2x,2)\end{array}
$$

このように、これではfreshman's dreamが成り立ちません。
というのも、展開の時に二つ出てくる$${x\cdot1}$$を2個同類項としてまとめてしまっているのが原因です。
ちょっと変な書き方ですけど、正しいトロピカル分配法則では$${1x}$$と$${x1=1x}$$の二項を$${\oplus}$$すなわち$${\max(\;\;)}$$で比較する、というより同じなのでわざわざ比べるまでもなく1個にしちゃっていいや、

$$
\max(x+x,\underline{x+1,1+x},1+1)=\max(2x,x+1,2)
$$

をやっているわけです。

こんなふうにトロピカル化する時点をあまり考えずに変換すると、間違った結果が出てしまいます。


さて、じゃあ上に列挙した式の各段階、まずどれを選ぶのかという分かれ道があるとわかりました。
しかし、分かれ道はまだたくさんあります。
たとえば一番ナイーブな変換として

$$
\begin{array}{}e^x&=&1+\dfrac{x^1}{1}+\dfrac{x^2}{2}+\dfrac{x^3}{6}+…\end{array}
$$

こんなふうに各項の係数が出来あがっちゃってる場合を考えます。
これ、変換が一通りかというと、そうでもないのです。
というのも、分数は割り算とみなすのか、分数の積とみなすのかで違いが出ます。

$$
\begin{array}{}&&1+\dfrac{x^1}{1}+\dfrac{x^2}{2}+\dfrac{x^3}{6}+…\\&\Rightarrow&\max\left(1,x-1,2x-2,3x-6,…\right)\\ &or&\max\left(1,x+1,2x+\dfrac{1}{2},3x+\dfrac{1}{6}…\right)\end{array}
$$

さらには$${e^x}$$で見えにくい問題として、$${f^{(k)}(0)=1}$$を$${\otimes1}$$とみなすかという問題もあります。
テイラー展開は展開点を高階微分に代入した結果を使いますが、今の$${e^x}$$ではこともあろうか全て1になるので、見えていません。
しかし実際は、

$$
1\cdot1+\dfrac{x^1}{1}\cdot1+\dfrac{x^2}{2}\cdot1+\dfrac{x^3}{6}\cdot1+…
$$

というわけです。
ここまでくると、あれと思うことはまだあります。
その1省略できないなら、$${0!}$$とか$${x^0}$$とかもどうすんの?


さて、こんなふうに異論や表記揺れが噴出しそうな状況になっております。今回は爆死パターンですね。

ひとまず、そういう場合は最初の式に戻って考えるべきかなと、個人的には思います
というのも、二項定理のfreshman's dreamも、結局途中まで通常計算をするとNGになるわけです。
正しくは与えられた元の式を純粋にトロピカル化した場合でした。

もうこれは個人の思いなので、別の定義がいいんじゃやない? とか、こういうのが主流だよっていうのがあったら教えてください。

さて、今回の例なら、

$$
\begin{array}{}tp\left(\displaystyle\sum_{k=0}^\infty \dfrac{x^k}{k!}f^{(k)}(0)\right)\Rightarrow&\displaystyle\bigoplus_{k=0}^\infty tp\left(\dfrac{x^k}{k!}\cdot1\right)\end{array}
$$

から進めるべきで、特に

$$
\begin{array}{}tp\left(\dfrac{x^k}{k!}\cdot1\right)\end{array}
$$

の翻訳に注力すべきだと思います

ひとまず簡単にできるところからいきましょう。$${x^k}$$と$${\cdot1}$$は簡単に翻訳できます。
それぞれ$${kx,\;+1}$$になりますからね。
同時に$${k!}$$は

$$
\begin{array}{}tp(k!)&=&tp(1\cdot2\cdot…\cdot k)\\ &=&1\otimes2\otimes…\otimes k\\ &=&1+2+...+k\\ &=&\displaystyle\sum_{i=1}^ki\end{array}
$$

ですから、これを使いましょう。
この表記だと$${0!}$$は$${0}$$としても良いかと思います。
同時に$${tp(0!)=0}$$と決めると$${\dfrac{1}{0!}}$$は$${+\dfrac{1}{0}}$$を回避するためにも$${-0}$$と翻訳するべきかなと、制限で表記の絞り込みができます。

まとめるとトロピカル化の翻訳は

$$
\begin{array}{}tp\left(\dfrac{x^k}{k!}\cdot1\right)&=&kx+1-(0+1+...+k)\end{array}
$$

となります。

実際何項か書いてみましょう。

$$
\begin{array}{}tp(e^x)&=&&tp\left(\dfrac{0x}{0!}\cdot1+\dfrac{1x}{1!}\cdot1+\dfrac{2x}{2!}\cdot1+\dfrac{3x}{3!}\cdot1+…\right)\\ &=&&0x+1\\ &&\oplus&1x+1-(0+1)\\ &&\oplus&2x+1-(0+1+2)\\ &&\oplus&3x+1-(0+1+2+3)\\ &&\oplus&…\\ &=&&\max(1,x,2x-2,3x-5,…) \end{array}
$$

これをグラフに書くと

となります。
各項は$${kx+1-(kまでの総和)}$$ですから隣の直線と比較して、その交点座標は、

$$
\begin{array}{}&(k+1)x_c+1-((k+1)+k+...+1)=kx_c+1-(k+...+1)\\ &x_c-(k+1)=0\\ &\therefore x_c=k+1\end{array}
$$

これがどうありがたいかというと、頂点の消失がおこらないというところにあります。
つまり$${k-1}$$次項と$${k}$$次項の交点、$${k}$$次項と$${k+1}$$次項との交点、この二つの交点では、後者の方が必ず後に来ます。
これがもしも成立していないと、$${k-1}$$次項から直接$${k+1}$$次項に乗り換えることになり、$${k}$$次項直線が出てこなくなってしまうわけです。

無論、これは指数関数のテイラー展開から入ったからこれが綺麗だなぁと思えるだけなので、他の関数をやると心変わりするかもしれません。

ひとまず今回はここまでにして、次回は今話題の三角関数でやってみることにしましょうか?

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