Risch積分勉強中 → 極値に到達

Rischのアルゴリズムは,初等関数に対して不定積分が閉じた形の初等関数で与えられるかどうかを判別し,可能なら実際に不定積分を求めるアルゴリズムである.ここで初等関数とは次のようなもの: 1) xの有理関数 2) fがxの初等関数ならlog f 3) fがxの初等関数ならexp f 4) fがxの初等関数ならfの代数関数(多項式PによってP(f, F) = 0と陰関数表示されたFはfの代数関数. ex. x^3 + y^2 = 0のときyはxの代数関数)
まず被積分関数の構成を再帰的に分析する.例えばxe^{x^2}は... xの有理式を係数に持つ\theta\equiv e^{x^2}の有理式であり,\theta自身はxの有理式のexpを取ったもの(場合3)である,という風に.ここで微分体differential fieldの拡大extensionという概念を一般に用いる(和訳合ってるのか?).初等関数の定義より上の4つの場合分けに対応した再帰が行われる(1番目に会うと再帰終了).
次に,この例で言う「x\theta積分」を行う.ここで被積分関数\theta自身の倍数(係数はxの有理式)になっていることを利用する.
その他の場合であっても,各場合の特徴を生かして,不定積分を求めるか,それともそれは不可能だと結論づけることが可能だ.ともかく,うまく微分拡大体の列extension towerを構成することがポイント.
何とか理論のアウトラインとトイ実装を駒場祭部誌にまとめたいと思っていたのだが,とんでもない,多項式因数分解せにゃならん.n次方程式を解けと? その後に提案された改善案では無自乗分解squarefree decompositionやHermite分解などを使ってその辺の負担を減らしてあるようだが,コードに落とすのは依然として難しい.とても素人学生が片手間にできることではない... しかし何とかアウトラインは理解したぞ... と言っても数学サークルじゃないのでそこばかり書いてもな... うーむ甘くみていたぜ.先々を「甘く」見ていると「苦い」失敗を味わう,と.詩的ですな.
なお初等関数の中で不定積分が閉じた初等関数で表せないものの筆頭はGaussの誤差関数\textrm{erf}(x)=\int \exp(x^2)dx不定積分が閉じた初等関数で表されるならそれはf\exp(x^2)の形(ここでfはxの有理式)でなければならないが,fを多項式の商g/hと書いて微分方程式を立てると矛盾が得られる.(このような関数にぶつかるとRischのアルゴリズムは未定係数の比較で明らかな失敗が生じ,初等関数で表現できないことが分かる.)
とまれ,今回の調べ物をする過程では自分が東大生であることのウマみを十二分に味わった.電子ジャーナルや数理科学研究科図書館への自由なアクセス.何と恵まれているのだろう.願わくば,さらに環境を生かし切れるような生活が送れることを.
なお参考文献を選ぶ起点としてはMathematicaの開発元Wolfram Researchの開いているサイトMathWorldが役立った.なかなかいいとこあるね.
http://mathworld.wolfram.com/
INRIAのM. Bronstein氏はプロジェクトリーダーとして精力的にCASの研究を続けてらっしゃるようだ.サイトからいくつかいただいた文書は非常にためになった.
http://www-sop.inria.fr/cafe/Manuel.Bronstein/bronstein-eng.html
分不相応な文献にタックルする過程で出会った数々の困難=述語の意味を調べるのにはWikiPediaが非常に役立った.単語をググったら何回も上位に引っかかり,実際それに相応しい中身だった.かなりの知識の人が書いてるようだ.
http://en.wikipedia.org/wiki/Main_Page
もしかしたら今後 J. Symb. Comput. のお世話になるかもしれないが... さすがに相当先だろう.論文誌と言えば他にACM Digital Libraryで "Symbolic Integration" とかで適当に検索をかけて出て来たものが割とよかった.