On Thu, 16 Apr 2009 15:43:41 -0700 (PDT) Maurizio <maurizio.gran...@gmail.com> wrote:
> > > 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 A is 1 in example 1.5. > 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 With A = 1: sage: P.<x,z> = QQ[] sage: b = x^3+x sage: b.resultant(1-z*b.derivative(x),x) -4*z^3 + 3*z + 1 sage: factor(_) (-1) * (z - 1) * (2*z + 1)^2 which matches the maple result. > 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? The theory only works over characteristic 0, i.e., your fields should contain QQ. Also note that, sage: P.<x,z> = GF(5)[] sage: (x+x^5).derivative(x) 1 What is the integral of 1 w.r.t x 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? You can get this information from the factorization you compute above. Cheers, Burcin --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---