On Sat, Apr 28, 2012 at 12:42 AM, Tom Bachmann <e_mc...@web.de> wrote: > On 28.04.2012 02:42, Aaron Meurer wrote: >> >> On Fri, Apr 27, 2012 at 2:46 PM, Tom Bachmann<e_mc...@web.de> wrote: >>> >>> A quick update: >>> >>> I implemented a much better selection strategy for the groebner basis >>> algorithm ("sugar cube"), implemented the "extended version" (with >>> trasformation matrix) and improved the algorithm to compute module >>> quotients >>> to use only one groebner basis computation. This sped up the >>> implementation >>> of the "rational simplification algorithm 1" quite significantly. >>> >>> All of this is in my agca8 branch which has no pull request, yet. Testing >>> is >>> a bit difficult since trigsimp_groebner is not in master, yet. >> >> >> So let's get it merged. The issue I see is that we need to come up >> with a good default/heuristics for the parameters (esp. polynomial and >> hints). Any thoughts on that? >> > > Yes, that's definitely a usability issue. I'm not quite sure how to go about > it. > > >> And I guess it should be integrated with trigsimp() better. How do >> you think the existing algorithm should fit into things? We'll also >> want to integrate it with the recursive version, so that it can >> simplify trig expressions that are nested in other trig expressions, >> and also make it so it can simplify things like sin(x)**2 + cos(x)**2 >> + sqrt(sin(x)) (take out the non-rational function parts). >> > > Yes, absolutely. I'll see what I can do. > > >> Do you know of any other issues that should prevent it from being merged? >> > > Nothing I can think of. > > >> Regarding cancel() being slow, this might be the dense representation >> again, though I think also the PRS algorithm used to compute the gcd >> of multivariate polynomials occasionally hits a worse-case complexity. >> > > Hm. Note that the denominator is 1, so really there should not be anything > fancy happening wrt multivariate polynomial algorithms. What it *does* do is > take out denominators, for which factorizations over the integers are > necessary. Not sure how fast that should be (integer gcd is very fast, but > naively I would expect the required number of gcd computations to blow up > quickly).
So all it's doing is computing the lcm of the coefficients? I don't see how that would take so much time. If this is true, then I suppose an option could be added to cancel to disable this, as it's not really necessary. Aaron Meurer > > >> Aaron Meurer >> >>> >>> >>> On 23.04.2012 22:02, Tom Bachmann wrote: >>>>> >>>>> >>>>> The first algorithm in the paper where ratsimpmodprime was taken from >>>>> should >>>>> probably do quite well - as far as I can tell it shoud be about as fast >>>>> as polynomial=True (maybe two or three times slower, or something of >>>>> that order - not 100 times), and work quite well (it minimizes the >>>>> maximum of the degrees of numerator and denominator). Will take a bit >>>>> of >>>>> work to implement, though (although it will nicely show of my >>>>> commutative algebra module :D). >>>> >>>> >>>> >>>> I implemented this in agca8 (no pull request, yet). It works, but I >>>> think its probably not very fast since my algorithms are not >>>> particularly optimized. When we push the trigsimp PR I will see how it >>>> goes with the other algorithm. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "sympy" group. >>> To post to this group, send email to sympy@googlegroups.com. >>> To unsubscribe from this group, send email to >>> sympy+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/sympy?hl=en. >>> >> > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To post to this group, send email to sympy@googlegroups.com. > To unsubscribe from this group, send email to > sympy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sympy?hl=en. > -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.