oldk1331 wrote: > > Another integration bug may related to r1156: > > f2:= 1/(x^3+3*x^2+3*x)/(x^3+3*x^2+3*x+3)^(1/3) > > integrate(f2, x) > > In Fricas 1.1.3 (release before r1156), the integration seems > timeout, > in Fricas 1.1.4 (release after r1156) to trunk version, > this integration returns: > > >> Error detected within library code: > > impossible >
This is known problem. Original code (due to Bronstein) contained a routine that could not work because other parts of integrator could not handle multiple roots, but was so slow that apparantly nobody noticed that there there is a problem (beside slowness). I have remoded this routine. I did also other changes which were intended to handle this case. But I made a mistake in my analysis, I thought that this case is impossible (hence the message...), but I may happen. We probably should change the error message, but I hope for better resolution. I also changed other parts of FriCAS, so in principle old routine has some (tiny) chance of working, but it is so slow and has large memory meeds so that testing it impossible. So I think that restoring old routine makes no sense. At least at theoretical level I know how to make correct routine, but I do not know if I can make it fast enough to get results. > By the way, there are 11 lines of 'error "impossible"' scattered in > 8 > files, should we change the error message to contain its function > name > to help users report the bug? Well, "impossible" hopefully should not happen. Given a testcase it is easy to find were it happened, so no much trouble with reporting. I am not sure about the one which happens, something like "implementation incomplte, (needs two algebraics)" would be more apropriate. > > And Waldek, when you make the r1156 changes, are you based on > an article or a book? r1156 is "original research". The idea come after reading Kauers paper about heuristic method using Groebner bases. I looked why Axiom performed poorly on his examples and why his heuristic worked and the result is r1156. It is different, but the crucial element is to avoid liner combinations of divisors with large coefficients. Kauers approach tries to find functions associated with single divisor (with unspecified part at infinity). In FriCAS ATM we can not work with single divisor (we do not allow notrivial part at infinity), but we try to combine divisors into pairs, and try to find functions corresponding to a pair. -- Waldek Hebisch -- 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 fricas-devel+unsubscr...@googlegroups.com. To post to this group, send email to fricas-devel@googlegroups.com. Visit this group at http://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.