MathGroup Archive 2006

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

Search the Archive

Re: Re: Two questions (1) Sollve and (2) Precision

  • To: mathgroup at smc.vnet.net
  • Subject: [mg67084] Re: [mg67043] Re: Two questions (1) Sollve and (2) Precision
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Fri, 9 Jun 2006 01:07:09 -0400 (EDT)
  • Reply-to: hanlonr at cox.net
  • Sender: owner-wri-mathgroup at wolfram.com

Force use of exact methods by rationalizing the coefficients. 
 
eqns={64919121*x-159018721*y==1,
        41869520.5*x-102558961*y==0}//Rationalize;

soln=Solve[eqns,{x,y}]//Flatten

{x -> 205117922, y -> 83739041}
 

Bob Hanlon

---- Bharat Bhole <bbhole at gmail.com> wrote: 
> 
> Hello All:
> 
> Thank you for those who replied. I will try your suggestions. However, there
> seems to be one problem in the Solve problem I posted. I originally wrote
> the equation as
> 
> 64919121*x-159018721*y ==1 and 41869520.5*x-102558961*y == 0
> 
> but in your responses I see that it has changed to "=8A1" and "=8A0"
> respectively (without the quotes). I wonder why? So as far as entering the
> equation is concerned, it had been entered correctly.
> 
> I am surprised that it is working out well for Jean-Marc Gulliet. Does this
> mean there is something wrong with my computer. I am also using Mathematica
> version 5.2.
> 
> I will try again. It is still unclear why its not working on my computer.
> 
> 
> On 6/6/06, Bharat Bhole <bbhole at gmail.com> wrote:
> >
> >  Would appreciate if someone can point out why Mathematica is not giving
> > the expected output in the followng two cases.
> >
> > (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: {}*
> >
> > However, the solution exists and is given by  x = 205117922, y = 83739041
> >
> > 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.
> >
> 
> 

--

Bob Hanlon
hanlonr at cox.net



  • Prev by Date: Re: .NET/Link and two-dimensional strings
  • Next by Date: Re: rules for using functions as basis vectors
  • Previous by thread: Re: Two questions (1) Sollve and (2) Precision
  • Next by thread: Filemaker JDBC Mathematica5.2