Re: Mathematica 8: first impressions
- To: mathgroup at smc.vnet.net
- Subject: [mg114044] Re: Mathematica 8: first impressions
- From: blamm64 <blamm64 at charter.net>
- Date: Mon, 22 Nov 2010 07:35:28 -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: > > 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> Okay, thanks, I stand corrected. Could have done without the "Umm" sarcasm though. -Brian L.