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

• To: mathgroup at smc.vnet.net
• Subject: [mg67058] Re: Two questions (1) Sollve and (2) Precision
• From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
• Date: Thu, 8 Jun 2006 04:53:43 -0400 (EDT)
• Organization: The Open University, Milton Keynes, UK
• References: <e666j8\$nbj\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

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

```

• Prev by Date: Re: Two questions (1) Sollve and (2) Precision
• Next by Date: rules for using functions as basis vectors
• Previous by thread: Re: Two questions (1) Sollve and (2) Precision
• Next by thread: Re: Two questions (1) Sollve and (2) Precision