MathGroup Archive 2010

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

Search the Archive

Re: Mathematica 8: first impressions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg114100] Re: Mathematica 8: first impressions
  • From: Joseph Gwinn <joegwinn at comcast.net>
  • Date: Tue, 23 Nov 2010 06:01:48 -0500 (EST)
  • References: <ic34r0$5rv$1@smc.vnet.net> <ic8ag0$83s$1@smc.vnet.net> <ic9ldn$nun$1@smc.vnet.net> <icdo08$65t$1@smc.vnet.net>

In article <icdo08$65t$1 at smc.vnet.net>, blamm64 <blamm64 at charter.net> 
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.
> >
> > 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.

The definition of single and double precision does not depend on the 
machine one is running on, at least not for IEEE floats, so single 
precision is 32 bits, double is 64 bits, and quad is 128 bits.  This is 
documented in IEEE-754, which is cited above.  

And the VAXen mentioned above also called 128-bit floats quad floats, 
even though DEC floats were not quite identical to IEEE floats.

Joe Gwinn


  • Prev by Date: Re: How to adjust selection w/ arrow keys?, etc.
  • Next by Date: Re: Question on FinancialDerivative in Ver 8
  • Previous by thread: Re: Mathematica 8: first impressions
  • Next by thread: Re: Mathematica 8: first impressions