特殊関数の取扱い方
| 自動評価 | 特定の引数に対し厳密な結果を返す |
| N[expr,n] | 任意精度で数値近似する |
| D[expr,x] | 厳密な導関数を返す |
| N[D[expr,x]] | 導関数を数値近似する |
| Series[expr,{x,x0,n}] | 級数展開 |
| Integrate[expr,x] | 厳密に積分する |
| NIntegrate[expr,x] | 積分を数値近似する |
| FindRoot[expr==0,{x,x0}] | 根を数値近似する |
特殊関数に適用可能な共通操作のいくつか
ほとんどの特殊関数は,引数が特定の値を取るとき関数の値が簡単な形となる.Mathematica では,この種の簡約化は自動的に行われる.
| Out[1]= |  |
エアリー(Airy)関数の特別な場合を,ガンマ関数を使った式に約してくれる.
| Out[2]= |  |
ほとんどの引数では特殊関数を厳密に簡約することは不可能である.そのようなときでも,Mathematica の数値近似機能を使い必要な精度で特殊関数の近似値を得ることはできる.Mathematica に組み込まれているアルゴリズムは,特殊関数を定義するパラメータが基本的にどんな値を取ろうが対応できるようになっている.パラメータが実数であっても,複素数であっても対応可能である.
既知でないため,結果を厳密な形で得ることができない.
| Out[3]= |  |
それでも,数値計算による近似はできる.結果を40桁精度で近似させる.
| Out[4]= |  |
非常に大きな複素数になるが,それでも
Mathematica は見付けることができる.
| Out[5]= |  |
ほとんどの特殊関数では,その導関数を初等関数や別の特殊関数で表すことが可能である.そうすることが不可能なときでも,Nを適用することで数値近似的な導関数の値を求めることは可能である.
| Out[6]= |  |
| Out[7]= |  |
| Out[8]= |  |
| Out[9]= |  |
Mathematica には特殊関数に関する知識が大量に集約されている.基本的には過去に導出された,特殊関数に関するすべての研究結果が入っている.Mathematica で特殊関数を使うたびに,ユーザはこの知識にアクセスしていることになる.
| Out[10]= |  |
Mathematica は,特殊関数を含む非常に多種の積分を行うことができる.
| Out[11]= |  |
特殊関数を扱う上で特徴的なことのひとつに,異なる特殊関数の間に非常に多くの関係式の成り立つことが挙げられる.また,これらの関係式を使うことで式を簡約することができる.
特殊関数を含む式の簡約化
| Out[12]= |  |
チェビシェフの関数を表した式が使われて簡約化が進められる.
| Out[13]= |  |
| Out[14]= |  |
特殊関数を含む式の変形操作
以下はガウスの超幾何関数をより簡単な関数に展開する.
| Out[15]= |  |
| Out[16]= |  |
| Out[17]= |  |
これはフルヴィッツ(Hurwitz)のゼータ関数の二次導関数の式を求める.
| Out[18]= |  |