dsPIC33FJ64GP802 (26) --- 周波数シフター (10)

 解析的には積分が難しい関数でも、べき級数としての表現が得られれば、その式を項別に積分して結果の式を求めることができます。
 得られた級数を必要な精度を満たす項まで計算すれば、数値としての値が求まります。
 Maxima にはテイラー級数 (Taylor series) を求める taylor() 関数が用意されており、それを利用して逆グーデルマン関数 agd(x) を展開し、積分すると、

のようになります。
 テイラー級数x = 0 の回りに展開し、x の 23 乗の項まで求めています。 積分した後は 24 乗の項までとなります。
 級数はすべての項が1行の中に表示されており、見づらいので、係数部分のみを1行あたり1項ずつ表示させたものを下に示します。

 一番上から順に、2 次、4 次、6 次、... 、24 次の係数です。 係数は有理数で表現されており、誤差を含みません。
 実数値に変換したものを次に示します。

 この係数を使って計算した結果が次のグラフです。

 テイラー展開の 0 次項、つまり定数項をゼロと置いているので、当然 x = 0 での値はゼロになっています。
 これを adg(x) を直接積分した場合の値と比べると約 0.9 程度の差があります。 これは「積分定数」の差で、結果を比較するためにテイラー展開の方の定数項を調整することにします。
 x = 0 では \tan(\pi/4) = 1 なので、

\hspace{2em}\displaystyle
\begin{align}
 & \frac{\pi}{4}\ln \left( \tan^2 \left(\frac{\pi}{4} \right) + 1 \right)
      - \mathrm{Im} \left[ \mathrm{Li}_2\left( 1 + i\ \tan \left(\frac{\pi}{4} \right) \right) \right] \\
 \mathstrut \\
 = &  \frac{\pi}{4}\ln \left( 1^2  +  1 \right)
      - \mathrm{Im} \left[ \mathrm{Li}_2\left( 1 + i \right) \right] \\
\mathstrut \\
 = & \ 0.544396522 - 1.460362117 = -0.915965594
\end{align}

テイラー展開の定数項とします。
 この補正を加え、adg(x) を直接積分した結果のグラフと重ねてプロットしたものを示します。
 青色のトレースが adg(x) の直接積分、赤色のトレースがテイラー展開して得られたべき級数によるものです。

 ほぼ重なっていますが、[-tex:\pi/2] 付近および \pi/2 付近で「伸び悩んで」差が生じていることが分かります。
 両者の差を拡大してプロットしたものを示します。

 展開点から離れた部分で誤差が大きくなるのがテイラー展開の特性であり、それが現れています。