MathGroup Archive 2010

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

Search the Archive

Re: Mathematica 8: first impressions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg114038] Re: Mathematica 8: first impressions
  • From: blamm64 <blamm64 at charter.net>
  • Date: Mon, 22 Nov 2010 07:34:21 -0500 (EST)
  • References: <ic34r0$5rv$1@smc.vnet.net> <ic8ag0$83s$1@smc.vnet.net> <ic9ldn$nun$1@smc.vnet.net>

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.
>
> To achieve 31.8 decimal digits would require use of IEEE quad (128-bit)
> floats, for 34 decimal digits.  The only computer I know of that offere=
d
> 128-bit floating-point arithmetic in hardware was the DEC VAX series, at
> least the larger members.  
>
> A recent application where this kind of precision was truly needed was
> doing the ray-tracing of the laser beams in LIGO (Laser Interferometer
> Gravitational Wave Observatory), where the interferometer beams are
> kilometers long. To get 1/100 wavelength resolution using 1064 nanometer
> light over 20 Km total path requires precision of at least 10.64nm/20km=
=
> Log[10,5.32*10-13]= 12.3 digits.
>
> They did use VAXen for this, at least in the early days.  More recent
> articles show them using Optica (which is a Mathematica package
> <http://www.opticasoftware.com/>), possibly in Mathematica's multiprecisi=
on mode.
>
> While integers can achieve higher precisions for a given size (because
> no space is spent on exponents), integers are pretty awkward to use
> unless one knows in advance what the allowed range of values is.  For
> the record, Log[10,2^32]= 9.63 digits and Log[10,2^64]= 19.27 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.


  • Prev by Date: Controlling relative scale of graphics objects
  • Next by Date: Comments on CUDA and Compile
  • Previous by thread: Re: Mathematica 8: first impressions
  • Next by thread: Re: Mathematica 8: first impressions