> For people interested in helping out, a few words about integration is > in order. As we discussed on this list before, many problems in > integration can be handled with heuristics before calling more advanced > algorithms. The heuristics also give more user friendly answers in most > cases. > > Integration code in Sage should run through some preprocessing before > calling anything else, be it maxima, or a native implementation of the > Risch algorithm. > > There are some links to descriptions of heuristics used by maxima and maple > at this page: > > http://wiki.sagemath.org/symbolics > > Pattern matching and rewriting capabilities of the new symbolics will > be very useful for this. Anybody interested in improving the > integration capabilities of Sage can help, no high level mathematical > knowledge is necessary. >
This is very interesting, indeed I have no high level mathematical knowledge :) Just for fun, I was trying to implement the most basic examples (1.4 and 1.5) of this page, linked in the wiki: http://www.cs.uwaterloo.ca/~kogeddes/papers/Integration/IntSurvey.html Let me make this straight: I have not understood what is intended to be a resultant() and I have absolutely no experience with rings nor with multivariate polynomials. Nonetheless, I tried this code in SAGE: reset() P.<x,y,z> = PolynomialRing(QQ) # P.<x,y,z> = GF(5)[] A = -1 B = x^3 + x tores = A - z*B.derivative(x) res = tores.resultant(B,x); factor(res) I get: (-1) * (z + 1) * (2*z - 1)^2 That is somehow close to the result shown in the link, but why is it not identical? Moreover, why if I use the second statement (the one in the comment) to define the ring, do I get a completely different answer? E.g.: (z + 1) * (z + 2)^2 Which is the correct way to define the ring in this case? Finally, even assuming that I can get the right answer from this, which is the recommended way to get the roots of an equation given by a "univariate polynomials == 0"? This is supposed to be the next step of the algorithm. The worst way I can think of is to use repr(), so that I can use solve (), but hopefully there's a better way, at least to convert a polynomials to a symbolic expression... Is there? I know this is not leading anywhere... but thank you for your time! :) Regards Maurizio --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---