to_poly_solve temporary variables



I assume you're talking about something like this:

     %solve([sin(x)],[x]) => %union([x=%pi*%z11])

where %z11 is declared as an integer and therefore added to the 'props'
list.  I don't think it is correct to kill the integer property of %z11
until any expressions involving it are inaccessible.  In general, the only
way you can know that is after a kill(all).

I am surprised that leaving %z11 etc. around doubles the runtime of the
test suite each time you run it.  I wonder if you can narrow down the
slowdown problem to some specific operation(s)?

             -s



On Thu, Sep 5, 2013 at 6:32 PM, John Lapeyre <lapeyre.math122a at gmail.com>wrote:

> Greetings,
>
> I notice that to_poly_solve generates temporary variables that can
> slow things down.  I started writing something to remove them, but
> before I go further: Is there a facility to deal with this that I am
> missing ?
>
> For instance before running the testsuite, length(props) is 12.
> After running it, length(props) is 652.
>
> I notice it especially since I reorganized to_poly_solve to survive
> kill(all). When I rerun the tests without cleaning the temporary
> variables and without calling `kill', the time required doubles each
> time. On the other hand, if I remove the temporary variables during
> the tests, the time to run the tests is reduced and remains constant
> with repeated runs of the test suite.
>
> This is what I have, but it does not catch all the temporary
> variables. nicedummies adds more variables to props that I don't
> remove.
>
> https://github.com/jlapeyre/**mext/blob/master/tpsolve/to_**poly.lisp<https://github.com/jlapeyre/mext/blob/master/tpsolve/to_poly.lisp>;
>
> btw. The alias to %solve, makes dealing with the code very tedious
> and difficult... Maybe there are tricks I don't know about.
>
> HTH,
> John
>
> ______________________________**_________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/**mailman/listinfo/maxima<http://www.math.utexas.edu/mailman/listinfo/maxima>;
>