Re: Problem with FullSimplify in Version 5: Rationals are converted to Reals
- To: mathgroup at smc.vnet.net
- Subject: [mg45500] Re: [mg45482] Problem with FullSimplify in Version 5: Rationals are converted to Reals
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sat, 10 Jan 2004 16:43:22 -0500 (EST)
- References: <200401100500.AAA02414@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 10 Jan 2004, at 05:00, oberfeld wrote: > Dear list, > > while trying to solve an equation that could be solved without problems > in MA 4.2, Solve[] does not find a solution in Ma 5.0.0.0. > > I found that the problem is due to FullSimplify[] in Version 5. > > In Version 4.2, > Full Simplify[ > Erf [ > ( > -(Log[10000000000]/Log[10]) - > Log[10^(-12 + (20 +deltaL)/10)]/Log[10] > )/ > (Sqrt[2]*Sqrt[0.25302502757884177 + > (0.6089140226261116 - 0.005294904544574884* > (20 + deltaL))2]) > ] > ] > > yields > > Out:=-Erf[Log[10^(deltaL/10)]/ > (Sqrt[1.012100110315367 + (-0.010653685371740707 + > 0.00005607202827231952*deltaL)*deltaL]*Log[10])] > > In Version 5, I get > > Out:=0.5 - 0.25*Erf[(0. - > 0.30709257318568767*Log[E^(0.2302585092994046*deltaL)])/ > Sqrt[0.5060500551576835 + (-0.005326842685870354 + > 0.00002803601413615976*deltaL)* > deltaL]] + > 0.25*Erf[(0. + > 0.30709257318568767*Log[E^(0.2302585092994046*deltaL)])/ > Sqrt[0.5060500551576835 + (-0.005326842685870354 + > 0.00002803601413615976*deltaL)* > deltaL]] > > So, FullSimplify[] in Version 5 has obviously converted *all numbers* > to > Reals, while in Version 4.2, Rationals are used where available!! > > As a consequence, Solve[] Version 5 can not find a solution to an > equation in which the above term appears. > > QUESTION: do you know of a fix available for FullSimplify[] in Version > 5 > that corrects for this behaviour? > Or are there any Options which can be used to 'reset' FullSimplify[] in > Version 5 to the behavior of Version 4.2?? > > > Best wishes, > > Daniel Oberfeld-Twistel > > ---------------------------- > Daniel Oberfeld-Twistel > Institute of Psychology > Experimental Psychology > University of Mainz > Staudingerweg 9 > 55099 Mainz > Germany > > > If you use Simplify rather than FullSimplify you will get the old behaviour. Of course this will work only if your problem does not really need FullSimplify. Even if it does, you might be abel to dispense with it by making use of the TransformationFunctions option in Simplify. As for the reason why this happens: if you look at Trace you will see that Simplify and FullSimplify obtain exactly the same expression Erf[(-(Log[10000000000]/Log[10]) - Log[10^((deltaL + 20)/10 - 12)]/Log[10])/ (Sqrt[2]*Sqrt[2*(0.6089140226261116 - 0.005294904544574884*(deltaL + 20)) + 0.25302502757884177])] but then FullSimplify performs one more step which turns out to be fatal in this case. Namely, if factors our -1. to get: -1.*Erf[(0.43429448190325176*Log[E^(0.2302585092994046*deltaL)])/ Sqrt[2.518113782096139 - 0.021179618178299536*deltaL]] This seemingly innocent factoring out of the inexact number -1. forces the conversion of all numeric quantities to exact numbers, which in this case has fatal consequents. This might perhaps be a bug. Andrzej Kozlowski Chiba, Japan http://www.mimuw.edu.pl/~akoz/
- References:
- Problem with FullSimplify in Version 5: Rationals are converted to Reals
- From: oberfeld <oberfeld@uni-mainz.de>
- Problem with FullSimplify in Version 5: Rationals are converted to Reals