そんなわけで,$\displaystyle f(x) = \sum_{k=1}^\infty c_k x^{(k-1)/2}$として,同じようなことをすれば,$\sqrt{x}$を含んだ関数近似$f(x) = a(x)/b(x)$ ができるのではないかと考えた。
$f(x) = c_0 + c_1 \sqrt{x} + c_2 x + c_3 x\sqrt{x} + c_4 x^2+ c_5 x^2 \sqrt{x} + c_6 x^3 + \cdots$
$a(x) = a_0 + a_1 \sqrt{x} + a_2 x + a_3 x\sqrt{x} + a_4 x^2+ a_5 x^2 \sqrt{x} + a_6 x^3 + \cdots$
$b(x) = 1 + b_1 \sqrt{x} + b_2 x + b_3 x\sqrt{x} + b_4 x^2+ b_5 x^2 \sqrt{x} + b_6 x^3 + \cdots$
$a(x) = b(x) f(x) $ の両辺の係数を比較すると,
$x^0 \quad$: $a_0 = c_0$
$\sqrt{x}\ \ $: $a_1 = c_1 + c_0 b_1$
$x^1 \quad$: $a_2 = c_2 + c_1 b_1 + c_0 b_2$
$x^1 \sqrt{x}\ $: $a_3 = c_3 + c_2 b_1 + c_1 b_2 + c_0 b_3$
$x^2 \quad$: $a_4 = c_4 + c_3 b_1 + c_2 b_2 + c_1 b_3 + c_0 b_4$
$x^2 \sqrt{x}\ $: $a_5 = c_5 + c_4 b_1 + c_3 b_2 + c_2 b_3 +c_1 b_4 + c_0 b_5 $
$x^3 \quad$: $a_6 = c_6 + c_5 b_1 + c_4 b_2 + c_3 b_3 +c_2 b_4 + c_1 b_5 + c_0 b_6$
ここで,$f(x)=\log(1+x) = x -x^2/2 + x^3/3$として($c_0=c_1=c_3=c_5=0$),
$a(x), b(x)$を$x\sqrt{x}$まで取ってみると,うまくかない。逆行列が作れず解なしになってしまう。しかたがないので,上の式を$c_8 x^4$まで拡張してようやく,$b_1=0, b_2=1, b_3=0, b_4=6$と,$a_0=0, a_1=0, a_2=1, a_3=0, a_4=1/2$が得られた。
なんのことはない,$\displaystyle f(x) = \dfrac{x+x^2/2}{1+x+x^2/6}$ で$\sqrt{x}$が含まれないものだった。チーン。
(注)これはChatGPTにも注意されたところだけれど,もとの問題 $\log(x)$ ではない。級数展開係数が簡単な $\log(1+x)$ で確認しようとしたものだ。$c_6 x^3$まででうまくいかなかったのは,($c_k$にゼロが多くて)係数を決めるための条件が足りないからといわれた。
[1]Chemical reaction networks for computing logarithm(C. T. Chou)
[2]平方根を用いた立方根の近似と実装例(細田隆之)
0 件のコメント:
コメントを投稿