Re: Two questions (1) Sollve and (2) Precision
- To: mathgroup at smc.vnet.net
- Subject: [mg67044] Re: Two questions (1) Sollve and (2) Precision
- From: "Bharat Bhole" <bbhole at gmail.com>
- Date: Thu, 8 Jun 2006 04:53:00 -0400 (EDT)
- References: <e666j8$nbj$1@smc.vnet.net> <4486B0CA.3060002@gmail.com>
- Sender: owner-wri-mathgroup at wolfram.com
Thanks for your help Jean-Marc. I really appreciate it. I have two comments about your response, and it would be very helpful if things work on your computer after taking these into account. (1) As I replied to all, somehow my equations were posted with an error. The right hand sides in the two equations were 1 and 0 respectively and not 8A1 and 8A0. Also, I had used two equal signs (== and not just = when writing the equations). (2) For the second problem you have calculated %%%-%. So basically you are calculating Out[5]-Out[7] in your solution below. However, I was talking about Out[4]-Out[7], which is not zero even in your case. Thanks very much. Bharat. On 6/7/06, Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com> wrote: > > Bharat Bhole wrote: > > Would appreciate if someone can point out why Mathematica is not giving > the > > expected output in the followng two cases. > > Here is what I get with Mathematica > > In[3]:= > $Version > > Out[3]= > 5.2 for Microsoft Windows (June 20, 2005) > > > (1) I was trying to solve the follwing two linear equations using > 'Solve'. > > > > > > *In: Solve[{64919121*x-159018721*y=8A1,41869520.5*x-102558961*y=8A0 > },{x,y}]* > > > > *Out: {}* > > > In[1]:= > Solve[{64919121*x - 159018721*y == 8*A1, > 4.18695205*^7*x - 102558961*y == 8*A0}, {x, y}] > > Out[1]= > 9 8 > {{x -> -1.27215 10 A0 + 8.20472 10 A1, > > 8 8 > y -> -5.19353 10 A0 + 3.34956 10 A1}} > > > > However, the solution exists and is given by x = 205117922, y = > 83739041 > > It is meaningless to speak about "The" solution if you do not tell what > values A0 and A1 have been assigned: > > In[2]:= > Solve[{64919121*x - 159018721*y == 8*A1, > 4.18695205*^7*x - 102558961*y == 8*A0} /. > {x -> 205117922, y -> 83739041}, {A0, A1}] > > Out[2]= > {{A1 -> 0.125, A0 -> 0.}} > > > Why is Mathematica unable to solve this simple linear equation? Am I > doing > > something wrong? > > > > > > > > (2) I suppose that the default precision for numerical calculations is > > MachinePrecision which is less than 16. If I increase the precision, > should > > I not get more accurate results? The example below seems to contradict > that. > > > > (i) Exact Calculation > > > > *In[1]: 123456789123 * 123456789123* > > > > *Out[1]: 15241578780560891109129* > > > > (ii) Numerical Calculation with Default Precision > > > > *In[2]: 123456789123 * 123456789123.0* > > > > *Out[2]: 1.52416 =D7 10^22* > > > > (iii) Numerical Calcuation with a higher precision. > > > > *In[3]:SetPrecision[ 123456789123 * 123456789123.0 , 50 ]* > > > > *Out[3]: 1.5241578780560891838464000000000000000000000000000 x 10^22* > > > > Now if I calculate Out[1]-Out[2], I get zero. > > > > But if I calculate Out[1]-Out[3], I get - > 729335.000000000000000000000000000 > > . > > > > This seems to suggest that calculation 2 is more accurate even though it > has > > smaller precision. Where am I making a mistake? > > > > Thanks very much for your help. > > > > > > What version of Mathematica do you use? Work fine for me: > > In[4]:= > 123456789123*123456789123 > > Out[4]= > 15241578780560891109129 > > In[5]:= > 123456789123*123456789123.0 > > Out[5]= > 22 > 1.52416 10 > > In[6]:= > %%-% > > Out[6]= > 0. > > In[7]:= > SetPrecision[123456789123*123456789123.0,50] > > Out[7]= > 1.5241578780560891838464000000000000000000000000000 > > 22 > 10 > > In[8]:= > %%%-% > > Out[8]= > 0. > > In[9]:= > $Version > > Out[9]= > 5.2 for Microsoft Windows (June 20, 2005) > > Regards, > Jean-Marc >