\documentclass[12pt]{jarticle}

\oddsidemargin 0mm
\evensidemargin 0mm
\textwidth 165mm
\topmargin -15mm
\textheight 230mm

\author{}
\title{計算物理学:No.2}
\date{}

\begin{document}
\maketitle

\section{収束加速法：Aitken 法}

\subsection{Aitken 加速}

与えられた数列に対し、Aitken 加速された数列を返すサブルーチンを
\begin{verbatim}
	subroutine Aitken(a,b,n)
c
	implicit real*8(a-h,o-z)
	dimension a(20),b(20)
	.....
	return
	end

a: 配列。初めの数列を代入。
b: 配列。Aitken 加速した結果を出力。
n: （最初の）数列の大きさ。
\end{verbatim}
の形に作って見よ。このようにしておくと後で利用するのが（特に分割コンパイ
ルを利用すると）便利になる。また、倍精度実数を使うこと。なお、関数副プロ
グラム、サブルーチンの使い方、配列の定義と使い方については、
(Fortran,C,etc.の)文法書を復習すること。

これは数値計算法概論で習った Richardson 加速のプログラムの応用であるといえる。
若干注意しなければならないのは、最初の数列の大きさが $n$ とすると、
Aitken 加速した後は $n-2$ 個の数列になる。

\subsection{数値積分での台形公式}

数値積分の台形公式で被積分関数が滑らかな関数の場合は、分割数 $N$ に対し
誤差が $O(N^{-2})$ となるので、分割数を $N=1,2,4,8,16,32,64,\cdots$ と2の
冪乗にとると1次収束となり、Aitken 加速が使える。

区間の端で微係数が不連続な場合、上の誤差評価が成立しないが、端で被積分関
数が $constant + x^{\alpha}(0< \alpha<1)$ と振舞う時、誤差は 
$O(N^{-\alpha-1})$ で押えられる（解析的にこれを導いて見よ）。従ってこの
場合も分割数を2の冪乗にとると Aitken 加速が使える。

\subsection{交代級数}

交代級数には Aitken 加速が有効である。
交代級数として、次の例を上げる。
\begin{equation}
a_n = \sum_{k=1}^{n} \frac{(-1)^{k+1}}{2k-1}, \qquad
\lim_{n\rightarrow \infty} a_n = \arctan 1 = \frac{\pi}{4}
\end{equation}
\begin{equation}
a_n = \sum_{k=1}^{n} \frac{(-1)^{k-1}}{k}, \qquad
\lim_{n\rightarrow \infty} a_n = \log 2
\end{equation}
はそれぞれ
\begin{equation}
 a_n =  a + (-1)^n (\frac{b_1}{n}+ \cdots)
\end{equation}
と振舞う。

これらについて、(多段の)Aitken 加速してみよ。

\subsection{混合型}

1次収束と、$O(n^{-\alpha})$ の両者が混合したケース
\begin{equation}
 a_n = a + \lambda^n (c_1 n^{-\alpha_1} + c_2 n^{-\alpha_2} + \cdots)
\label{eq:mixed}
\end{equation}
(ここで $|\lambda| \le 1, \lambda \neq 1, \alpha_1<\alpha_2<\cdots$ であ
る。
$|\lambda| = 1$ の場合はさらに $ 0<\alpha_1<\alpha_2<\cdots$ とする)の
数列に対して No.1 の (17) 式のように Aitken 加速すると、
\begin{equation}
 a_n^{(1)} \approx a + \frac{c_1 \alpha_1}{(1-\lambda)^2} \lambda^{n+2}
 n^{-\alpha_1-2}
\label{eq:Aitken-for-mixed}
\end{equation}
となる\cite{Sugiyama-Murota}(ただし、$\alpha_2> \alpha_1+2$ を前提とし
ている)。混合型を Aitken 加速した結果は再び混合型になっているので、さら
に Aitken 加速することが可能である。
交代数列は、$\lambda=-1$ の場合に当たる。
式 (\ref{eq:Aitken-for-mixed}) の導出は面倒であるので付録で紹介する。

\section{レポート}

\subsection{レポート課題}

\begin{enumerate}
 \item 
以下の級数
\begin{equation}
a_n = \sum_{k=1}^{n} (-x)^{k-1}, \qquad
\lim_{n\rightarrow \infty} a_n = 1/(1+x), \qquad
(|x| < 1)
\end{equation}
を Aitken 加速してみよ（1回で十分のはずである）。
これは1次収束である。No.1 の 2.2.2 の (16) 式を使い、収束性を調べてみよ。

\item
交代級数(今回のプリントの (1),(2) その他岩波数学公式集 II p。37 など参照)
の内1つ以上の Aitken 加速をして見よ。

\item
数値積分の台形公式で区間の端で被積分関
数が $constant + x^{\alpha}(0< \alpha<1)$ と振舞う時、誤差は 
$O(N^{-\alpha-1})$ で押えられる（解析的にこれを導いて見よ）。従ってこの
場合も分割数を$N=1,2,4,8,16,\cdots$ と2の冪乗にとると Aitken 加速が使える。
以前扱った関数の台形公式による積分で、
\begin{equation}
4 \int_{0}^{1} \sqrt{1-x^2} dx = \pi
\end{equation}
の収束性を調べ、Aitken 加速してみよ。
余裕があれば
\begin{equation}
\int_{0}^{1} （1-x^2）^\alpha dx
\end{equation}
と一般化したものについても調べよ。

