I have now commited new extended integration code. The new code
is still quite incomplete and this is likely to lead to some
regressions. However, the old code was even more incomplete
so that on average we should see improvement. As one example
in fixed.input we have:
integrate(((-x-1)*log((x^2+x))^2+2*log(x))/(x+1),x)
That used to fail, but now produces correct result. Let
me add that old code on hitting incompltenss would silently
claim that function is not integrable. For elementary functions
new code will signal error for unimplemented parts.
Let me add that unimplemented parts are about general algebraic
integrands (completely unhandled by old code), bounds in RDE
(old code makes assumption which may be invalid, new code
tries to solve parametric logarithmic derivative problem for
which no good complete algoritm is known) and RDE in general
algebraic case (again completely unhandled by old code).
In several cases old code took a shortcut (usually via
substitutuin), which may lower execution time or handle
some cases that would be otherwise unhandled. Currently
new code takes almost no shortcuts. One reason is that
I tried to keep code simple (without extra cases). Also,
it is not clear how effective are the shotcuts (I suspect
that they help only a little). If there are performance
regressions I will add faster paths for important special
cases, but I prefer to do this only after having enough
evidence.
--
Waldek Hebisch
[email protected]
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.