[Date Index] [Thread Index] [Author Index]
Re: Solve never calls Equal?
On 7/18/2011 6:55 AM, Andrzej Kozlowski wrote: > On 18 Jul 2011, at 12:14, Richard Fateman wrote: > >> Clearly one cannot, in general, find an >> exact solution to a transcendental equation using rational arithmetic, >> so I was a little surprised by Reduce working just fine, here. > Of course one does not use "arithmetic". Of course Reduce uses arithmetic in Reduce[Exp[x] - x == 1/2 && Abs[x] < 1, x] // N How else to explain that in it, proven by tracing Equal, it compares numbers like 0 and 0.907560823521493954198929899042. Of course I did not convert all its internal arithmetic to rational arithmetic, just comparisons. So in fact Reduce was doing its regular same-old thing, most of the time; if I had thought of that I wouldn't have been surprised. Testing for termination conditions using rationals didn't seem to hurt. Again, that is not totally surprising since it seems a bit unlikely that Reduce relies, for termination, on loss of precision. But who knows. > You still don't understand what is going on here, but I am now at an airport during a break in a long flight so won't be able to educated you how it is really done (and why your fix "works") just yet. But if you ask nicely, maybe in the future ;-) Sure you write an explanation of how you think Reduce works, you can post it on a web page and provide a link here. Otherwise we would just be left with the documentation, e.g. http://reference.wolfram.com/mathematica/tutorial/SomeNotesOnInternalImplementation.html#25734 RJF