2021年11月21日日曜日

差分近似の高精度化

微分の差分近似は、テイラー展開後に目的の項について整理するのみです。

簡単に高次精度化ができるようですが、今まで気にしたことがありませんでした。
反省も込めて、整理です。

**************************************

1次精度‐1階微分
前進差分(テイラー展開)
\begin{align*}f\left(x+\mathrm{\Delta x}\right)=f\left(x\right)+\frac{\mathrm{\Delta x}f^\prime\left(x\right)}{1!}+\frac{{\mathrm{\Delta x}}^2f^{\prime\prime}\left(x\right)}{2!}+\frac{{\mathrm{\Delta x}}^3f^{\prime\prime\prime}\left(x\right)}{3!}+\frac{{\mathrm{\Delta x}}^4f^{(4)}\left(x\right)}{4!}+\frac{{\mathrm{\Delta x}}^5f^{(5)}\left(x\right)}{5!}+\ldots\end{align*} \begin{align*}f^\prime\left(x\right)=\frac{f\left(x+\mathrm{\Delta x}\right)-f\left(x\right)}{\mathrm{\Delta x}}-\frac{{\mathrm{\Delta xf}}^{\prime\prime}\left(x\right)}{2!}-\ldots\end{align*} \begin{align*}=\frac{f\left(x+\mathrm{\Delta x}\right)-f\left(x\right)}{\mathrm{\Delta x}}+O\left(\mathrm{\Delta x}\right)\end{align*}

 後退差分(テイラー展開)
\begin{align*}f\left(x-\mathrm{\Delta x}\right)=f\left(x\right)+\frac{-\mathrm{\Delta x}f^\prime\left(x\right)}{1!}+\frac{{\mathrm{\Delta x}}^2f^{\prime\prime}\left(x\right)}{2!}+\frac{-{\mathrm{\Delta x}}^3f^{\prime\prime\prime}\left(x\right)}{3!}+\frac{{\mathrm{\Delta x}}^4f^{(4)}\left(x\right)}{4!}+\frac{{-\mathrm{\Delta x}}^5f^{(5)}\left(x\right)}{5!}+\ldots\end{align*} \begin{align*}f^\prime\left(x\right)=\frac{f\left(x\right)-f\left(x-\mathrm{\Delta x}\right)}{\mathrm{\Delta x}}+O\left(\mathrm{\Delta x}\right)\end{align*} 

2次精度‐1階微分
中心差分(前進差分‐後退差分)
\begin{align*}f\left(x+\mathrm{\Delta x}\right)-f\left(x-\mathrm{\Delta x}\right)=\frac{2\mathrm{\Delta x}f^\prime\left(x\right)}{1!}+\frac{2{\mathrm{\Delta x}}^3f^{\prime\prime\prime}\left(x\right)}{3!}+\frac{{2\mathrm{\Delta x}}^5f^{(5)}\left(x\right)}{5!}+\ldots\end{align*} \begin{align*}f^\prime\left(x\right)=\frac{f\left(x+\mathrm{\Delta x}\right)-f\left(x-\mathrm{\Delta x}\right)}{2\mathrm{\Delta x}}-\frac{{\mathrm{\Delta x}}^2f^{\prime\prime\prime}\left(x\right)}{3!}-\ldots\end{align*} \begin{align*}=\frac{f\left(x+\mathrm{\Delta x}\right)-f\left(x-\mathrm{\Delta x}\right)}{2\mathrm{\Delta x}}+O\left({\mathrm{\Delta x}}^2\right)\end{align*}

2次精度‐2階微分
中心差分(前進差分+後退差分)
\begin{align*}f\left(x+\mathrm{\Delta x}\right)+f\left(x-\mathrm{\Delta x}\right)=2f\left(x\right)+\frac{{2\mathrm{\Delta x}}^2f^{\prime\prime}\left(x\right)}{2!}+\frac{2{\mathrm{\Delta x}}^4f^{(4)}\left(x\right)}{4!}+\frac{2{\mathrm{\Delta x}}^6f^{(6)}\left(x\right)}{6!}+\ldots\end{align*} \begin{align*}f^{\prime\prime}\left(x\right)=\frac{f\left(x+\mathrm{\Delta x}\right)-2f\left(x\right)+f\left(x-\mathrm{\Delta x}\right)}{{\mathrm{\Delta x}}^2}-\frac{{2\mathrm{\Delta x}}^2f^{(4)}\left(x\right)}{4!}-\ldots\end{align*} \begin{align*}=\frac{f\left(x+\mathrm{\Delta x}\right)-2f\left(x\right)+f\left(x-\mathrm{\Delta x}\right)}{{\mathrm{\Delta x}}^2}+O\left({\mathrm{\Delta x}}^2\right)\end{align*} 

