Re: Problem with FullSimplify in Version 5: Rationals are converted to Reals
- To: mathgroup at smc.vnet.net
- Subject: [mg45504] Re: Problem with FullSimplify in Version 5: Rationals are converted to Reals
- From: bobhanlon at aol.com (Bob Hanlon)
- Date: Sat, 10 Jan 2004 16:43:25 -0500 (EST)
- References: <bto17c$2gp$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
$Version 5.0 for Mac OS X (November 19, 2003) expr = 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])]; Use can use Simplify and a replacement rule rather than FullSimplify Simplify[expr]/. (a_.*Log[x_] + b_.*Log[y_]) :> Log[x^a*y^b] Erf[Log[10^(-deltaL/10)]/ (Sqrt[2.518113782096139 - 0.021179618178299536*deltaL]* Log[10])] However, this can be simplified further if deltaL is real Simplify[%, Element[deltaL, Reals]] -1.*Erf[(0.1*deltaL)/Sqrt[2.518113782096139 - 0.021179618178299536*deltaL]] But in that case you don't need anything other than Simplify Simplify[expr, Element[deltaL, Reals]] -1.*Erf[(0.1*deltaL)/Sqrt[2.518113782096139 - 0.021179618178299536*deltaL]] You can use Rationalize to clean this up Rationalize[%] -Erf[deltaL/(10*Sqrt[2.518113782096139 - 0.021179618178299536*deltaL])] Bob Hanlon In article <bto17c$2gp$1 at smc.vnet.net>, oberfeld <oberfeld at uni-mainz.de> wrote: << 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??