テイラー展開と収束半径(定義域)拡張

更新日時:2020/04/23

数学関数テイラー展開

GOODされた数:59 回

経緯と試行

プロローグ

どうも、安田です。今回は、テイラー展開に関する記事です。
テイラー展開には収束半径という不純物がつきものです。 どれだけ上手くグラフを再現しようとしても、収束半径が狭いせいですぐに発散してしまうグラフになってしまう事が多いです。
今回は、収束半径を拡張する方法について取り上げます。

例題

先ほど取り上げた$\log(x)$についてですが、この「収束半径拡張」という操作にはうってつけの例ですので、例題として取り上げます。
まずは、普通に$\log(x)$をテイラー展開します。

$x=a$ の周りで$\log(x)$をテイラー展開する。
まずは、$\log(x)$の$n$階微分を求める。$(n \geqq 1)$
\[ f^{(n)} = \frac{(-1)^{n-1}(n-1)!}{x^n} \] よって、$\log(x)$の$x=a$周りでのテイラー展開$F_a(x)$は、 \begin{eqnarray*} F_a(x) &=& log(a) + \sum_{n=1}^{\infty} \frac{(-1)^{n-1}(n-1)!}{a^n}\cdot\frac{(x - a)^n}{n!} \tag{1} \\ &=& log(a) - \sum_{n=1}^{\infty} \frac{1}{n} \left(1 - \frac{x}{a}\right)^n \end{eqnarray*} ここで、収束範囲$r$は(1)より \begin{eqnarray*} r &=& \lim_{n \to \infty} \left| \frac{\frac{(-1)^{n-1}(n-1)!}{a^n} \cdot \frac{1}{n!}}{\frac{(-1)^{n}n!}{a^{n+1}} \cdot \frac{1}{(n+1)!}} \right| \\ &=& \lim_{n \to \infty} \left| -\frac{n+1}{n} \cdot a \right| \\ &=& a \end{eqnarray*}

このようにテイラー展開出来ました。
しかしながら、この収束半径ではいつまでたっても$x$が大きい部分ではグラフが再現できません。
その解決策として以下のような変形を行います。

$0 < x - a < a$ の時すなわち、$0 < x < 2a$の時で考える。
この時、$F_a(x)=\log(x)$であるので \begin{eqnarray*} \log(x) &=& \log(a) - \sum_{n=1}^{\infty} \frac{1}{n} \left(1 - \frac{x}{a}\right)^n \\ \log(a) - \log(x) &=& \sum_{n=1}^{\infty} \frac{1}{n} \left(1 - \frac{x}{a}\right)^n \\ \log\left(\frac{a}{x}\right) &=& \sum_{n=1}^{\infty} \frac{1}{n} \left(1 - \frac{x}{a}\right)^n \tag{2} \end{eqnarray*} ここで、$\frac{a}{x} = s$ とする。この時、 \begin{eqnarray*} 0 < x < 2a \\ 0 < \frac{x}{a} < 2 \\ 0 < \frac{1}{s} < 2 \\ \therefore s > \frac{1}{2} \end{eqnarray*} また、(2)式に$s$を代入して、 \[ \log(s) = \sum_{n=1}^{\infty} \frac{1}{n} \left(1 - \frac{1}{s}\right)^n \]

上手く出来ましたね。個人的に$\log$のこの形の表し方が好きです。
それはそうと、収束範囲を拡張する、という私の意図はそこそこ伝わったと思います。

一般論/解決策

解決方法

解決方法についての考察です。
$\log(x)$を元に解決するといったものの、$\log(x)$の収束範囲拡張では$\log(x)$の性質を利用した物であって、決して一般化の参考となる式変形はありません。
しかしながら、思考方法は一般的でした。今回私は、「収束範囲が拡大する方向に変数を変換する」というものがメインの思考でした。 この考え方を一般化に適応する事にします。

一般化(一般的な解決策)

まず初めに、先ほど示した変換について考えます。一般化ですので、「定義域拡張」という名目で勧めていきます。全て同じ式で表して解決する事は難しいですので、抽象的に考えます。 考え方をそのまま式にするだけですが、そちらの方が数学らしいと思いますので、そうします。

$t \in R$とする。この時、下の式が成り立っている。 \[ f(t) = A(t) \] $\bar{t} \in \bar{R}$とする。この時、以下の変換を考える。 \[ t = S(\bar{t}) \] さらに以下の式が成り立つ関数$B(x)$を考える。 \[ f(\bar{t}) = B(A(S(\bar{t}))) \] $B(x)$が多価関数の場合は、多価になる部分を条件で分ける必要がある。
上記の式を使って、 \begin{equation} \begin{cases} f(x) = A(x) \ \ \ \ (x \in R) \\ f(x) = B(A(S(x))) \ \ \ \ (x \in \bar{R}) \end{cases} \end{equation}

あまり実用的には見えない式が完成しました。一応私は、考え方をまとめた式として考えておきます。

実用例:テイラー展開

今回のテーマにはテイラー展開も含まれているので、テイラー展開で実例を示します。
私がやる次の変形は、すべての実数へと展開されるわけではないので、その点の了承をお願いします。

ある関数$f(x)$の$x=a$周りでのテイラー展開を$F_a(x)$とする。 \[ F_a(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x-a)^n \] この収束半径は、
\begin{eqnarray*} r &=& \lim_{n \to \infty} \left| \frac{\frac{f^{(n)}(a)}{n!}}{\frac{f^{(n+1)}(a)}{(n+1)!}} \right| \\ &=& \lim_{n \to \infty} \left| (n+1) \cdot \left( \left. \frac{d(log(f^{(n)}(x)))}{dx} \right|_{x=a} \right) \right| \\ \end{eqnarray*} この時、$F_a(x)$が収束する範囲は、$a - r < x < a + r$ である。

やり方は基本的に同じなので、一つだけ例を示します。

$r \leqq a$の時、$\frac{(a - r)^2}{x} > (a - r)$ であるので、「一般的な解決策」で示した通り$S(x)$を定義すると、
\[ S(x) = \frac{(a - r)^2}{x} \] である。また、$A(x) = F_a(x)$であり、$B(x)$はもとの関数$f(x)$の性質から定義する必要がある。
この時、
\[ f(x) = B(F_a(S(x))) \ \ \ \ (x > a - r) \]

上手く拡張できました。ただし、$B(x)$が存在するかどうかは、$f(x)$に依存すると思われますので、この拡張が出来る関数は少ないと思います。
思いついたら使う程度でいいと思います。
それでは、お疲れさまでした。

この記事いいね!


コメント送信フォームまで飛ぶ

この記事には0件のコメントがあります。


変換


※上の変換器は、TeXが正しいかどうかの確認に使ってください。
※TeXを入力する場合は、コメント本文に、$\$$ または、$\verb|\|$[, $\verb|\|$]で囲った中にTeX表示をそのまま挿入してください。
※URLは、自動的にハイパーリンクに変形されます。
※他のコメントに返信する場合は、「#コメント番号」を挿入してください。
※日本語を含まないコメントはスパムと認定されます。
※Comment including no japanese will be regarded as spam.