2次精度‐1階微分
中心差分(2Δx)
\begin{align*}f\left(x+2\mathrm{\Delta x}\right)=f\left(x\right)+\frac{2\mathrm{\Delta x}f^\prime\left(x\right)}{1!}+\frac{2^2{\mathrm{\Delta x}}^2f^{\prime\prime}\left(x\right)}{2!}+\frac{2^3{\mathrm{\Delta x}}^3f^{\prime\prime\prime}\left(x\right)}{3!}+\frac{2^4{\mathrm{\Delta x}}^4f^{(4)}\left(x\right)}{4!}+\frac{2^5{\mathrm{\Delta x}}^5f^{(5)}\left(x\right)}{5!}+\ldots\end{align*} \begin{align*}f\left(x-2\mathrm{\Delta x}\right)=f\left(x\right)+\frac{-2\mathrm{\Delta x}f^\prime\left(x\right)}{1!}+\frac{2^2{\mathrm{\Delta x}}^2f^{\prime\prime}\left(x\right)}{2!}+\frac{-2^3{\mathrm{\Delta x}}^3f^{\prime\prime\prime}\left(x\right)}{3!}+\frac{{2^4\mathrm{\Delta x}}^4f^{(4)}\left(x\right)}{4!}+\frac{{-2}^5{\mathrm{\Delta x}}^5f^{(5)}\left(x\right)}{5!}+\ldots\end{align*} \begin{align*}f\left(x+2\mathrm{\Delta x}\right)-f\left(x-2\mathrm{\Delta x}\right)=\frac{2^2\mathrm{\Delta x}f^\prime\left(x\right)}{1!}+\frac{2^4{\mathrm{\Delta x}}^3f^{\prime\prime\prime}\left(x\right)}{3!}+\frac{2^6{\mathrm{\Delta x}}^5f^{(5)}\left(x\right)}{5!}+\ldots\end{align*} \begin{align*}f^\prime\left(x\right)=\frac{f\left(x+2\mathrm{\Delta x}\right)-f\left(x-2\mathrm{\Delta x}\right)}{4\mathrm{\Delta x}}-\frac{{2^2\mathrm{\Delta x}}^2f^{\prime\prime\prime}\left(x\right)}{3!}-\ldots\end{align*} \begin{align*}=\frac{f\left(x+2\mathrm{\Delta x}\right)-f\left(x-2\mathrm{\Delta x}\right)}{4\mathrm{\Delta x}}+O\left({\mathrm{\Delta x}}^2\right)\end{align*} 

4次精度‐1階微分
中心差分(Δx, 2Δx)
\begin{align*}f\left(x+\mathrm{\Delta x}\right)-f\left(x-\mathrm{\Delta x}\right)=\frac{2\mathrm{\Delta x}f^\prime\left(x\right)}{1!}+\frac{2{\mathrm{\Delta x}}^3f^{\prime\prime\prime}\left(x\right)}{3!}+\frac{2{\mathrm{\Delta x}}^5f^{(5)}\left(x\right)}{5!}+\ldots\end{align*} \begin{align*}f\left(x+2\mathrm{\Delta x}\right)-f\left(x-2\mathrm{\Delta x}\right)=\frac{2^2\mathrm{\Delta x}f^\prime\left(x\right)}{1!}+\frac{2^4{\mathrm{\Delta x}}^3f^{\prime\prime\prime}\left(x\right)}{3!}+\frac{2^6{\mathrm{\Delta x}}^5f^{(5)}\left(x\right)}{5!}+\ldots\end{align*} \begin{align*}8\left\{f\left(x+\mathrm{\Delta x}\right)-f\left(x-\mathrm{\Delta x}\right)\right\}-\left\{f\left(x+2\mathrm{\Delta x}\right)-\ f\left(x-2\mathrm{\Delta x}\right)\right\}=12\mathrm{\Delta x}f^\prime\left(x\right)+O\left({\mathrm{\Delta x}}^5\right)\end{align*} \begin{align*}f^\prime\left(x\right)=\frac{8\left\{f\left(x+\mathrm{\Delta x}\right)-f\left(x-\mathrm{\Delta x}\right)\right\}-\left\{f\left(x+2\mathrm{\Delta x}\right)-\ f\left(x-2\mathrm{\Delta x}\right)\right\}}{12\mathrm{\Delta x}}+O\left({\mathrm{\Delta x}}^4\right)\end{align*} 

4次精度‐2階微分
中心差分(Δx, 2Δx)
\begin{align*}f\left(x+\mathrm{\Delta x}\right)+f\left(x-\mathrm{\Delta x}\right)=2f\left(x\right)+\frac{{2\mathrm{\Delta x}}^2f^{\prime\prime}\left(x\right)}{2!}+\frac{2{\mathrm{\Delta x}}^4f^{(4)}\left(x\right)}{4!}+\frac{2{\mathrm{\Delta x}}^6f^{(6)}\left(x\right)}{6!}+\ldots\end{align*} \begin{align*}f\left(x+2\mathrm{\Delta x}\right)+f\left(x-2\mathrm{\Delta x}\right)=2f\left(x\right)+\frac{2^3{\mathrm{\Delta x}}^2f^{\prime\prime}\left(x\right)}{2!}+\frac{2^5{\mathrm{\Delta x}}^4f^{(4)}\left(x\right)}{4!}+\frac{2^7{\mathrm{\Delta x}}^6f^{(6)}\left(x\right)}{6!}+\ldots\end{align*} \begin{align*}16\left\{f\left(x+\mathrm{\Delta x}\right)+f\left(x-\mathrm{\Delta x}\right)\right\}-\left\{f\left(x+2\mathrm{\Delta x}\right)+f\left(x-2\mathrm{\Delta x}\right)\right\}=30f\left(x\right)+\frac{24\mathrm{\Delta x}f^{\prime\prime}\left(x\right)}{2!}+O\left({\mathrm{\Delta x}}^6\right)\end{align*} \begin{align*}f^{\prime\prime}\left(x\right)=\frac{16\left\{f\left(x+\mathrm{\Delta x}\right)+f\left(x-\mathrm{\Delta x}\right)\right\}-30f\left(x\right)-\left\{f\left(x+2\mathrm{\Delta x}\right)+f\left(x-2\mathrm{\Delta x}\right)\right\}}{12{\mathrm{\Delta x}}^2}+O\left({\mathrm{\Delta x}}^4\right)\end{align*} 

 

0 件のコメント:

コメントを投稿