Re: Problem with FullSimplify in Version 5: Rationals are converted to Reals
- To: mathgroup at smc.vnet.net
- Subject: [mg46312] Re: [mg45482] Problem with FullSimplify in Version 5: Rationals are converted to Reals
- From: BobHanlon at aol.com
- Date: Fri, 13 Feb 2004 21:58:06 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
If all you want is a numerical result then just use FindRoot FindRoot[expr, {deltaL, 1}] {deltaL -> 3.7999} Bob Hanlon In a message dated 2/13/04 11:57:44 AM, oberfeld at uni-mainz.de writes: > Dear list, > > some weeks ago, I posted a question concerning FullSimplify in Mathematica 5.0 > which seems to occur because Rationals are converted to Reals. > > Thanks to those who suggested work-arounds! Unfortunately, I was not > able to resolve my problem following the suggestions. Wolfram support > meanwhile confirmed this to be a problem of version 5.0.0 and said that > the problems were resolved in Mathematica 5.0.1. However, after installing the > update I had to realize that this is *not correct*. > > So, for all who are interested, here comes the 'full problem' (and its > solution) again: > > I have to solve a rather nasty expr for a variable deltaL: > > expr=1/Sqrt[2] == > (1/2)*(1 + (1/2)*(-1 - 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])])) + > (1/4)*(1 + 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])]); > > In Mathematica 3+4, the following straightforward expression works: > > Solve[FullSimplify[expr],deltaL] > > In Mathematica 5, however, the same expression produces the all-too-well-known > message "Solve::tdep: The equations appear to involve the variables to > be solved for in an essentially non-algebraic way." > > Switching to Simplify (instead of FullSimplify), as Andrzej & Bob > suggested, does not help (at least on my machine). > > The only solution I found (thank's for the idea, Bob!), was to use > Rationalize: > > N[Solve[Simplify[Rationalize[expr,0]],deltaL]] > Out:={deltaL->3.7999} > > Note, that *FullSimplify* still does not work!! > > N[Solve[FullSimplify[Rationalize[expr,0]],deltaL]] > > > > Would be no problem were it not for many of such expressions lingering > in my code, so that I have to step through it and insert that > "Rationalize magic" each and every time... ;-( > > Best wishes > > Daniel > > > ------------------------------------- > Dipl. Psych. Daniel Oberfeld-Twistel > University of Mainz > Institute of Psychology > Experimental Psychology > > Staudingerweg 9 > 55099 Mainz > Germany > > T. ++49 (0) 6131 39 22423 > Fax. ++49 (0) 6131 39 22480 > > > Bob Hanlon