2004/10/19 解析学とコンピュータ 今日から補完法 直接利用することはないが、次の微分や積分の基礎になるので重要 補完法が使われる状況 本来、連続量 ( ただし、関数は判っていない.. ) の値を知りたい場合 何点かの値が判っていた場合 (測定点) に、不明な点の値を知る # 電気の易いメータの目盛はこれを利用している # 高いものは、細かく値を全て測定して、目も盛る # 易いものは、大まかな値の目盛だけで、残りは、適当に補完 (等間隔) 補完の簡単な例 二つの測定点の間の値を知ることを考える 二点を結ぶ直接を求めて、その直線上の値を利用する 線型補完 二点を通る最小次元の多項式は一次式 y = a x+ b なので、 二つの未知数で定まる 一般には .. n 点を通る多項式は n - 1 次式になる 補完では、多次元の近似はよくない 例 三次式などにすると、数値が「暴れる」ことがある。 線型近似は、確かに、それほど近似度は高くないが、「素直」なので扱い易い 例 1/x を多項式で近似しようとすると.. 1/x は、x が無限大の時に 0 に収束 多項式は、x が無限大の時に 無限大に発散 多項式で近似しようとすること自身が無理 線型近似ならば、それほど無理が出ない。 数値が暴れないようにするには、 次数を高くしない できるだけ狭い区間で行う 区間が広いと、暴れやすい # 情報の少い所で、高次の補完をすると大変 例 : 天気図 陸地は、観測点が沢山あるので高次でもよい 海は、観測点が疎なので、二次にしただけでも変な現象が.. 線型近似は、意外と使える 関数に関する性質が判っていないときはこれ == # 以下、「暴れない」データだけが与えられるとして、議論をする。 線型近似 直線の方程式 y = a x + b を求める。 二点が与えられれば、変数 a, b に関する連立二元一次方程式になる 連立方程式を解くだけ 二次の近似 放物線の方程式 y = a x^2 + b x + c を求める。 三点が与えられれば、変数 a, b, c に関する連立三元一次方程式になる 連立方程式を解くだけ 一般に、高次の場合も同様に、考えればよいのだが... 例えば 10 次元だとすると、 \Sum_{i=0}^{10} a_i x^i として、連立方程式は立てられる。 しかし、数値的には... x の値が、1, 10, 100, .., 10^10 だとすると.. y = 1, 10^10, 100^10, ... (10^10)^10 !! 行列の要素にスケールの差が生じてしまう 行列が解き難い # 誤差が沢山は入ってしまう... ## スケーリングをすることによって、一応対処は可能 ## もちろん、無限桁の計算ができれば問題ないのだが.. ## 計算機は、有限桁の計算しかできないので.. 高次の多項式近似を、( 行列の要素のスケール考慮せずに.. ) 行うには.. ラグランジュ補完 # ラグランジュ(1736−1818) # http://math.josai.ac.jp/kouza/kanou/suugaku.html.htm 発想 n 個の観測点に関して 夫々の点に関して、 特定な一点では、1, それ以外の測定点では 0 となるような関数を考える 観測点が n なので、その関数も n 個数ある f_1, .., f_n この関数を利用して F(x) = \Sum_{i=1}^n \alpha_i f_i(x) # where \alpha_i は x_i での測定値 ( F(x_i) ) とすれば、 F(x_i) = \alpha_i ( for i = 1 .. n ) と言える。 詰まり、このような f_i が存在すれば、この F(x) が近似関数となる # 直交多項式の性質を上手く利用している。 ## なんか騙されているような気がする.. 問題は、このような f_i が多項式として構成できるか ? # それが上手くゆく l_k(x) = \frac{\PI_{i=1}^n(x-x_i)}{\PI_{i=1}^n(x_k-x_i)}\frac{x_k-x_k}{x-x_k} # 実際には、x_k の部分だけを積から取り除く この l_k(x) が上記の f_i として利用できる。 #「直交多項式(都合の良い形)を利用する(求める関数を線型和として # 表現する)」という考え方は色々な所で == n 点を通る関数を多項式で近似する方法 他にも色々な方法があるが... ラグランジュ補完以外はしない Why ? 余り利用されないから.. [例] 100 点取ると多項式は、99 次元つまり、奇関数 無限大にすると符号が逆 101 点取ると多項式は、100 次元つまり、偶関数 無限大にすると符号が同じ 点を一点余分に取るだけで無限大の値ががらりと変るのは変 近似の立場からいえば、点が増えると少しずつ精度が良くなってほしい 多項式という関数の性質が悪い 他の形の補完が望ましい 多項式の欠点 無限大で暴れる 遠い点の影響が近似値に影響する (物理現象としては..) 遠い点の影響は少い 現象を区分的に捉える視点が必要となる # 線型補完は、区分的な例 # 区間密度が高ければ、精度が悪くない == スプライン補完 多項式による補完ではあるが、区分的に補完する 区分的な区間を 三次式で補完する 未知数は 4 つ 通る点は 2 点 残る点は ? 両方の点での微分係数も一致させる これで 2 点、合計 4 点 # 単に点を通るだけでなく、各々点で滑らかに接続する ## 自在定規の原理がこれ ### ある種のエネルギーを最小にする仕組 # 五次元のスプラインもある # 接続点で、二次の微分係数も一致させたい # 微分方程式を解く場合などは、この性質が必要になる 微分係数を一致させるには、連立方程式を解く必要がある 一度解けば、後は、その係数を利用して、三次関数を作るだけだが.. # 三重対角行列なので、解くのもそれほど難しくない cf. 吉本先生の本 == 人間の五感は結構、敏感 机に、指を当てて撫でると、1 μmの凸凹がわかる 目で見て凸凹を結構簡単に発見できる 船の胴体に凸凹があると、水の抵抗が大きい # 車の方は空気抵抗なのでそれほど問題はない 「物事を滑かに作りたい」という要望は結構大きい # スプライン補完は結構使える == # ここまでは、一次元 ( 曲線 ) の近似 二次元の近似はどうするか ? x, y をそれぞれ別々に近似する x, y の関係する項 ( クロスターム ) がなくなってしまう 不連続な感じがする クロスタームが入ると滑らかにできるが、今度は、計算量が大きくなってしまう どうするかが、研究課題 # 講義の 26, 27 回目にやる「有限要素法」がその方法 == 補完をそのまま利用することは殆どない ( 実験屋は別だが.. ) 微分方程式を解く場合などに、補完法の考え方を (間接的に.. ) 利用する。 ラグランジェ補完は、誤差を考慮していない近似方法 観測誤差が入っている場合の補完は ? 最小自乗方法を利用する これは次数が決っている場合 次数が決っていないと.. 次数も含めた評価を行う # 統計学の考え方 赤池先生 ( 東京数理解析研究所 ) # 大隅先生 == 多項式近似では、高次元の多項式近似が必要になることは少い 区分近似の方が普通 ( 人間がみて滑らかかどうかだけがポイント ) 情報が少い場合に、どのような近似をするかどうかが大きな問題 補完は、誤差を考えていない 観測値を利用する場合は、誤差を考慮する必要がある 物理法則がわからない場合に、大まかな性質が知りたい 低次元の補完で 物理法則を推測する 物理法則が判ってきたら 誤差を含めた評価を行う == 演習は、「ラグランジェ補完」 プログラム p.104 データ p.101