5.1 モーメント法とは

線形空間と演算子

 線形作用素あるいは演算子(linear operator)をL, 既知の強制関数(known forcing function)をg, 未知関数をfとして, (1)L(f)=g で表される場合を考える.まず,内積(inner product)f,gあるいはモーメント(moment)は次の関係を満足する. (2)f,g=g,f(3)αf+βg,h=αf,h+βg,h(4)f,f{>0(f0)=0(f=0) ただし,αβはスカラー,は複素共役を示す. また,随伴作用素(adjoint operator)Laは次式によって定義される. (5)Lf,g=f,Lag ここで,La=Lなら作用素は自己随伴(self-adjoint)であるという. fが実数ならば,Lfもまた実数である. fが実数あるいは複素数のとき, f,Lf>0 (f0)なら演算子は正定値(positive definite), f,Lf0 (f0)なら半正定値(positive semidefinite), f,Lf<0 (f0)なら負定値(negative definite)であるという. いま,任意のgに対してL(f)=gの解fが唯一決まるとき,逆作用素(inverse operator)L1より, (6)f=L1(g)

【例】変域 0x1 において定義されるg(x)f(x)について, (7)d2fdx2=g(x)(8)f(0)=f(1)=0 とする境界値問題を考えよう.

 演算子Lは, (9)L=d2dx2 これより,与式は, (10)L(f)=f(x) この問題における内積(inner product)f,gは,例えば, (11)f,g=01f(x)g(x)dx あるいは, (12)f,g=01w(x)f(x)g(x)dx ただし,x(x)>0は任意の重み関数(arbitrary weighting function)を示す. 式(11)より,式(10)gの内積は, Lf,g=01L(f)g(x)dx(13)=01(d2fdx2)g dx 部分積分して, Lf,g=[(dfdx)g]0101(dfdx)dgdxdx(14)=[dfdxg]01+01dfdxdgdxdx 上式の第2項をさらに部分積分して, (15)01dfdxdgdxdx=[fdgdx]0101fd2gdx2dx これより,式(14)の内積は, Lf,g=[dfdxg]01+([fdgdx]0101fd2gdx2dx)(16)=01f(d2gdx2)dx+[fdgdxdfdxg]01 上式の第2項は,境界条件の項である.いま, (17)g(0)=g(1)=0 のとき,この項はゼロになり, Lf,g=01f(d2gdx2)dx(18)=f,Lag このとき, (19)L=La=d2dx2 ゆえ,この作用素は自己随伴である.  また, f,Lf=01f(d2fdx2)dx=[f(dfdx)]0101dfdx(dfdx)dx=01dfdxdfdxdx(20)=01|dfdx|2dx したがって,fが複素数であってもLは正定値である.

重み付き残差法

 電磁界解析では,L は微積分演算子(integro-differential operator), g は既知の駆動関数(known driving function),例えば,与えられた入射波, f は解くべき未知電流などである. ここでは,f を基底関数(basis functions)fnで次のように展開する. (21)fn=1Nanfnf¯ ただし,anは未知係数(unknown coefficients)を示す. f¯fの近似解ゆえ,次のように残差Rが生じる. (22)R=gL(f¯)=gn=1NanL(fn) この残差Rに重みをかけて領域全体で積分したものがゼロになるように, wmRdΩ=wm{gL(f¯)}dΩ(23)=0     (m=1,2,,N) とし,未知定数an (n=1,2,,N)を定める方法が重み付き残差法(method of weighted residuals)である. ただし,wmは重み関数(weighting function)を示す.

マトリクス方程式

 演算子Lは線形ゆえ, (24)L(f¯)=n=1NanL(fn) これより,式(23)は, (25)wm{gn=1NanL(fn)}dΩ=0     (m=1,2,,N) あるいは, (26)n=1NanwmL(fn)dΩ=wmgdΩ     (m=1,2,,N) 内積を式(11)のように表すと, (27)n=1Nanwm,Lfn=wm,g     (m=1,2,,N) これは次のように行列表示できる. (28)[Z]a=b ここで,[Z]N×N正方行列で, [Z]=(z11z12z1Nz21z22z2NzN1zN2zNN)(29)=(w1,Lf1w1,Lf2w1,LfNw2,Lf1w2,Lf2w2,LfNwN,Lf1wN,Lf2wN,LfN) 行列要素zmnは, (30)zmn=wmL(fn)dΩ=wm,Lfn また,列ベクトルabは, (31)a=(a1a2aN),     b=(b1b2bN)=(w1,gw2,gwN,g) 列ベクトルの要素bmは, (32)bm=wmgdΩ=wm,g 行列[Z]の逆行列[Z]1が存在する場合, (33)a=[Z]1b これより,f¯は, (34)f¯=n=1Nanfn=fTa=fT[Z]1b ここで,fTfの転置を示し, (35)f=(f1f2fN) 基底関数については,区分的基底関数(local or subsectional basis functions)と 全領域基底関数(global or entire-domain basis functions)があり, スカラーだけでなくベクトルで表される場合もある. また,積分の次元については,線状素子の散乱問題などは1次元の線積分, 境界面上の等価波源に対する問題では2次元の面積分, 分布波源に対する電磁波問題では3次元の体積積分となる. 電磁界解析の分野では,このように線形代数方程式に変換して行列計算によって統一的に解く方法の総称をモーメント法(method of moments: MoM)と呼んでいる. このとき,重み関数は,試行関数(testing function)ともいう. 現在では,電磁界が満足する積分方程式を求めてこのように計算する方法を単に,積分方程式法(integral equation methods)ともいう.