to_poly_solve misses some solutions.



Le Mon, 04 Mar 2013 15:18:34 +0000, Barton Willis wrote:

> It takes some hand work to verify, but to_poly_solve does find the
> solution  t=(5*log(5))/2.
> 
>  (%i17) nicedummies(%solve(diff(%e^-(t/10)-%e^-(t/2),t),t));
>  log: encountered log(0).
>  (%o17)
>  %union([t=20*%i*%pi*%z0+10*(log(5)/4+%i*%pi)],[t=(40*%i*%pi*%z1+5*log
(5))/2],[t=20*%i*%pi*%z2+10*(log(5)/4-(%i*%pi)/2)],[t=20*%i*%pi*%z3+10*
(log(5)/4+(%i*%pi)/2)])
> 
>  (%i18) subst([%z1=0],second(%));
>  (%o18) [t=(5*log(5))/2]

Indeed ! I *also* missed this (obvious-in-hinsight)solution. Shame on me.

Richard Fateman also pointed me to the solveradcan flag, which I keep 
forgetting (along with a lot of its siblings...).

> Additional carbon-based computing shows that the other solutions are
> nonreal.   It's a frequent request, but automatically removing the
> nonreal solutions is simply something that I do not know how to do in a
> reliable and reasonably general way. There have been suggestions on this
> list of how to filter the nonreal solutions that might work pretty well
> for some solutions.

*If* there is a way to get a list of variables appearing in an expression 
(say its function foo), then something along the line of
map(lambda([x], %solve(imagpart(rhs(x[1]))=0, foo(rhs(x[1]))) should give 
you the set of constraints on these variables.

Back to the reference maual...

Thank you for your help, and apologies for my idiocy...

					Emmanuel Charpentier