Mathematica dan asumsi defaultnya

Sep 11 2020

Saya agak terkejut evaluasi itu

Integrate[Exp[I n x],{x, 0, Pi}]

memberi

$\qquad \frac{-i(e^{in\pi}-1)}{n}$.

Bagaimana jika $n = 0$? Saya tidak berasumsi apa-apa tentang$n$ namun Mathematica mengasumsikan $n\neq 0$.

Ini sama dengan perintah Maxima:

integrate(exp(%i*n*x),x,0,%pi);

dan perintah Maple

int(exp(n*x*I), x = 0 .. PI)

Bagaimana cara menangani perilaku seperti ini yang saya anggap tidak diinginkan?

Apa nama fitur ini dalam komputasi simbolik, sehingga saya dapat menemukan solusi untuk Maxima juga.

Jawaban

5 yawnoc Sep 11 2020 at 17:02

$n = 0$adalah singularitas yang dapat dilepas. Jika Anda mengambil batas dari hasil integral, Anda akan mendapatkan hasil yang sama seperti jika Anda memasukkan$n = 0$ sebelum mengambil integral:

result = Integrate[Exp[I n x], {x, 0, Pi}]

Limit[result, n -> 0]
(* Pi *)

Integrate[Exp[I 0 x], {x, 0, Pi}]
(* Pi *)

Tambahan

Re @cvgmt aktif Integrate[x^a, x]untuk a = -1: itu juga merupakan singularitas yang dapat dilepas (asalkan konstanta integrasi dipilih dengan benar). Kita punya$$ \int_1^x u^a \,\mathrm{d}u = \frac{x^{a+1} - 1}{a+1}, $$ dan $$ \lim_{a \to -1} \frac{x^{a+1} - 1}{a+1} = \log x. $$

Secara umum Mathematica tidak peduli dengan memperlakukan singularitas yang dapat dilepas secara terpisah. Misalnya, x/xakan menyederhanakan menjadi 1 tanpa asumsi apa pun x.