逆関数


逆関数(inverse function)というのはいった何だろうと、初めはとまどいました。y=f(x)において、x=g(y)を求めることであることは判るのですが、それがどういうものなのかイメージがつかめませんでした。y=1/(x+1)の逆関数が、y=(1-x)/x であるのは簡単に求められますが、y=x^3+3*x^2-2*x+4 などの逆関数は簡単に求められそうもありません。あまり話題にしても仕方のないテーマなのかと感じていたのですが、「 e^xの逆関数がlog(x)である 」と聞いて、少し興味を持ちました。複雑な関数の中にも逆関数という概念が当てはまる場合があるのですね。

少し興味を持って調べてみると、tan(x)の逆関数がarctan(x)であるとか、sin(x)の逆関数をsin^-1(x)と書き表すとか、いろいろ教えられました。それはそれで納得しましたが、それ以上の関心が呼び覚まされることはなく、長らく無関心でいました。ところが、ATN座標というテーマを研究していたところ、逆関数について、私にとって新しい視点が与えられました。

y=f(x)をx=g(y)にするという説明も良いのですが、それだとx=g(y)を求められない場合が多いので、イメージが掴みずらく、取り上げようという意欲が湧いてきません。ところがATN座標を使って考えると、逆関数の意味が簡単に理解できるので、研究してみようという気になります。「意欲が湧く」という点は凄く大切ではないでしょうか。何事も意欲が湧く方向からアプローチしてゆけば道が開けてきます。

もっとも、意欲には個人差があるので、私の場合は意欲が湧いても、他の人には面白くも何ともないということもあるでしょう。それはそれで仕方ありません。例によって、ここではあくまでも私個人の意欲の湧いたテーマだけを追求していきます。

e^xとlogの逆関数の図

ATN座標での逆関数の意味

ATN座標で考えると、逆関数を簡単に理解することが出来ます。つまり、ATN座標上のf(x) に対して、y=xの線に対称なg(x)が逆関数となっているということです。

y=x線に対象ということは、実はXY座標でも同じことなのですが、XY座標で考えているときには思いつきませんでした。やはり、ATN座標と逆関数は相性が良いのではないかと思います。

手始めに、もっとも基本的な逆関数関係にある e^x と log(x) のグラフを書いてみました。

このグラフを見れば判るように、e^x と log(x) は、y=x 線上で対称となっています。ですから、どのような関数であれ、ATN座標で表示した後、その形と対称の図形を示す関数を求めることが逆関数を求めることになるというわけです。



Y=X^2の逆関数y=x^2の逆関数の図


y=x^2 は最も初歩的関数の一つで、放物線と呼ばれることもあります。
これをATN座標で書くと放物線ではなくなりますが、非常に綺麗な線であることに変わりありません。
この式の逆関数は、ATN座標に表示しなくても判ります。つまり、
y=√x です。この線を赤色で示してみると、両者が y=x 線上で綺麗に対称となっていることが判ります。

どのような y=f(x) でも、ATN座標に書くことが出来るなら、y=x線に対して対称の図形が必ずひとつ存在するので、逆関数もかならずひとつだけ存在することが判ります。ただし、その関数を通常の数式で書き表すことが出来るかどうかは別問題です。
おそらく、すべて可能だろうとは思いますが、中には難しいのもあるかもしれません。そこで、試しに、いくつかの関数の逆関数を求めてみました。



ゼータ関数の逆関数ゼータ関数と逆関数の図


それでは手始めにゼータ関数の逆関数を求めてみました。
y=1+1/2^x+1/3^x+1/4^x+1/5^x ....... ですから、逆関数を求めると言っても、簡単ではないという感じがします。しかし、ATN座標に書いて、y=x軸に対称である図形と考えると、どういう形かすぐに思いつきます。あとは、その図形を表す関数を求めればよいということになります。判ってしまうと求められそうな気がするものです。そして、求められそうという気持ちが解決方法を思いつくエネルギーになります。数学研究も動機付けが重要なのです。

さて、実際に求めるやり方は簡単ですが、時間がかかります。ここでは、最初ですから、初歩的なところから説明しておきます。

まず、y=f(x) で、x=2, 4, 8, 16, 64.... と順次代入して、yの値を求めておきます。すると、近似的に x=g(y) となるような式を思いつくはずです。

