MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: Re: functions
  • Next by Date: RE: Graphics / cosmetics
  • Previous by thread: Re: 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