5.1 モーメント法とは

線形空間と演算子

 線形作用素あるいは演算子(linear operator)を$L$, 既知の強制関数(known forcing function)を$g$, 未知関数を$f$として, \begin{gather} L(f) = g \label{eq:Lf_g} \end{gather} で表される場合を考える.まず,内積(inner product)$\langle f, g \rangle$あるいはモーメント(moment)は次の関係を満足する. \begin{align} &\langle f, g \rangle = \langle g, f \rangle \\ &\langle \alpha f+ \beta g, h \rangle = \alpha \langle f, h \rangle + \beta \langle g, h \rangle \\ &\langle f^*, f \rangle \left\{ \begin {array}{ll} \gt 0 & (f \ne 0) \\ = 0 & (f = 0) \end{array} \right. \end{align} ただし,$\alpha$,$\beta$はスカラー,$*$は複素共役を示す. また,随伴作用素(adjoint operator)$L^a$は次式によって定義される. \begin{gather} \langle L f, g \rangle = \langle f, L^a g \rangle \end{gather} ここで,$L^a = L$なら作用素は自己随伴(self-adjoint)であるという. $f$が実数ならば,$Lf$もまた実数である. $f$が実数あるいは複素数のとき, $\langle f^*, L f \rangle \gt 0 \ (f \ne 0)$なら演算子は正定値(positive definite), $\langle f^*, L f \rangle \ge 0 \ (f \ne 0)$なら半正定値(positive semidefinite), $\langle f^*, L f \rangle \lt 0 \ (f \ne 0)$なら負定値(negative definite)であるという. いま,任意の$g$に対して$L(f) = g$の解$f$が唯一決まるとき,逆作用素(inverse operator)$L^{-1}$より, \begin{gather} f = L^{-1} (g) \end{gather}

【例】変域 $0 \le x \le 1$ において定義される$g(x)$,$f(x)$について, \begin{gather} - \frac{d^2f}{dx^2} = g(x) \label{eq:ex_int} \\ f(0) = f(1) = 0 \label{eq:ex} \end{gather} とする境界値問題を考えよう.

 演算子$L$は, \begin{gather} L = - \frac{d^2}{dx^2} \end{gather} これより,与式は, \begin{gather} L(f) = f(x) \label{eq:Lf_fx} \end{gather} この問題における内積(inner product)$\langle f, g \rangle$は,例えば, \begin{gather} \langle f, g \rangle = \int_0^1 f(x) g(x) dx \label{eq:inner_product} \end{gather} あるいは, \begin{gather} \langle f, g \rangle = \int_0^1 w(x) f(x) g(x) dx \end{gather} ただし,$x(x) \gt 0$は任意の重み関数(arbitrary weighting function)を示す. 式\eqref{eq:inner_product}より,式\eqref{eq:Lf_fx}と$g$の内積は, \begin{eqnarray} \langle Lf, g \rangle &=& \int_0^1 L(f) g(x) dx \nonumber \\ &=& \int_0^1 \left( - \frac{d^2f}{dx^2} \right) g \ dx \end{eqnarray} 部分積分して, \begin{eqnarray} \langle Lf, g \rangle &=& \left[ \left( -\frac{df}{dx} \right) g \right]_0^1 - \int_0^1 \left( -\frac{df}{dx} \right) \frac{dg}{dx} dx \nonumber \\ &=& -\left[ \frac{df}{dx} g \right]_0^1 + \int_0^1 \frac{df}{dx} \frac{dg}{dx} dx \label{eq:IP_Lf_g} \end{eqnarray} 上式の第2項をさらに部分積分して, \begin{eqnarray} \int_0^1 \frac{df}{dx} \frac{dg}{dx} dx &=& \left[ f \frac{dg}{dx} \right]_0^1 - \int_0^1 f \frac{d^2g}{dx^2} dx \end{eqnarray} これより,式\eqref{eq:IP_Lf_g}の内積は, \begin{eqnarray} \langle Lf, g \rangle &=& -\left[ \frac{df}{dx} g \right]_0^1 + \left( \left[ f \frac{dg}{dx} \right]_0^1 - \int_0^1 f \frac{d^2g}{dx^2} dx \right) \nonumber \\ &=& \int_0^1 f \left( -\frac{d^2g}{dx^2} \right) dx + \left[ f \frac{dg}{dx} - \frac{df}{dx} g \right]_0^1 \end{eqnarray} 上式の第2項は,境界条件の項である.いま, \begin{gather} g(0) = g(1) = 0 \end{gather} のとき,この項はゼロになり, \begin{eqnarray} \langle Lf, g \rangle &=& \int_0^1 f \left( -\frac{d^2g}{dx^2} \right) dx \nonumber \\ &=& \langle f, L^a g \rangle \end{eqnarray} このとき, \begin{gather} L = L^a = -\frac{d^2}{dx^2} \end{gather} ゆえ,この作用素は自己随伴である.  また, \begin{eqnarray} \langle f^*, Lf \rangle &=& \int_0^1 f^* \left( -\frac{d^2f}{dx^2} \right) dx \nonumber \\ &=& \left[ f^*\left( -\frac{df}{dx} \right) \right]_0^1 - \int_0^1 \frac{df^*}{dx} \left( -\frac{df}{dx} \right) dx \nonumber \\ &=& \int_0^1 \frac{df^*}{dx} \frac{df}{dx} dx \nonumber \\ &=& \int_0^1 \left| \frac{df}{dx} \right|^2 dx \end{eqnarray} したがって,$f$が複素数であっても$L$は正定値である.

重み付き残差法

 電磁界解析では,$L$ は微積分演算子(integro-differential operator), $g$ は既知の駆動関数(known driving function),例えば,与えられた入射波, $f$ は解くべき未知電流などである. ここでは,$f$ を基底関数(basis functions)$f_n$で次のように展開する. \begin{gather} f \simeq \sum_{n=1}^N a_n f_n \equiv \bar{f} \end{gather} ただし,$a_n$は未知係数(unknown coefficients)を示す. $\bar{f}$は$f$の近似解ゆえ,次のように残差$R$が生じる. \begin{gather} R = g - L(\bar{f}) = g - \sum_{n=1}^N a_n L(f_n) \end{gather} この残差$R$に重みをかけて領域全体で積分したものがゼロになるように, \begin{eqnarray} \int w_m R d\Omega &=& \int w_m \left\{ g - L(\bar{f}) \right\} d\Omega \nonumber \\ &=& 0 \ \ \ \ \ (m=1,2, \cdots , N) \label{eq:int_R} \end{eqnarray} とし,未知定数$a_n \ (n=1,2, \cdots , N)$を定める方法が重み付き残差法(method of weighted residuals)である. ただし,$w_m$は重み関数(weighting function)を示す.

マトリクス方程式

 演算子$L$は線形ゆえ, \begin{gather} L(\bar{f}) = \sum_{n=1}^N a_n L(f_n) \end{gather} これより,式\eqref{eq:int_R}は, \begin{gather} \int w_m \left\{ g - \sum_{n=1}^N a_n L(f_n) \right\} d\Omega = 0 \ \ \ \ \ (m=1,2, \cdots , N) \end{gather} あるいは, \begin{gather} \sum_{n=1}^N a_n \int w_m L(f_n) d\Omega = \int w_m g d\Omega \ \ \ \ \ (m=1,2, \cdots , N) \end{gather} 内積を式\eqref{eq:inner_product}のように表すと, \begin{gather} \sum_{n=1}^N a_n \langle w_m, Lf_n \rangle = \langle w_m, g \rangle \ \ \ \ \ (m=1,2, \cdots , N) \end{gather} これは次のように行列表示できる. \begin{gather} [Z] \VECi{a} = \VECi{b} \end{gather} ここで,$[Z]$は$N \times N$正方行列で, \begin{eqnarray} [Z] &=& \begin{pmatrix} z_{11} & z_{12} & \cdots & z_{1N} \\ z_{21} & z_{22} & \cdots & z_{2N} \\ \vdots & \vdots & & \\ z_{N1} & z_{N2} & \cdots & z_{NN} \\ \end{pmatrix} \nonumber \\ &=& \begin{pmatrix} \langle w_1, Lf_1 \rangle & \langle w_1, Lf_2 \rangle & \cdots & \langle w_1, Lf_N \rangle \\ \langle w_2, Lf_1 \rangle & \langle w_2, Lf_2 \rangle & \cdots & \langle w_2, Lf_N \rangle \\ \vdots & \vdots & & \\ \langle w_N, Lf_1 \rangle & \langle w_N, Lf_2 \rangle & \cdots & \langle w_N, Lf_N \rangle \\ \end{pmatrix} \end{eqnarray} 行列要素$z_{mn}$は, \begin{gather} z_{mn} = \int w_m L(f_n) d\Omega = \langle w_m, Lf_n \rangle \end{gather} また,列ベクトル$\VECi{a}$,$\VECi{b}$は, \begin{gather} \VECi{a} = \begin{pmatrix} a_1 \\ a_2 \\ \vdots \\ a_N \end{pmatrix}, \ \ \ \ \ \VECi{b} = \begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_N \end{pmatrix} = \begin{pmatrix} \langle w_1, g \rangle \\ \langle w_2, g \rangle \\ \vdots \\ \langle w_N, g \rangle \end{pmatrix} \end{gather} 列ベクトルの要素$b_m$は, \begin{gather} b_m = \int w_m g d\Omega = \langle w_m, g \rangle \end{gather} 行列$[Z]$の逆行列$[Z]^{-1}$が存在する場合, \begin{gather} \VECi{a} = [Z]^{-1} \VECi{b} \end{gather} これより,$\bar{f}$は, \begin{gather} \bar{f} = \sum_{n=1}^N a_n f_n = \VECi{f}_T \VECi{a} = \VECi{f}_T [Z]^{-1} \VECi{b} \end{gather} ここで,$\VECi{f}_T$は$\VECi{f}$の転置を示し, \begin{gather} \VECi{f} = \begin{pmatrix} f_1 \\ f_2 \\ \vdots \\ f_N \end{pmatrix} \end{gather} 基底関数については,区分的基底関数(local or subsectional basis functions)と 全領域基底関数(global or entire-domain basis functions)があり, スカラーだけでなくベクトルで表される場合もある. また,積分の次元については,線状素子の散乱問題などは1次元の線積分, 境界面上の等価波源に対する問題では2次元の面積分, 分布波源に対する電磁波問題では3次元の体積積分となる. 電磁界解析の分野では,このように線形代数方程式に変換して行列計算によって統一的に解く方法の総称をモーメント法(method of moments: MoM)と呼んでいる$^\dagger$. このとき,重み関数は,試行関数(testing function)ともいう. 現在では,電磁界が満足する積分方程式を求めてこのように計算する方法を単に,積分方程式法(integral equation methods)ともいう.