\end{enumerate}

\subsection{期限、提出先など}
\begin{itemize}
 \item 提出期限: 5月12日
 \item{提出先:野村(理学部2号館6階 2641号室)}
 \item{e-mail:knomura@stat.phys.kyushu-u.ac.jp }
\end{itemize}
e-mail でも受け付ける。提出者一覧をホー
ムページ上に載せる予定であるので、各自提出後確認のこと。

何の数列に対して収束加速法を行なったのか明確に記し、プログラ
ムと実行結果、収束性の考察、その他のコメントを付けて計算物理学
レポート No.1として
提出せよ。講義名、名前、学籍番号、提出日時を表紙に明記すること。
コピーレポートはオリジナルも含め認めない。 

解析的な考察ができる場合は、その導出も書くこと。表を入れて分かり易すく工
夫したものは評価する。参考文献などあれば明記すること。 また、コピーレポー
トは認めないが、互いの議論によりレポートの質が向上した場合は評価するので、
議論した部分・参考とした意見と相手の氏名を明記して出すこと
(ホームページの\underline{レポート作法}参照)。
Fortran 以外の言語(C,C++,Pascal)を使った場合は、記しておくこと。 
なお、日本語 \LaTeX によるレポートは歓迎する
\cite{LaTeX}(コマンドは platex )。

これまで、数値計算法概論を取っていなくてこの講義を受講した人は、そのこと
をレポートに明記すること。また、その場合は数値計算法概論を取っている人か
ら協力を得ることがあるので、協力者の名前も明記すること。

\section{一般的注意}
\subsection{メールについて}

電子メールによるレポート提出法は、例えば report2b 
と言うファイル(プログラム+解析結果+説明、日本語を含んでいても良い)を作成
した後、
\begin{verbatim}
% nkf -j report2b > report2c
% mail knomura@stat.phys.kyushu-u.ac.jp < report2c
\end{verbatim}
とすれば良い(nkf は日本語コード変換のため)。

さらに便利なメールを扱うツールとしては、mule の中から立ち上げる mew を勧
める( M-x mew で起動。九大出身の人が作った世界的フリーソフト)。

\appendix
\section{付録}
まず、
\begin{equation}
 a \approx 
 a_n^{(1)} = a_n - \frac{(a_{n+1}-a_{n})^2}{a_{n+2}-2a_{n+1}+a_n}
 = a_{n+2} - \frac{(a_{n+2}-a_{n+1})^2}{a_{n+2}-2a_{n+1}+a_n}
\end{equation}
は行列式を使った表記で
\begin{equation}
 a_n^{(1)} = a +
\frac{
\left|
\begin{array}{cc}
 a_{n+2}-a & a_{n+1} -a\\
 a_{n+1}-a & a_{n} -a
\end{array}
\right|
}
{a_{n+2}-2 a_{n+1} +a_{n}}
\end{equation}
と書き直せることに注意する。

混合型の (\ref{eq:mixed}) を次のように書き直す。
\begin{equation}
 a_n = a + \lambda^n f(n-1), \qquad f(n-1) = c_1 n^{-\alpha_1}
\end{equation}
これを上記の式に入れて計算すると、
\begin{equation}
 a_n^{(1)} = a +
\lambda^{n+2}
\frac{
\left|
\begin{array}{cc}
 f(n+1) & f(n)\\
 f(n) & f(n-1)
\end{array}
\right|
}
{ \lambda^2 f(n+1) - 2 \lambda f(n) +f(n-1)}
\end{equation}
である($\lambda^{n+2}$ を括り出すには、行列式の多重線形性を用いた)。

ここで、分母は、$c_1 (1-\lambda)^2 n^{-\alpha_1}$,
分子の行列式は
\begin{eqnarray}
& &
\left|
\begin{array}{cc}
 f(n)+f'(n) +\frac{1}{2}f''(n) & f(n)\\
 f(n) &  f(n)-f'(n) +\frac{1}{2}f''(n)
\end{array}
\right|\nonumber\\
&\approx& f(n)f''(n) -(f'(n))^2 \approx c_1^2 \alpha_1 n^{-2\alpha_1 -2}
\end{eqnarray}
と近似されるので、
\begin{equation}
 a_n^{(1)} \approx a + \frac{c_1 \alpha_1}{(1-\lambda)^2} \lambda^{n+2} n^{-\alpha_1-2}
\end{equation}
が導かれた。

\begin{thebibliography}{99}
\bibitem{Sugiyama-Murota}数値計算法の数理、杉山 正顕、室田 一雄 共著、
	(岩波書店) 第12章4節
\bibitem{LaTeX} 文書処理システム ``\LaTeX'',
	Leslie Lamport 著、倉沢 良一 監訳、アスキー出
	版社
\end{thebibliography}

\end{document}
