ラプラス方程式を解く.級数総和法,中心差分

先輩が2階線型偏微分方程式の数値解法を勉強してて,
例題をみると,こんな問題だった.

\dfrac{\partial ^2 u}{\partial x^2}+\dfrac{\partial ^2 u}{\partial y^2}=0
境界条件 u(x,y)=\begin{cases}  1 & 0<x<1,y=1\\  0 & 0<x<1,y=0 | x=0,0<y<1 | x=1,0<y<1\\  \end{cases}
(正方形の上辺だけが1でそれ以外が0)

ある一点の値はその上下左右の値の中心差分だから,漸化式をゴニョゴニョして,繰り返し計算させる.
例題では精度の問題もあるだろうけど,u(\frac{1}{2},\frac{1}{2})=0.22...となっていた.

それでまあ,二次元のラプラス方程式ぐらいなら解析解ぐらい容易く解けるだろうと思って取り組んだので,備忘録.(ただの計算らくがき)

ともかく,2階の偏微分方程式だから,u(x,y)=f(x)g(y)とおくのだった.代入すると
g(y)f''(x)+f(x)g''(y)=0となり,u(x,y) \neq 0より両辺割って
\dfrac{f''(x)}{f(x)}=-\dfrac{g''(y)}{g(y)}を得る.
左辺はxの関数,右辺はyの関数だから,これは定数以外ありえない.この定数を-\lambda ^2とおく.
(どうして,+じゃないの?とかそういうのは面倒なので,適当な本でも見てください.)
すると,f''(x)=-\lambda ^2 f(x), g''(y)=\lambda ^2 g(y)となるので,これを解いて
f(x)=A_1 \cos \lambda x +A_2 \sin \lambda x , g(y)=B_1 e^{\lambda y}+B_2 e^{-\lambda y}
これでめでたくu(x,y)=C_1 e^{\lambda y}\cos \lambda x +C_2 e^{-\lambda y}\cos \lambda x +C_3 e^{\lambda y}\sin \lambda x +C_4 e^{-\lambda y}\sin \lambda xと一般解がもとまった.

ディリクレ境界条件を適用する.(ディリクレ って言いたかっただけですごめんなさい.)
u(x,0)=0=(C_1 +C_2)\cos \lambda x +(C_3 +C_4)\sin \lambda x が,0<x<1で成立するので
C_2=-C_1,C_4=-C_3

u(0,y)=0=C_1 e^{\lambda y} +C_2 e^{-\lambda y} =C_1 (e^{\lambda y}- e^{-\lambda y})
u(1,y)=0=C_1 (e^{\lambda y}- e^{-\lambda y})\cos \lambda +C_3 (e^{\lambda y}- e^{-\lambda y})\sin \lambda
上の式から,C_1 =0 下の式から,\lambda =n\piを得る.

だから,u(x,y)は解の重ねあわせで書ける.つまり,u(x,y)=\displaystyle{\sum_{n=1}^{\infty} u_n (x,y)}となる.
そして,最後の境界条件
u(x,1)=1=\displaystyle{\sum_{n=1}^{\infty} C_3 (e^{n\pi}-e^{-n\pi}) \sin n\pi x}が,0<x<1で成立する.
フーリエ級数を求める要領(\displaystyle{\sum_{n=1}^{\infty} a_n \sin n\pi x} \leftrightarrow a_n=2\int_{0}^{1}f(x)\sin n\pi x dx)で
C_3(e^{n\pi}-e^{-n\pi})=2\displaystyle{ \int_{0}^{1}1 \times \sin n\pi x dx=\dfrac{2(1+(-1)^{n-1})}{n\pi} }
n=2m+1とおくと,C_3=\dfrac{4}{(2m+1)\pi (e^{(2m+1)\pi}-e^{-(2m+1)\pi})}と求まる.

ふぅー,長かった.最後に代入して,
u(x,y)=\displaystyle{\sum_{m=0}^{\infty} \dfrac{4 \sin (2m+1)\pi x}{\pi (2m+1)}\dfrac{\sinh (2m+1)\pi y}{\sinh (2m+1)\pi}}を得る.
めでたし~~ クソきめえww

