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??