電 301 数値解析 第 7 回
関数近似 (1)
関数近似とは何か (1)
• 関数近似 (関数の近似) という言葉は, いくつ
かの教科書で, 未定義で用いられている.
• この講義では, 仮に, 関数を, 性質が既知の関
数 (系) を使って (近似的に) 表現することと
定義しておく.
関数近似とは何か (2)
• 実用上は, もう少し意味を狭めて, 関数を, 性 質が既知の関数 (系) の線形結合によって (近 似的に) 表現することとした方が使いやすい.
今後は, この講義では, 線形結合に限定して 議論を進める.
• 表現が厳密であることも, 誤差を含む近似表
現であることもあり得る.
関数近似とは何か (3)
• f (x) が周期 2π の周期関数であるとき , a 0
2 +
∞
X
n =1
(a n cos nx + b n sin nx)
という表現を f (x) の Fourier 級数展開という ( 岩波数学入門辞典 ).
ただし,xは実数で,f(x)は実数値関数とする.また, an= 1
π Zπ
−π
f(x) cosnx dx,bn= 1 π
Zπ
−π
f(x) sinnx dxである.
関数近似とは何か (4)
• 関数 f (x) を Fourier 級数展開したものを F.S.[f ] と書くことにする
(K. B. Howell, Principles of Fourier Analysis, Chapman& Hall/CRC, 2001で使われている機能
.
• Fourier 級数は関数近似の一種である . 関数 f (x)
の性質は必ずしも明らかでないのに対し , 三角
関数 sin nx および cos nx の性質はよくわかって
いる .
関数近似とは何か (5)
• 関数が Fourier 展開できる (Fourier 級数が収束す る ) ための十分条件としては , たとえば f (x) が区 分的に連続 , というものがある
(Howell, 2001.).
• 関数が区分的に連続とは , 関数が有限 [−π, π] 内
に持つ不連続点の個数は高々有限個で , α が f の
不連続点であるときには , x が α に右から近付い
たときの極限 ( 右極限 ) と左から近付いたときの
極限 ( 左極限 ) の両方が有限値となることをいう .
関数近似とは何か (6)
• Fourier 級数の収束条件としては上記以外のもの
も知られている ( 岩波数学辞典 ).
• 区間を [−π, π] と取ったのは便宜上の措置であり ,
長さが 2π であればどのように取ってもよい .
関数近似とは何か (7)
• 周期が 2π でなく T の場合には , a n = 2
T Z T
0
f (x) cos 2π nx T dx, b n = 2
T Z T
0
f (x) sin 2π nx
T dx となる .
• sin nx と cos nx のかわりに e inx を使うこともよ
く行われる ( 複素 Fourier 級数 ).
関数近似とは何か (8)
• f (x) が区分的に連続のとき , その Fourier 級数は , f (x) の連続点では f (x) に収束するが , 不連続点 ではその点における右極限と左極限の平均値に収 束する .
• フーリエ級数を第 N 項までで打ち切ったもの ( 部
分和 ) も応用上よく使われる .
関数近似とは何か (9)
• 関数の Fourier 級数展開は近似とは限らないが ,
Fourier 級数が無限個の係数が零でない項を持つ
ときには , 部分和は関数の近似になっている .
• Fourier 級数展開で三角関数を使って他の関数を
表現するのは , 三角関数が周期現象の表現や線形
回路網の解析に適しているから . とはいえ , 絶対
に三角関数を使わねばならないというわけでは
ない .
関数近似とは何か (10)
• 三角関数以外で , もっとも一般的なのは , 多項式 を使った展開である . 関数の Taylor 展開は多項 式による展開である .
• 関数 f (x) の Taylor 展開が無限個の係数が零でな
い項を持つとき , それを最初の N 項で打ち切った
ものは , 関数近似になる .
関数近似とは何か (11)
• 関数を近似するときには , 単に既知の関数系で展 開するよりは , 直交関数系と呼ばれる関数系で展 開した方が , 近似に関する議論がやりやすい ( 直 交性の意味は後述 ). 三角関数は直交関数系になっ ているが , 多項式は直交関数系になっていない .
• このため , 多項式のかわりに , 直交化した多項式
がよく用いられる .
関数近似とは何か (12)
• 応用で使われる直交多項式には , Legendre 多項 式 , Chebychev 多項式 , Jacobi 多項式 , Laguerre
多項式 , Hermite 多項式といったものがある ( 杉
原 , 室田 , 数値計算法の数理 , 岩波書店 , 1994; こ
れらをすべてこの講義で取り扱うわけではない )
.
直交性のメリット (1)
• 先の議論で「直交」という言葉が出て来た.
• 直交性を導入することの利点を, 2 次元数ベ クトル空間を例に取って説明する.
• a 1 = (a 11 , a 21 ) T , a 2 = (a 12 , a 22 ) T を線形独立
なベクトル, b を 2 次の数ベクトルとする.
直交性のメリット (2)
• b を a 1 と a 2 の線形結合で書き表すには, a 1 x 1 + a 2 x 2 = b という方程式を解かねばならない.
• a 1 の成分と a 2 の成分を横にならべて行列 A
を作ると, 上記は連立一次方程式 Ax = b を
解くことに相当する.
直交性のメリット (3)
• 一方, ( a 1 , a 2 ) が正規直交基底になっていると
きには, 内積 ( a i , b ) ( i = 1 , 2) を計算するこ
とにより, b = ( b , a 1 ) a 1 + ( b , a 2 ) a 2 となり,
計算はずっと簡単 (連立一次方程式を解く必
要がない).
直交性のメリット (4)
• また, n 次のベクトル空間において, ベクト
ル e 1 , . . . , e n が (正規) 直交基底となっていれ
ば, ベクトル x のベクトル e 1 , . . . , e k (ただし
k ≤ n) が張る部分空間への直交射影は, ベク
トル x のその部分空間における最良近似に
なっていることが示せる.
関数空間 (1)
• 線形代数は, 有限次元ベクトル空間における 線形写像の理論であった. (ベクトル空間の 公理については電気数学 I の内容なのでこの 講義では述べない).
• 線形代数における定理を無限次元空間に拡張
しようとする試みが 20 世紀初頭に始まった.
関数空間 (2)
• 以下しばらく, 便宜上, 関数の定義域を R と する.
• たとえば「勝手に取られた関数をなるべくう
まく連続関数で近似したい」といった問題を
取り扱うときには, 最適解を探す空間 (この
例には連続関数の全体) がどのような構造を
持っているかが問題となる.
関数空間 (3)
• R で定義された実数値関数の全体を V とす る. f, g ∈ V と α ∈ R に対し, f + g および αf を次のように定義する:
f + g : R ∋ x 7→ f (x) + g(x) ∈ R
αf : R ∋ x 7→ αf (x) ∈ R
関数空間 (4)
• 前ページの記法には不慣れな者が多いと思うが ,
⊲ f + g は各点 x において f (x) + g(x) という 値を取る関数
⊲ αf は各点 x において αf (x) という値を取 る関数
と定義する , という意味である .
関数空間 (5)
• R で定義された実数値関数の全体 V は, 以 上にようによって定義された加算およびスカ ラー倍の演算によって, ベクトル空間となる.
• 適切に加算およびスカラー倍の演算を定める
(導入する) ことで関数全体の集合をベクトル
空間にするというのは要注意点.
関数空間 (6)
• 関数全体がつくるベクトル空間を関数空間と
いう (岩波数学入門辞典)
• 以下の講義では, 関数を関数空間というベク
トル空間の要素として取り扱う. ただし, f
を太字にすることはない (かえって混乱を招
くから).
関数空間 (7)
• 連続関数を操作して, もとの関数を近似する のだから, 連続関数の加算とスカラー倍くら いはできなければお話にならない.
• 換言すると, 連続関数の全体がベクトル空間 になっていないと困る.
• 幸い, 連続関数の全体はベクトル空間をなす.
関数空間 (8)
• 上述の事実は, 連続関数全体は関数全体が作 るベクトル空間の部分ベクトル空間であると 言い換えられる.
• ところで, 近似について論ずるのであれば,
「関数 f と関数 g の違い」を定量的に定めら
れなければならない.
関数空間 (9)
• ベクトル空間 V にノルム (記号 k · k であらわ す) が定まっているときには, k f − g k によっ て「 f と g の違い」を測ることができる.
• ノルムが定められたベクトル空間をノルム空
間という (岩波数学入門辞典).
関数空間 (10)
• ノルムとは, 以下の 3 条件 (ノルムの公理) を 満たす実数値関数なら, 何でもよい.
1. k0k = 0,
2. ∀α ∈ C , ∀f ∈ V, kαf k = |a|kfk,
3. ∀f, g ∈ V, kf + gk ≤ kf k + kgk.
関数空間 (11)
• 「関数列 (g k ) k ∈N を f に収束させるようなア ルゴリズムを作りたい」といった問題を考え るときには, 「収束」「極限」といった概念を 明確にしておく必要がある. このためには,
位相構造 (開集合) が定まっていればよい.
関数空間 (12)
• 解析学では「コーシー列は収束する」という性質 が必要となることが多い . この性質を完備あるい は完備性という . 関数空間は完備とは限らないが , 応用上は完備な関数空間の方が使いやすい .
• 線形代数において , ベクトルを別のベクトルに移
す写像のうち , もっともよく使われる ( 使いやす
い ) ものは線形写像である . 関数空間でもこれは
同様で , 線形写像が重要な役割を果たす .
関数空間 (13)
• 関数空間を特徴付けるキーワードは 1. ベクトル空間 2. ノルム
3. 線形写像 4.(完備性)
• 関数空間は無限次元ベクトル空間であること
が普通.
関数空間 (14)
• 位相構造 (開集合系) が定まっている空間を位
相空間, 2 点間の距離が定まっている空間を 距離空間, ノルムが定まっているベクトル空 間がノルム空間である.
• ノルム空間では, ノルムを使って 2 要素 (ベク
トル) のあいだの距離を定めることができる.
関数空間 (15)
• 距離空間では, 距離を使って開集合を定める ことができる.
• したがって, 「ノルムによって距離を定める」
「距離によって位相を定める」という操作をす ることより, 以下の包含関係が成り立つ. こ の包含関係で等号は成立しない.
ノルム空間 ⊂ 距離空間 ⊂ 位相空間
関数空間 (16)
• 以上のような議論をした理由は, 収束などの 議論をする際に重要なのは位相であって, ノ ルムそのものではないから.
• 異なるノルムが同一の位相構造を定めること も, そうでないこともある.
次に述べる事実の典拠は,前者がR. E. Megginson, An Introduction to Banach Space Theory, Springer, 1998,後者が黒田,関数解析,共立出版, 1980.
関数空間 (17)
• 同じ位相構造を定めるノルムを, 同値なノル ムという.
• ノルム空間 V に 2 個のノルム k · k A と k · k B が定義され,
∃a, b > 0, ∀x ∈ V, akxk A ≤ kxk B ≤ bkxk A と
なれば, k · k A と k · k B は同値である.
関数空間 (18)
• ベクトル空間 V に 2 個のノルム k · k A と k · k B
が定められているものとする.
• k · k A と k · k B が同値でないときには, 集合と
しての V は共通でも, (V, k · k A ) と (V, k · k B )
とは位相空間としては別物である.
関数空間 (19)
• 一方, k·k A と k·k B が同値であれば, (V, k·k A ) と (V, k · k B ) とは, ノルムの値が違っても位 相空間としては同じである.
• 同値なノルムが複数あるときには, 収束など
の議論をする際に, 計算がもっとも簡単なノ
ルムを選べる, という利点がある.
関数空間 (20)
• V が有限次元ノルム空間であるとき, V で定 義されたノルムはすべて同値であることが証 明できる. また, 有限次元ノルム空間は完備 であることも証明できる ([黒田]).
• 以下しばらく, V は有限次元で, V の要素 x
が基底を用いて (x 1 , . . . , x n ) と成分表示され
ているものとする.
関数空間 (21)
有限次元ベクトル空間で 応用上 よく使われるノル
ム (下付き添字に注意)
l 1 ノルム kxk 1 = P n
k =1 |x k |, l 2 ノルム kxk 2 = ( P n
k =1 |x k | 2 ) 1 / 2 l p ノルム kxk p = ( P n
k =1 |x k | p ) 1 /p
(1 ≤ p < ∞, l p ノルムは p = 1, 2 の場合を含む ) .
無限大ノルム kxk ∞ = max{|x k |, 1 ≤ k ≤ n}
関数空間 (22)
• Scilab で有限次元ベクトルの l p ノルムを計算す
る関数は norm で , p を指定しないと l 2 ノルムが 計算される .
• 線形写像のノルムの定め方については次回 .
• 0 < p < 1 に対し , ( P n
k =1 |x k | p ) 1 /p はノルムにな らないが , x, y ∈ V に対し ,
d(x, y) = ( P n
k =1 |x k − y k | p ) は距離を定める .
典拠: J. Yeh, Real Analysis, 3rd ed., World Scientific, 2014.
関数空間 (23)
V を実数の無限列 (x k ) k ∈N の全体が作る集合とする . V は加算とスカラー倍を成分ごとに定義することで無限 次元ベクトル空間となる . この空間でよく使われるノル ム ( に対応する関数 ) は以下の通り .
l 1 ノルム kxk 1 = P ∞ k =1 |x k |, l 2 ノルム kxk 2 = P ∞
k =1 |x k | 2 1 / 2
無限大ノルム kxk ∞ = sup{|x k |, 1 ≤ k < ∞}
関数空間 (24)
• ノルムは実数値関数でなければならなかった
から, V からノルム空間を作るためには, ノ
ルム関数の値が無限大の要素を除去しなけれ
ばならない.
関数空間 (25)
• 上述のノルム関数が定めるノルム空間は以下 の通り.
⊲ l 1 = {x ∈ V : kxk 1 < ∞},
⊲ l 2 = {x ∈ V : kxk 2 < ∞},
⊲ l ∞ = {x ∈ V : kxk ∞ < ∞}
関数空間 (26)
• 1 ≤ p < ∞ に対し , kxk p = ( P ∞
i =1 |x i | p ) 1 /p とし , l p = {x ∈ V : kxk p < ∞} とする . k · k p ( を l p に 制限したもの ) は p- ノルムと呼ばれる .
• 0 < p < 1 に対し , ( P ∞
k =1 |x k | p ) 1 /p はノルムに ならない . ただし , x, y ∈ V に対し , d(x, y) = ( P ∞
k =1 |x k − y k | p ) とすると , これは距離を定め る .
典拠: J. Yeh, Real Analysis, 3rd ed., World Scientific, 2014.