|
[Date Index]
[Thread Index]
[Author Index]
Re: Mathematica 8: first impressions
- To: mathgroup at smc.vnet.net
- Subject: [mg114158] Re: Mathematica 8: first impressions
- From: David Bailey <dave at removedbailey.co.uk>
- Date: Thu, 25 Nov 2010 05:59:52 -0500 (EST)
- References: <icg6nd$94b$1@smc.vnet.net>
On 23/11/10 10:57, Daniel Lichtblau wrote:
> blamm64 wrote:
>> On Nov 20, 6:25 pm, Joseph Gwinn<joegw... at comcast.net> wrote:
>>> In article<ic8ag0$83... at smc.vnet.net>, blamm64<blam... at charter.net>
>>> wrote:
>>>
>>>> First Impressions:
>>> ....
>>>
>>>> 2) 64-bit has been around long enough to be pretty well received: In
>>>> Mathematica 8.0 $MachinePrecision is still 15.9.... on my Intel,
>>>> Windows XP x64 machine (2x 4-core Intel Xeon X5570, nVidia Quadro FX
>>>> 4800, 24 GB RAM) . Yeah, sure, Wolfram a good while back implemented
>>>> Mathematica to use 64 bit addressable memory (which really helps since
>>>> it's such a RAM hog), but still not to have implemented using 64-bit
>>>> available 'precision' is very disappointing ... . Yeah, Mathematica
>>>> uses double precision 32 bit to get 15.9... machine "precision", but
>>>> by now I think Mathematica, if installed on a 64-bit system, should
>>>> have $MachinePrecision of 31.8.... , or something close to that on a
>>>> 64-bit system.
>>> Umm, 15.9 decimal digits *is* double precision floating point, which is
>>> what is meant by a machine real.
>>>
>>> An IEEE single (32-bit) float has a 24-bit mantissa (including the
>>> hidden bit), so its machine precision is Log[10,2^24]= 7.22 decimal
>>> digits.
>>>
>>> An IEEE double (64-bit) float (called a double in C/C++) has a 53-bit
>>> mantissa (including the hidden bit), so its Log[10,2^53]= 15.95 decimal
>>> digits.
>>> [...]
>>> Joe Gwinn
>>>
>>> Ref:<http://en.wikipedia.org/wiki/IEEE_754-2008>
>>
>> Umm, 15.9 digits is double precision (64 bit) in *32* bit. Umm,
>> double precision in *64* (128 bit) bit is quad precision in 32 bit.
>
> That's not really the case. You might be thinking that integer and real
> sizes are equated, but they are not. The IEEE standard makes clear that
> binary32 is single precision, binary64 double, binary128 quad. Caverat:
> standards change, and I do not claim to have seen the most recent one.
>
> Daniel Lichtblau
> Wolfram Research
>
>
>
Indeed, Mathematica seems to have followed the lead of most other
languages - e.g. Java - where the potential address space has become
astronomical, but the sizes of integers and reals have remained the
same. Some years back, this seemed strange to me, but I realised it
really makes sense - because default 64-bit integers simply waste too
much space, and are hardly ever necessary. It has also made the
transition between 32/64 bit software incredibly easy.
This makes particular sense on the IA64 architecture (as opposed to
Itanium) because there is no speed penalty for manipulating 32-bit integers.
In Mathematica, where integers change between hardware and software
implementations, this difference will be almost invisible. I would guess
that a fair proportion of applications that spill into 64-bit integers,
will also spill into even larger sizes.
David Bailey
http://www.dbaileyconsultancy.co.uk
Prev by Date:
Re: Plot function at specific points
Next by Date:
Re: Exporting .eps file, screen doesn't match .eps file
Previous by thread:
Re: Mathematica 8: first impressions
Next by thread:
Re: Mathematica 8: first impressions
|