On Fri, Feb 13, 2009 at 7:35 AM, rjf <fate...@gmail.com> wrote: > > > > On Feb 13, 2:30 am, Simon King <k...@mathematik.uni-jena.de> wrote: >> Hi all, >> >> On Feb 13, 10:09 am, Stan Schymanski <schym...@gmail.com> wrote: >> >> > rjf wrote: >> > > If there is an algorithm for simplify_full(), then presumably it could >> > > be programmed in Lisp, and incorporated in Maxima. >> >> > > You are invited to do so. >> >> > > I assume that there are examples for which it doesn't do what you >> > > want, and so you could argue that it should do more work. >> >> Sure. I am of course aware that there is no *algorithm* (in the sense >> of always terminating in finite time, yielding the correct result) for >> deciding whether f>0 for a general expression f, and also it is not >> clear what a "simplification" should be. >> >> So, one can't have more than a heuristics. But that's the point: The >> better the heuristics, the happier the user --- provided the >> heuristics works in a reasonable time. And any good heuristics should >> at least catch the obvious cases. > > "reasonable time" and "obvious cases" need to be defined. > >> >> Since Maxima certainly knows sin(x)^2+cos(x)^2 == 1 and various other >> identities, it makes sense to try and apply them to f as >> simplification rules. > > OK, here's an example. > > Start with > > (x-1)^150-(x-2)^150-2^150+1; > > expand it and try to get back to the original. Is this case > "obvious"? How much > time is "reasonable"? And what heuristics would you apply? > > > There are some rules, some may apply, some not >> -- and if the rules are tested in a greedy way (always strictly reduce >> the complexity), I guess this step is done in almost no time. > > Try your idea on the example above. > >> >> Certainly Maxima does try some rules, before refusing to answer "f>0"? > > Sure, though they are not necessary implemented as "rules". > Primarily local simplification such as special values e.g. sin(pi), > and > collection of terms of + and *. > > >> So, why not add one more easy rule that frequently occurs in real >> life? Or does Maxima give up right away when being asked "f>0", >> without to try anything? > > No, but as I've suggested, you are mistaken in thinking that rules are > easy > to apply. > > > Since you and others you are sufficiently fixed on the sin^2+cos^2, > consider this example. > > (sin(x)-1)^15-(cos(x)-2)^15-2^15+1; > > expand it out and try finding sin^2+cos^2, And also find > (sin^2+cos^2)^2, etc. > which appear up to the 7th power. You can do this by long division. > > What "rule" would you apply to get back to the small expression above? > > RJF
Here are some things that the Ma*'s tend to do, which sometimes academic math software projects don't: * listening to what users want * solving problems in practice that users care about, even if they are hard In Sage development, we can and should continue to do the same. - William --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---