実際にと言っても、本当に計算するのは大変です。すでに、su(n)の計算は出来ているし、ベルヌーイ数も1000まで計算してあるので、suの公式を使って、f(x) を計算することが可能です。つまり、
su(x)=2/(2pi)^x* { 1+1/2^x+1/3^x+1/4^x+..... } ですから、f(x)=su(x)*(2pi)^x/2 となります。これなら時間がかかりません。

まず、xが大きくなるとyは1に近づくので、y-1 とします。その次は、急激に0に近づくので、x=a*log(1/(y-1))と置いて、多桁計算ソフトを使ってaを計算してみました。すると、a=3.321928095 となり、1/log(2) であることが判りました。次に、p=1/(y-1) と書くことにして、x-log(p)/log(2)=p^a と置いて、このaを計算したところ、a=0.584.... となり、なかなか確定してくれません。しかし、収束することは間違いなさそうなので、いろいろ工夫したところ、a=log(2/3)/log(2) である可能性が大きいと見えてきました。これを前提にすると、pの項数がlog(e)/log(2)に収束してくれます。

さて、その次ですが、log(e)/log(2)/pとなり、次をp^bとおいてbを求めたところ、b=-1.169...あたりに収束しました。これは、先のlog(2/3)/log(2)の倍に近いので、関連があるのではないでしょうか。

この先を求めるのは大変ですが、時間さえかければさらに詳しい式の内容を掴むことが出来るはずです。
一応、このあたりまでを纏めて、x,yを置き換えて表示しておきます。