そして,u(\frac{1}{2},\frac{1}{2})を求める.0.22ではなく,正しい答えとはいったい何なのだろうか!?
u(\frac{1}{2},\frac{1}{2})=\displaystyle{\sum_{m=0}^{\infty} \dfrac{4 (-1)^m}{\pi (2m+1)}\dfrac{\sinh (2m+1)\frac{\pi}{2} }{\sinh (2m+1)\pi}}

なんとヒドイ無限和だ…
しかし,実はわたくし最近複素解析で級数総和法というのを習得して以来,これぐらいの無限和はバリバリ解けるのです.フヒ.目指せ人間Mathematica

級数総和法というのは次の公式です.

\displaystyle{\sum_{n=-\infty}^{\infty}f(n)=-}[ すべてのf(z)の極における\pi \cot(\pi z) f(z)の留数の総和 ]

それでは早速.p_iはi番目の留数を指すものとします.
\displaystyle{\sum_{n=-\infty}^{\infty}f(n)=-\sum_{p_i} {\rm Res}[\pi \cot(\pi z) f(z) , p_i] }
=-\displaystyle{\sum_{p_i} {\rm Res}[\dfrac{4\pi \cot(\pi z) \sinh (2z+1)\frac{\pi}{2}}{\pi (2z+1) \cos z\pi \sinh (2z+1)\pi }, p_i]}
分子の(-1)^n=\dfrac{1}{\cos (\pi z)}と読み替えるのも「お約束」で,ここでは触れません.詳しくはマグロウヒル大学演習の複素解析を見てください.

=-\displaystyle{\sum_{p_i} {\rm Res}[\dfrac{4 \sinh (2z+1)\frac{\pi}{2}}{(2z+1) \sin z\pi \sinh (2z+1)\pi }, p_i]}
ここで,双曲線関数の倍角公式を使うwww \sinh (2z+1)\pi = 2\sinh (2z+1)\frac{\pi}{2}\cdot \cosh (2z+1)\frac{\pi}{2}
=-\displaystyle{\sum_{p_i} {\rm Res}[\dfrac{2 \cosh (2z+1)\frac{\pi}{2}}{(2z+1) \sin z\pi}, p_i]}
=-\displaystyle{\sum_{-\frac{1}{2},n} \dfrac{2 \cosh (2z+1)\frac{\pi}{2}}{2 \sin p_i \pi +\pi (2p_i +1)\cos p_i \pi} }(nは\sin z\piの一位の極で,-\infty <n<\infty)
=1-\displaystyle{\sum \dfrac{2 (-1)^n \cosh (2n+1)\frac{\pi}{2}}{\pi (2n +1)} }
=1-\displaystyle{\sum_{n=-\infty}^{\infty} f(n)}
という具合に,\displaystyle{\sum_{n=-\infty}^{\infty} f(n)}が再び登場するんですよ!マジイミフ
\displaystyle{\sum_{n=-\infty}^{\infty} f(n)=1-\sum_{n=-\infty}^{\infty} f(n)}より,\displaystyle{\sum_{n=-\infty}^{\infty} f(n)=\dfrac{1}{2}}
そして,\displaystyle{\sum_{n=-\infty}^{-1} f(n)=\sum_{n=0}^{\infty} f(n)}だから,\displaystyle{\sum_{n=0}^{\infty} f(n)=\dfrac{1}{4}=0.25}

なーんだ..しょうもな…

しかも,もっとくだらないことに中心差分を大きくとればクソ簡単に求まる.
(x,y)=(\frac{1}{2},\frac{1}{2})の上下左右\frac{1}{2}隣の四点(x,y)=(0,\frac{1}{2}),(1,\frac{1}{2}),(\frac{1}{2},0),(\frac{1}{2},1)u(x,y)の値は境界条件で与えられているので,
u(\frac{1}{2},\frac{1}{2})=\dfrac{u(0,\frac{1}{2})+u(1,\frac{1}{2})+u(\frac{1}{2},0)+u(\frac{1}{2},1)}{4}=\dfrac{1}{4}

あーぁ…
鶏を割くに牛刀を用いた(T_T)

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中