On Tue, Aug 18, 2009 at 5:58 PM, Ondrej Certik<ond...@certik.cz> wrote: > > On Tue, Aug 18, 2009 at 5:48 PM, William Stein<wst...@gmail.com> wrote: >> >> On Tue, Aug 18, 2009 at 5:08 PM, Ondrej Certik<ond...@certik.cz> wrote: >>> >>> On Tue, Aug 18, 2009 at 4:56 PM, rjf<fate...@gmail.com> wrote: >>>> >>>> >>>> At the risk of providing some information about what is probably going >>>> on, >>>> let me suggest the following. >>>> >>>> 1. The expand() command in Maxima is almost always the wrong thing to >>>> do if the argument is a polynomial. >>>> ratexpand() or ratsimp() or rat() will be much faster. I suspect >>>> that in your timings of Maxima, the major >>>> contributor may be expand. >>>> >>>> 2. This is not a good test of polynomial factoring, because it does >>>> uses only a trivial part of the algorithm, >>>> and that is the square-free factoring part, that consists of computing >>>> P' a derivative of P and a gcd(P,P'). >>>> >>>> Mostly you are testing the gcd program, but only the case of the gcd >>>> program for gcd(a,b) where, almost all >>>> the time, a divides b. So you are not even testing the gcd program, >>>> you are testing polynomial division with remainder. >>>> >>>> Now if that is what you want to test, fine. If you want to test >>>> polynomial factoring, there is a substantial >>>> literature on how to choose polynomials that are difficult to factor. >>>> Especially large degree is not really necessary. >>>> >>>> While it is only a speculation on my part, I think what you may also >>>> be timing is the conversion of >>>> relatively large character strings, at least in some cases. >>>> >>>> I hope you can straighten this out before you present your results at >>>> your conference. >>> >>> Thanks for joining the discussion. My presentation is on Thursday, so >>> I'll try to send my slides to sage+sympy lists tomorrow, so that you >>> can look at it and see if I say something that is unfair to Maxima, or >>> any other program. >>> >>> Does anyone know some real life applications of factor(<some >>> polynomial>)? E.g. simplifications, like canceling common factors from >>> nominator/denominator, but is there anything else? >>> >>> I would like to use some real life application as a benchmark, I just >>> don't know any. >> >> The following is basically a reinterpretation of factoring in one >> context, but it is easy to understand. If you want to plot a plane >> algebraic curve F(X,Y) = 0, then if you factor F(X,Y) first as say g * >> h, then the plot of F=0 is the *union* of the plots of g=0 and h=0. >> This is because the zeros of F are the union of the zeros of g and h. >> This extends to arbitrarily many factors. So one application of >> factoring is to plotting algebraic curves. There is a similar >> statement in dimension 3. > > Ah, very cool. I apologize for a really naive question --- do you have > some more complex algebraic curve, that you used in some > publication/book or something?
Unfortunately I don't. Sorry. William > Let's use that as a benchmark. > > Ondrej > > > > -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an 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 -~----------~----~----~----~------~----~------~--~---