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/

```

• Prev by Date: RE: Graphics / cosmetics
• Next by Date: Re: Compile
• Previous by thread: Problem with FullSimplify in Version 5: Rationals are converted to Reals
• Next by thread: Re: Problem with FullSimplify in Version 5: Rationals are converted to Reals