可能な積分と不可能な積分
積分は微分よりずっと難しい.微分には合成関数の微分法等の手法があるので,どんな微分でも体系だった手順に従って求めることができる.積分には,そのような手順がない.
積分における主な問題は,対象とする関数の原始関数を見付けるのが難しいことにある.微分をしたなら,必ず,微分する前の関数と同程度か,または,それより簡単な関数が取得できる.積分の場合はそうはいかず,通常は,もとの関数よりずっと難解な関数が必要になってしまう.
| Out[1]= |  |
|
| Out[2]= |  |
|
各種の関数で表される積分を見付けるのは難しくない.
| Out[3]= |  |
|
この積分には不完全ガンマ関数が必要になる.答において, xがどんな複素数の値を取ろうが問題ないように解が構成されることに注目.
| Out[4]= |  |
|
Mathematica には数学で使う各種の関数が多数組み込まれている.これらの関数を使うことで,非常に多くの積分を求めることができる.それでも,一見簡単に見えるが実は難解で標準的な数学の関数では求まらない積分がいくつもある.
この積分は一見簡単に見えるが,実は難解で,標準的な数学の関数では求まらない.
| Out[5]= |  |
|
標準的な数学関数を使って原始関数を表したい主な理由は,積分で得られる結果を評価したりさらに変形操作を施したりする上でそれらの関数の持つ既知の性質が使えるからである.
通常使われる関数の場合,指数関数や対数関数もしくは三角関数等の初等関数だけを使って積分が求まる.
Integrateの重要な機能のひとつに,ある関数の積分がこのような初等関数だけで表されるとき,
Integrateはその関数の積分を必ず見付けることができるというものがある.
有理関数の積分なら問題なく計算できる.求まる積分は有理関数と対数関数,そして逆三角関数で構成される.
| Out[6]= |  |
|
この積分も同じ形を持つが,多項式の根について取った陰な和が入るところが違う.
| Out[7]= |  |
|
| Out[8]= |  |
|
三角関数の式を積分すると,通常,答の式も三角関数で構成される.
| Out[9]= |  |
|
| Out[10]= |  |
|
| Out[11]= |  |
|
初等関数を合成した式の積分は,求まった積分も初等関数で構成されるときがある.
| Out[12]= |  |
|
しかし,この例のような別の種類の関数が必要になる式はさらに多くある.
| Out[13]= |  |
|
| Out[14]= |  |
|
| Out[15]= |  |
|
| Out[16]= |  |
|
Integrateでは,初等関数以外にも,多数のアルゴリズムが使われ特殊関数の積分が行われる.アルゴリズムのいくつかは初等関数のときの積分法を直接一般化した手法に基づいている.しかし,多くの場合,被積分関数を特殊な関数で表しておいて,その積分を求めた上で,適当に一般的によく知られている関数に帰着させる方法が取られる.
このベッセル関数を積分するには,一般化された超幾何関数が必要になる.
| Out[17]= |  |
|
式によっては,積分するとより分かりやすい形になる.
| Out[18]= |  |
|
積分の公式を集めた本にはおよそ数千の不定積分が記載されている.
Mathematica は基本的にそのすべての積分を計算できる.さらに,
Mathematica には汎用アルゴリズムが備えられているので,特定の問題だけでなく非常に広範囲に渡る積分問題が解けるようにもなっている.
| Out[19]= |  |
|
この積分は公式集を参照しただけでは解けない.もっと一般化されたアルゴリズムが必要になる.
| Out[20]= |  |
|
特に,ユーザ定義の数学関数を導入したなら,新しい種類の積分法を
Mathematica に教えておくとよいだろう.これは
Integrateに定義を付け加えることでできる.
微分の計算をする場合,合成関数の微分法を使えば,
Mathematica の
Derivativeを使って標準的な形の関数が得られる.しかし,積分の場合は,そのような標準形がないので,場合によっては同じ積分から得られるいくつかの変形版を特別に定義してやらなければいけない.また,
Integrateを使っても,自動的な変数の変換や他の変換操作はなかなかうまくできない.
Mathematica に用意されている標準的な数学関数ではこの積分はできない.
| Out[21]= |  |
|
積分用の規則を追加する前にプロテクトを解除しておく.
| Out[22]= |  |
|
この式の積分を例えば「ジョーンズ」(Jones)関数とするユーザ定義の規則を設ける. |
実際に積分してみる.Jones関数が使われ答が構成される.
| Out[24]= |  |
|
積分
sin (sin (x))
x は
2F1超幾何関数の無限和かあるいは適当に一般化された2変数のカンペドフェリエ(Kampé de Fériet)超幾何関数を用いて表される.