limit ..... 極限値を出力する関数

書式

limit(式, 変数, 値)

で用い、「変数」を限りなく「値」に近づけたときの極限(値)を出力する。「値」には数の他、inf(= +∞)、minf(= -∞)、zeroa(= +0)、zerob(= -0)を用いることが出来る。ただし、-inf や 1+zeroa などは利用出来ないことに注意。なお、出力される極限は、数値、INF、MINF、UND(不定)、IND(不定だが有界)、INFINITY(複素無限)のいずれかとなる。

(%i1) limit(sin(x)/x, x, 0);

(%o1)                             1


(%i2) limit(sin(x)/x, x, inf);

(%o2)                             0


(%i3) limit(sin(x), x, minf);

(%o3)                            ind


(%i4) limit(1/x, x, 0);

(%o4)                            und


(%i5) limit(1/x, x, zeroa);

(%o5)                            inf


(%i6) limit(1/x, x, zerob);

(%o6)                           minf


(%i7) limit(x + %i, x, inf);

(%o7)                            inf


(%i8) limit(x + %i, x, minf);

(%o8)                           minf


(%i9) limit(x * %i, x, minf);

(%o9)                         infinity

期待する答えが得られない場合もある:

(%i10) limit(sqrt(x^2-1)/x, x, minf);

Is  x  positive or negative?


negative;

(%o10)                            1
上記では x → -∞ における極限値を考えることから negative を指定したのだが、positive としなければいけなかったらしい:
(%i11) limit(sqrt(x^2-1)/x, x, minf);

Is  x  positive or negative?


positive;

(%o11)                           - 1

なお、変数 tlimswitch(デフォルト:false)を true に変更する(関数 limit の代わりに関数 tlimit を用いることと同値)と、Taylor 展開を用いて極限値を計算するが、この場合は正しい答えが得られる。

(%i12) tlimswitch: true;

(%o12)                          true


(%i13) limit(sqrt(x^2-1)/x, x, minf);

(%o13)                           - 1

関数 limit には、書式

limit(式, 変数, 値, 方向)

で用い、右極限と左極限を計算する機能もある。「方向」には plus(右極限)、minus(左極限)のいずれかを指定する。

(%i14) limit(1/x, x, 0, plus);

(%o14)                           inf


(%i15) limit(1/x, x, 0, minus);

(%o15)                          minf