$ \DeclareMathOperator{\arccosh}{arccosh} \DeclareMathOperator{\arcsinh}{arcsinh} \DeclareMathOperator{\rank}{rank} \DeclareMathOperator{\rot}{rot} \DeclareMathOperator{\grad}{grad} \DeclareMathOperator{\diver}{div} $

Green 函数法による Poisson 方程式の形式的解表示

Poisson(ポアソン) 方程式は Laplace(ラプラス) 方程式の右辺に任意函数 $f(\bm{r})$ が付け加わった形で、
\begin{equation} \triangle \varphi(\bm{r}) = -f(\bm{r}) \end{equation}
(1)
と定義される偏微分方程式のことです。
ここで演算子 $\triangle$ は、
\begin{equation} \triangle := \nabla^2 = \frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2} + \frac{\partial^2}{\partial z^2} \end{equation}
(2)
で定義されるもので Laplacian(ラプラシアン) または Laplace(ラプラス) 演算子 といいます。
電磁気学など[1]の物理分野では特にこの形の方程式が大量発生するので、この偏微分方程式を解くことは非常に重要です。
そこで今回は Green(グリーン) 函数と呼ばれる函数 $G(\bm{r}, \bm{r}')$ を使ってこの方程式の一般解を形式的に書き下してみます。
なお、途中で $\delta$(デルタ) 函数を使うのでその知識が必要です。

[1]Schrödinger方程式とかも

1じゅんび

以下の議論で使うので、まずはじめに Green's identity[1] と呼ばれる定理を証明します。

1.1Green's first identity (Green の第一恒等式)

任意の (well-behaved な) ベクトル場 $\bm{A}$ に対して三次元領域 $V$ 内で以下の発散定理と呼ばれる定理が成り立ちます:
\begin{equation} \int_V \nabla \cdot \bm{A} dV = \oint_{S := \partial V} \bm{A} \cdot d\bm{S} \end{equation}
(3)
これの証明に関しては「発散定理 証明」とかでググればたくさん出てくる (と思う) ので省略させてください。
ベクトル場 $\phi\nabla\psi$ に対してこの発散定理を適用します。 その前に、
\begin{align*} \nabla \cdot (\phi\nabla\psi) & = \phi\nabla^2\psi + \nabla\phi\cdot\nabla\psi \\ \phi\nabla\psi \cdot d\bm{S} & = \phi\frac{\partial\psi}{\partial n} dS \end{align*}
(4)
が成り立つことに注意します。 ここで n による偏微分は表面に対して垂直な方向に対して微分していることを表します。
\begin{equation} \frac{\partial F}{\partial n} dS := \nabla F \cdot d\bm{S} \end{equation}
(5)
と置き換えているだけです。
従って、
\begin{equation} \int_V (\phi\nabla^2\psi + \nabla\phi\cdot\nabla\psi) dV = \oint_S \phi\frac{\partial\psi}{\partial n} dS \end{equation}
(6)
となります。 これを Green's first identity または日本語で Green の第一恒等式といいます。

1.2Green's second identity (Green の第二恒等式; (三次元版) Green の定理)

Green's first identity に対して $\psi$$\phi$ を置き換えたものも正しいです:
\begin{equation} \int_V (\psi\nabla^2\phi + \nabla\psi\cdot\nabla\phi) dV = \oint_S \psi\frac{\partial\phi}{\partial n} dS \end{equation}
(7)
(6) 式から (7) 式を辺々引き算することで、
\begin{equation} \int_V (\phi\nabla^2\psi - \psi\nabla^2\phi) dV = \oint_S \left( \phi\frac{\partial\psi}{\partial n} - \psi\frac{\partial\phi}{\partial n} \right) dS \end{equation}
(8)
を得ます。 これを Green's second identity または日本語で Green の第二恒等式または単に (三次元版)[2] Green の定理といいます。

1.3Green's third identity (Green の第三恒等式)

知らね。 てか、使わね (´・ω・`)

[1]日本語ではそのまま Green の恒等式というらしいです
[2]わざわざ「三次元版」って書いたのは二次元版の Green の定理:
\begin{equation} \oint_C \begin{pmatrix}P \\ Q\end{pmatrix}\cdot d\bm{l} = \int_S \left( \frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y} \right) dS \end{equation}
(9)
ってのがあるから

2境界条件について

Poisson 方程式 (1) は偏微分方程式なので、境界条件を与えないと解には任意函数の不定性がついてしまいます。
物理を考える上では通常、運動や場の状態を記述する量にそんな不定性はありませんから、物理的な設定状況を考えて境界条件を与えることで一意な解を求めることができます。
物理で与える境界条件の形はたいていの状況では以下の二つの場合になります。

2.1Dirichlet 境界条件

境界上で、求めたい函数 $\varphi$ の値が分かっているとき:
\begin{equation} \varphi(\bm{r}) : \text{known} \hspace{1em} \text{$\bm{r}$ on $S$} \end{equation}
(10)
このような形の境界条件のことを Dirichlet(ディリクレ) 境界条件または単に Dirichlet 条件といいます。
静電場の方程式を考えている場合には、無限遠点で $\varphi = 0$ を仮定するのでこのような境界条件になることが多いです。

2.2Neumann 境界条件

境界上で、求めたい函数 $\varphi$ の勾配が分かっているとき:
\begin{equation} \frac{\partial\varphi}{\partial n} : \text{known} \hspace{1em} \text{on $S$} \end{equation}
(11)
このような形の境界条件のことを Neumann(ノイマン) 境界条件または単にNeumann 条件といいます。

以下ではこの二つの境界条件のどちらかが与えられたときの Poisson 方程式の形式的な解の形を求めていきます。

3解の一意性について

境界条件を Dirichlet もしくは Neumann 条件の形で与えれば解が一意に定まることが分かります。
それを証明してみます。
同一の境界条件と、Poisson 方程式を満たすような函数が $\varphi_1, \varphi_2$ の二つとれたとします。 このときこの二つの函数の差を、
\begin{equation} \blacktriangle\varphi := \varphi_1 - \varphi_2 \end{equation}
(12)
とおきます[1]
このとき Green's first identity において $\phi = \psi = \blacktriangle\varphi$ とすると、
\begin{equation} \int_V (\blacktriangle\varphi\nabla^2\blacktriangle\varphi + |\nabla\blacktriangle\varphi|^2) dV = \oint_S \blacktriangle\varphi\frac{\partial\blacktriangle\varphi}{\partial n} dS \end{equation}
(13)
となります。
右辺の表面積分の インテグランド(被積分函数) について、Dirichlet 条件では $\blacktriangle\varphi = 0$ であり、Neumann 条件では $\frac{\partial\blacktriangle\varphi}{\partial n} = 0$ なのでどちらの境界条件を考えていてもこれは 0 になります。
また左辺の第一項は、
\begin{equation} \nabla^2\blacktriangle\varphi = \nabla^2\varphi_1 - \nabla^2\varphi_2 = -f - (-f) = 0 \end{equation}
(14)
なので 0 になります。
従って結局、
\begin{equation} \int_V |\nabla\blacktriangle\varphi|^2 dV = 0 \end{equation}
(15)
と分かるので、
\begin{equation} \nabla\blacktriangle\varphi \equiv \bm{0} \end{equation}
(16)
です。 $\blacktriangle\varphi$ は x, y, z のどれで微分しても 0 なので定数です。 つまり、
\begin{equation} \varphi_1 - \varphi_2 = (\text{const.}) \end{equation}
(17)
と分かります。 つまり、$\varphi$ には定数分の不定性のみ存在することが分かりました。
ところが Dirichlet 境界条件では境界上での $\varphi$ の値が与えられているため、境界上のある一点での $\varphi$ の値を考えることでこの定数の不定性は除去することができます。
一方、Neumann 境界条件では境界上でも勾配しか与えられていないので不定性は除去できません。
従って、Dirichlet 境界条件の場合には不定性は全く存在せずNeumann 境界条件の場合には定数分の不定性が存在するということがいえました。

[1]差分を $\Delta\varphi$ とおくと Laplacian $\triangle$ と紛らわしいから黒くしてみた

4Poisson 方程式の形式的解表示

以上で準備は終わりで[1]これからは Poisson 方程式:
\begin{equation} \begin{cases} \nabla^2 \varphi(\bm{r}) = -f(\bm{r}) \\ (\text{Boundary Condition; B.C.}) \end{cases} \end{equation}
(18)
の形式的な解を求めていきます。
なお境界条件 (Boundary Condition) は Dirichlet 型もしくは Neumann 型のもののみ考えます。

4.1Green 函数

4.1.1定義

すごく天下り的ですが Green 函数 $G(\bm{r}, \bm{r}')$ を以下の等式を満たす函数として定義します:
\begin{equation} \nabla'^2 G(\bm{r}, \bm{r}') = -\delta(\bm{r}-\bm{r}') \end{equation}
(19)
ここで $\nabla'^2$ は ($\bm{r}$ ではなく) $\bm{r}'$ に対して微分することを表します。

4.1.2Green 函数の不定性について

まず、
\begin{equation} \nabla'^2\left(\frac{1}{|\bm{r}-\bm{r}'|}\right) = -4\pi\delta(\bm{r}-\bm{r}') \end{equation}
(20)
に注意します。
簡単に証明しておくと、まず、
\begin{equation} \nabla'^2\left(\frac{1}{|\bm{r}-\bm{r}'|}\right) = 0 \hspace{1em} (\bm{r} \ne \bm{r}') \end{equation}
(21)
は、頑張って二回微分計算をすれば、ちょっと大変ですが、証明できます。
$\bm{r} = \bm{r}'$ のときには V を $\bm{r}$ のまわりの、半径を $\epsilon$ とする球だとして、
\begin{align*} \int_V \nabla'^2\left(\frac{1}{|\bm{r}-\bm{r}'|}\right) dV' & = \oint_S \nabla'\left(\frac{1}{|\bm{r}-\bm{r}'|}\right) \cdot d\bm{S} \\ & = \oint_S \frac{\bm{r}-\bm{r}'}{|\bm{r}-\bm{r}'|^3} \cdot d\bm{S} \\ & = \oint_S \frac{-\epsilon dS}{\epsilon^3} \\ & = -4\pi \end{align*}
(22)
なので (20) 式が成り立つことが分かります。
さて (20) を使うと (19) 式は、
\begin{equation} \nabla'^2 G(\bm{r}, \bm{r}') = -\frac{1}{4\pi}\nabla'^2\left(\frac{1}{|\bm{r}-\bm{r}'|}\right) \end{equation}
(23)
\begin{equation} \therefore \nabla'^2 \left(G(\bm{r}, \bm{r}') + \frac{1}{4\pi}\frac{1}{|\bm{r}-\bm{r}'|}\right) = 0 \end{equation}
(24)
となるので、
\begin{equation} F(\bm{r}, \bm{r}') := G(\bm{r}, \bm{r}') + \frac{1}{4\pi}\frac{1}{|\bm{r}-\bm{r}'|} \end{equation}
(25)
とおいてみます。
すると Green 函数というのは (19) 式の定義の代わりに、
\begin{equation} \begin{cases} \displaystyle G(\bm{r}, \bm{r}') = - \frac{1}{4\pi}\frac{1}{|\bm{r}-\bm{r}'|} + F(\bm{r}, \bm{r}') \\ \displaystyle \nabla'^2F(\bm{r}, \bm{r}') = 0 \end{cases} \end{equation}
(26)
を満たすような函数である、と定義することができます。
また Green 函数の不定性は、任意の調和函数[2] F が残っているので、調和函数分だけの不定性があることが分かります。

4.2解を表示する! (一般の場合)

Green's second identity において $\phi = \varphi, \psi = G$ とすると、
\begin{equation} \int_V \left(\varphi(\bm{r}')\nabla'^2G(\bm{r}, \bm{r}') - G(\bm{r}, \bm{r}')\nabla'^2\phi(\bm{r}')\right) dV' = \oint_S \left( \varphi\frac{\partial G}{\partial n'} - G\frac{\partial \varphi}{\partial n'} \right) dS' \\ \end{equation}
(27)
\begin{equation} -\varphi(\bm{r}) + \int_V f(\bm{r}')G(\bm{r}, \bm{r}') dV' = \oint_S \left( \varphi\frac{\partial G}{\partial n'} - G\frac{\partial \varphi}{\partial n'} \right) dS' \end{equation}
(28)
\begin{equation} \therefore \varphi(\bm{r}) = \int_V f(\bm{r}')G(\bm{r}, \bm{r}') dV' + \oint_S \left( G\frac{\partial \varphi}{\partial n'} - \varphi\frac{\partial G}{\partial n'} \right) dS' \end{equation}
(29)
と書くことができました!
しかしこれで喜んではいけません。 なぜかというと、この右辺の積分は、第一項の体積分は良いのですが第二項の表面積分は Dirichlet の場合には $\frac{\partial \varphi}{\partial n}$ の値が分かりませんし、Neumann の場合には $\varphi$ の値が分からないので積分計算ができません!
そこで、それぞれの境界条件が与えられた場合に、調和函数分だけ不定性がある Green 函数に、ある制約を課すことでこの問題を解消してみます。

4.3解を表示する! (境界条件を考えた場合)

4.3.1Dirichlet 境界条件の場合

この場合には $\frac{\partial \varphi}{\partial n}$ が分からないので、
\begin{equation} G(\bm{r}, \bm{r}') = 0 \hspace{1em} (\text{$\bm{r}'$ on $S$}) \end{equation}
(30)
という制約を課すと都合が良さそうです。
このような境界条件を満たす調和函数 $F$ が必ず存在するかどうか知りませんが、たぶんあるよ (-_-)
このもとでは、
\begin{equation} \varphi(\bm{r}) = \int_V f(\bm{r}')G(\bm{r}, \bm{r}') dV' - \oint_S \varphi(\bm{r}')\frac{\partial G}{\partial n'}(\bm{r}, \bm{r}') dS' \end{equation}
(31)
となります。

4.3.2Neumann 境界条件の場合

この場合には $\varphi$ が分からないので、
\begin{equation} \frac{\partial G}{\partial n'}(\bm{r}, \bm{r}') = 0 \hspace{1em} (\text{$\bm{r}'$ on $S$}) \end{equation}
(32)
となってくれれば簡単なのですが、実は、
\begin{align*} \oint_S \frac{\partial G}{\partial n'} dS' & = \oint_S \nabla'G \cdot d\bm{S}' \\ & = \int_V \nabla'^2G dV' \\ & = \int_V -\delta(\bm{r}-\bm{r}') dV' \\ & = -1 \end{align*}
(33)
となるので 0 じゃダメです[3]
そこで、
\begin{equation} \frac{\partial G}{\partial n'}(\bm{r}, \bm{r}') = -\frac{1}{S} \hspace{1em} (\text{$\bm{r}'$ on $S$}) \end{equation}
(34)
とします。 ただし S は境界の面積:
\begin{equation} S := \oint_S dS \end{equation}
(35)
を表します。
このような境界条件を満たす調和函数 $F$ が必ず存在するかどうか知りませんが、たぶんあるよ (-_-) (←コピペ)
このもとでは、
\begin{equation} \varphi(\bm{r}) = \langle\varphi\rangle_S + \int_V f(\bm{r}')G(\bm{r}, \bm{r}') dV' + \oint_S G(\bm{r}, \bm{r}')\frac{\partial \varphi}{\partial n'}(\bm{r}') dS' \end{equation}
(36)
となります。 ただし、$\langle\varphi\rangle_S$ は表面上での $\varphi$ の平均値:
\begin{equation} \langle\varphi\rangle_S := \frac{1}{S} \oint_S \varphi(\bm{r}) dS \end{equation}
(37)
とします。
「えっ、境界上での $\varphi$ の値は分からないんだから結局この積分 ($\langle\varphi\rangle_S$) は計算できないんじゃ…?」と思った人がいるかもしれませんが、その通りです。 でも計算できないことは実は問題になりません。
この積分は $\bm{r}$ に依存しない定数です。 上の方で Neumann 境界条件を課したときには定数分の不定性は解消できない、ということをいいましたよね…。 なので実はこの部分を 0 にした函数、
\begin{equation} \varphi_0(\bm{r}) := \int_V f(\bm{r}')G(\bm{r}, \bm{r}') dV' + \oint_S G(\bm{r}, \bm{r}')\frac{\partial \varphi}{\partial n'}(\bm{r}') dS' \end{equation}
(38)
は Poisson 方程式も境界条件も満たす、求めるべき解 (のうちの一つ) になっています。 従って、不定性も考慮に入れたより一般的な解は、任意定数を $C$ として、
\begin{equation} \varphi(\bm{r}) = \int_V f(\bm{r}')G(\bm{r}, \bm{r}') dV' + \oint_S G(\bm{r}, \bm{r}')\frac{\partial \varphi}{\partial n'}(\bm{r}') dS' + C \end{equation}
(39)
と書けます。
なので結局 $\langle\varphi\rangle_S$ の値なんてどーでもいい、ということが分かりました。

以上のような方法で Poisson 方程式を解く方法を Green 函数法 (Green's function method) といいます。
なお Green 函数法は Poisson 方程式だけに有効な方法じゃなくて、もっと一般に、任意の線形微分演算子 $\mathcal{L}$ に対して、
\begin{equation} \mathcal{L}\varphi(\bm{r}) = f(\bm{r}) \end{equation}
(40)
という偏微分方程式に対しても成り立つ方法らしいですが、よく知りません (ぉ

[1]長かった…
[2]Laplace 方程式 $\nabla^2\varphi=0$ を満たす函数 $\varphi$ のことを調和函数 (Harmonic function) といいます
[3]G はその定義から、ある一点に点電荷があるような状態の解 (スカラーポテンシャル) と等価なので、この表面積分が電場に関する Gauss の法則からその点電荷の電荷量に等しくなるのはイメージ的には明らかだったりします

5ちゅうい - なぜ「形式的」か

記事中、いたるところで「形式的な解」と書きました。 なぜでしょうか?
…謎かけみたいなことをやっても意味がないので答えをいうと、
これでは偏微分方程式は解けてない!
からです。
いくら積分の形で書けたといっても Green 函数 $G$ が分かっていないので解けていません。
じゃあ何も意味無かったのかというと、そうでもなくて、境界条件の形によっては「Poisson 方程式 + 境界条件」の形ではうまく解けないけど、Green 函数なら求められる、という場合があるからです。
それはまぁある程度当然で、もとの Poisson 方程式の形では「ラプラシアンすると $f$ っていう函数になる!」という函数を求める作業でしたが、Green 函数を求める作業は「ラプラシアンするとデルタ函数になる!」という函数を求める作業なので、よく分からない函数 $f$ が入ってくるよりは簡単になりそうかな…という感じです。
もちろん Green 函数法を使えばどんな函数 $f$ や境界条件を与えたとしても解ける、という意味ではありません。 むしろちょっと複雑になっただけで忽ち(たちまち)解けなくなってしまいます。 そういう場合には数値計算するしかないです。

6まとめ

Poisson 方程式と境界条件、
\begin{equation} \begin{cases} \triangle \varphi(\bm{r}) = -f(\bm{r}) \\ (\text{Boundary Condition}) \end{cases} \end{equation}
(41)
をみたす函数 $\varphi(\bm{r})$ を見つける作業[1]は以下の作業をすることと同値です。

6.1Dirichlet 境界条件の場合

境界面上で $\varphi(\bm{r})$ の値が境界条件として与えられている場合には、
\begin{equation} \begin{cases} \displaystyle \triangle'G(\bm{r}, \bm{r}') = -\delta(\bm{r}-\bm{r}') \\ \displaystyle G(\bm{r}, \bm{r}') = 0 & \text{$\bm{r}'$ on $S$} \end{cases} \end{equation}
(42)
を満たす函数 $G(\bm{r}, \bm{r}')$ を見つけてきて、
\begin{equation} \varphi(\bm{r}) = \int_V f(\bm{r}')G(\bm{r}, \bm{r}') dV' - \oint_S \varphi(\bm{r}')\frac{\partial G}{\partial n'}(\bm{r}, \bm{r}') dS' \end{equation}
(43)
を計算する。

6.2Neumann 境界条件の場合

境界面上で $\frac{\partial\varphi}{\partial n}$ の値が境界条件として与えられている場合には、
\begin{equation} \begin{cases} \displaystyle \triangle'G(\bm{r}, \bm{r}') = -\delta(\bm{r}-\bm{r}') \\ \displaystyle \frac{\partial G}{\partial n'}(\bm{r}, \bm{r}') = -\frac{1}{S} & \text{$\bm{r}'$ on $S$} \end{cases} \end{equation}
(44)
を満たす函数 $G(\bm{r}, \bm{r}')$ を見つけてきて、
\begin{equation} \varphi(\bm{r}) = \int_V f(\bm{r}')G(\bm{r}, \bm{r}') dV' + \oint_S G(\bm{r}, \bm{r}')\frac{\partial \varphi}{\partial n'}(\bm{r}') dS' + C \end{equation}
(45)
を計算する。 ただし $C$ は任意定数。

[1]このことを「(偏)微分方程式を解く」というんでしたよねw