p=1/(x-1)として、y = log(p) / log(2) + p^{(log(2/3)/log(2)} + log(e)/(log(2)*p) + ........ となり、これがゼータ関数の逆関数と言うことになります。



y=x^3+3x^2-2x+4 の逆関数

y=x^3+3x^2....の図
ゼータ関数は取っつきにくいと言う人のために、初歩的関数の中では難しそうに思える y = x^3 + 3x^2 - 2x + 4 を取り上げてみようと思います。この関数になったのはまったくの偶然、つまり適当に選んだもので、形が綺麗だとか、有益というわけではありません。これにも逆関数があるということを示すことにより、ATN座標のわかりやすさを説明することにします。

この関数はマイナスになると急激に減少するので、グラフに書きにくいのですが、間隔を小さくしたところ、ようやくグラフらしくなりました。やや線が太めなのはそのためです。

赤い線が逆関数で、その式は、x=4 でy=0 で、xが増加すると急激に大きくなります。どのような関数になっているかは多桁計算ソフトを使って実際に計算してみました。当然、y=f(x) よりは小さい値ですから、おそらく y=x^(1/3) あたりになるのではと推測できます。事実その通りになっていました。その先についても計算してみると次のようになりました。綺麗に表現するために、 p=x^(1/3) と置いておきます。 y= p-1+5/3p-8/3p^2+4/9p^4 - 701/81p^5 + ...... となっています。

式の求め方は、元の関数 y=f(x) を実際に計算してみて、その x を yで表現できる式を探すと言うことです。特に難しいと思わないので、これ以上説明しませんが、y=3x^3 とか、y=x^2+5 などの簡単な式の逆関数を求めてみて、そのやり方を参考にすればすぐに判ります。多桁計算ソフトの使い方については別途説明してあります。(現在、ソフトを修正中なので、できあがり次第、再度解説を載せることにします。使い方としては以前のソフトとほとんど同じです。)


Σ(1/n)の逆関数Σ1/nと逆関数の図

Σ(1/x)は、無限級数ですから、逆関数といってもすぐにはピンときませんが、ATN座標に書いてみると、意外と簡単にイメージすることが出来ます。多桁計算ソフトを使い、xが充分に大きいところで、xをyで表現してみると、項数が有理数になって現れました。

p=e^(x-eu) とします。eu=0.57721566。すると、
y = p - 1/2 - 1/(24p) + 11/(5760*p^3) - 1/(180*p^4)
- 4741/(580608*p^5) + .....
と書くことが出来ます。計算を続ければ、項数はいくらでも確定させることが出来ます。何か法則があると良いのですが、今のところ見つかりません。





y=x*log(x)の逆関数の図
y=x*log(x) の逆関数

少し難しそうな問題にもチャレンジしてみます。y=x*log(x)の逆関数などはどうでしょうか。実際、計算してみたところ、なかなかうまくいきませんでした。いろいろ苦労した結果、以下の式を求めることが出来ました。

p=log(log(x))/{ log(x)-log(log(x)) } と置きます。すると逆関数は、
y = x/log(x) * { 1+ p(1-g(x)) } となります。このg(x)は、1/x^rよりも大きくて1/log(x)^rよりは小さい数になりますが、どのような表現になるのか現在研究中です。はたしてそのような数を表記できるのでしょうか・・・。

x<1の時、log(log(x))が成り立ちませんが、式表現としてはこんなところです。




y=x^xの逆関数の図
y=x^x の逆関数

x^x は重要な関数ですが、逆関数を求めることは容易ではありませんでした。もしかすると普通の式では表せないかもしれません。今のところ、便宜上新しい関数を定義して、それで表現しておきます。

新しい関数は lac(x) と名付けて、以下のように定義します。
f1(x)=x/log(x) として、f2(x)=x/log(f1(x)) とします。f3(x)=x/log(f2(x)) 、f4(x)=x/log(f3(x)) となるので、順次計算が可能となります。この極限値が lac(x) です。

たとえば、lac(30) = 22.2622954..... であり、lac(5) = 6.270919.... 、lac(1.385) = 2.9433878.... となります。

x<1.38 の範囲で計算不能になりますが、値が存在しないわけではありません。たとえば lac(1) = 2.506184.... であることは y=xlog(x) の図から計算できます。

lac(1)^lac(1) = 9.999997206.... となっていることから判るように、lac(x)^lac(x) = 10^x という関係にあります。

このlac(x)を使ってx^xの逆関数を表示すると、y=lac(log(x)) となります。


(x/2)^x の逆関数(x/2)^xの逆関数の図


x!の逆関数は、なかなか確定しないので、その前に (x/2)^x の逆関数を求めてみることにしました。log等ではなかなか確定しないので、lacを使ってみたところ、簡単に確定してくれました。
y=2*lac(log(x)/2) が逆関数です。

(x/3)^xの逆関数は、y=3*lac(log(x)/3)となり、(x/4)^xの逆関数はy=4*lac(log(x)/4)となります。結構綺麗に並んでいます。









n! 階乗の逆関数階乗と逆関数の図


n! 階乗の逆関数の図はすぐに書くことが出来ます。しかし、それを式に表そうとすると、簡単ではありません。

巨大な数を扱うので、今までのプログラムを変更してgigaプログラムを作りました。これで計算したところ、結構複雑な式が出てきました。綺麗な式にならなかったので、面白くありませんが、おそらく未発見の式だと思うので、ここに書いておきます。

P=e*lac((log(x)/e) 、また、L=log(√2pi) 、ei = log(e) = 0.4342944819 と表記することにします。

すると、逆関数は、P - 1/2 - L/log(P) + ei/24log(x) -ei^2/24log(x)log(P) -ei*L^2/2log(x)log(P)^2 +ei^2*L^2/2log(x)log(P)^3 +..... となります。

もう少し綺麗に書くやり方があるのではないかと思うのですが、今のところこの程度です。





■     その他の逆関数


さて、逆関数は非常に面白いと言うことが判ってきたので、いろいろ求めてみましたが、ほとんどある程度求められるものの、有効数字不足のゆえに途中で計算不能になります。もし、係数が有理数化して、法則が見つかるなら、全部計算する必要が無くなります。そういう逆関数があれば面白いと思うのですが、はたしてあるでしょうか。今後はそういう逆関数を探してみたいと思っています。





<追加 17・8・31>

■      2^x の逆関数

2^x の逆関数の図
しばらく逆関数を扱っていなかったので、練習ということで、2^xの逆関数を求めてみました。

2^x の図は青線です。それとy=x について対象の図が赤線です。この赤線の方程式を計算すると 1/ln(2)*ln(x) という式になりました。結構きれいな単純な式ですね。

図はatan(x) で無限点がpi/2 になるように縮めてあります。




■      1/2^x の逆関数



(05)^x の逆関数の図
1/2^x は 2^x をひっくり返した形ですから、逆関数も似ているはずと推測できます。

計算で求めてみると -ln(x)/ln(2) となります。たしかに似ています。





■      1+1/2^x の逆関数



1+(05)^x の逆関数の図
1+1/2^x の逆関数は、-ln(x-1)/ln(2) となります。














表紙に戻る  前のページへ  次のページへ