MathGroup Archive 2004

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

Search the Archive

Re: Eigensystem: different solution in V5.0 and V4.1 ??

  • To: mathgroup at smc.vnet.net
  • Subject: [mg48389] Re: Eigensystem: different solution in V5.0 and V4.1 ??
  • From: Bill Rowe <readnewsciv at earthlink.net>
  • Date: Wed, 26 May 2004 02:42:06 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

On 5/25/04 at 7:17 AM, peltio at twilight.zone (Peltio) wrote:

>"Bill Rowe" wrote

>>The only way I can see the specific cpu used making a difference
>>is when you are using machine precision numbers and there is a
>>difference between processors with respect to machine precision
>>numbers.

>I thought that 32 bits Intel and AMD architectures shared the same
>internal representation for binary floating point numbers.

I don't know enough about either Intel or AMD processors to know whether this is true or not.

>I knew of the different way basic operations were handled (with AMD
>having better performances in the FPU arena), but I did not expect to
>get different results for the same computation. If this is the case,
>what makes such a difference?

It would seem there are only a fairly small set of possible explanations for a specific Mathematica compiled binary to get different results on different cpus.

1) there is a difference in the binary representation of numbers
2) there is a difference in the way each cpu does basic operations
3) the comiled binary has a code to detect what cpu it is running on and calls executes different instructions depending on the what cpu it is running on.

I expect software designed to run under Windows to not care who manufactured the cpu. Nor would I expect software designed to run under Windows to be compiled such that different instructions are executed depending on the cpu manufacturer. I would expect Mathematica to be no different in this regard. So, I consider 3) very unlikely.

I also think 2) very unlikely as well since this is equivalent to saying there is an error in the algorithms one or the processors is using. This would impact far more than just a computation of eigenvalues and eigenvectors. And it would affect more than just Mathematica. In fact, if this were the case I am sure there would have been quite a bit of press about the cpu that wasn't working correctly.

But it is real easy to see how 1) could impact a computation of eigenvectors without having a great impact elsewhere. All I need is a problem that is somewhat ill-conditioned which could cause small differences in the binary representation to be an issue. But if it is true both cpus use the same binary representation, then this clearly cannot be the cause of the problem.

That would make 3) the most likely. Or there is another possibility I haven't listed. And since I listed all of the possibilities I could think of, I would be quite interested to learn of something I overlooked.
--
To reply via email subtract one hundred and four


  • Prev by Date: Re: NSolve freezes on two polynomial equations
  • Next by Date: Re: Re: Re: Re: optimally picking one element from each list
  • Previous by thread: Re: Eigensystem: different solution in V5.0 and V4.1 ??
  • Next by thread: Re: Eigensystem: different solution in V5.0 and V4.1 ??