[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] [#199 integrate(exp(-x^2)+exp(x)/x,x)]
From: |
kratt6 |
Subject: |
[Axiom-developer] [#199 integrate(exp(-x^2)+exp(x)/x,x)] |
Date: |
Sat, 20 Aug 2005 15:16:20 -0500 |
Changes
http://page.axiom-developer.org/zope/mathaction/199IntegrateExpX2ExpXXX/diff
--
The problem is in 'expintegratepoly$INTTR'. There you find the following
definition::
-- returns either
-- (q in GP, a in F) st p = q' + a, and a=0 or a has no integral in F
-- or (q in GP, r in GP) st p = q' + r, and r has no integral elem/UP
expintegratepoly(p, FRDE) ==
coef0:F := 0
notelm := answr := 0$GP
while p ^= 0 repeat
ans1 := FRDE(n := degree p, a := leadingCoefficient p)
answr := answr + monomial(ans1.ans, n)
if ~ans1.sol? then -- Risch d.e. has no complete solution
missing := a - ans1.right
if zero? n then coef0 := missing
else notelm := notelm + monomial(missing, n)
p := reductum p
zero? notelm => [answr, coef0]
[answr, notelm]
In principle, this function takes a polynomial 'p' and tries to integrate every
coefficient. If it finds an answer, it adds it to 'answr', otherwise to
'notelm'. Note however, that the constant term of the 'p' will never get added
to 'notelm', even if it was not possible to integrate it. So maybe the last
line should read::
[answr, notelm+monomial(coef0, 0)]
This seems to "work", i.e., the integrals are then returned unevaluated.
However, I'd rather have axiom to use the linearity of the integral...
Note that
\begin{axiom}
integrate(exp(-x^2)+sin(x),x)
\end{axiom}
is an example for an integral where 'coef0' does not vanish but 'notelm' does.
So the more drastic change::
if ~ans1.sol? then -- Risch d.e. has no complete solution
missing := a - ans1.right
if zero? n then coef0 := missing
notelm := notelm + monomial(missing, n)
p := reductum p
zero? notelm => [answr, coef0]
[answr, notelm]
is not necessary - but does not produce wrong results either.
By the way, here are some other - strange - manifestation of the same bug:
\begin{axiom}
integrate(exp(-x^2)+1/x,x)
integrate(exp(x)/x+1/x,x)
\end{axiom}
Although $1/x$ is certainly elementary, and so is its integral, the bug
manifests itself.
Martin
--
forwarded from http://page.axiom-developer.org/zope/mathaction/address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] [#199 integrate(exp(-x^2)+exp(x)/x,x)],
kratt6 <=