MathGroup Archive 2008

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

Search the Archive

Re: PlotRange Trouble

  • To: mathgroup at
  • Subject: [mg90432] Re: PlotRange Trouble
  • From: Szabolcs Horvát <szhorvat at>
  • Date: Wed, 9 Jul 2008 04:53:57 -0400 (EDT)
  • References: <g4vk60$9o3$>

Aaron Fude wrote:
> Hi,
> I may be wondering why I need this, but I do:
> ParametricPlot[{10^-600 z, z}, {z, 0, 100},
>  PlotRange -> {{0, 10^-100}, {0, 100}}, AspectRatio -> 1]
> works perfectly, but
> ParametricPlot[{10^-600 z, z}, {z, 0, 100},
>  PlotRange -> {{0, 10^-600}, {0, 100}}, AspectRatio -> 1]
> fails. What gives?

This is because 10^-600 is not representable as a machine number, and 
plotting functions only work with machine number.  (Yes, Mathematica can handle 
much smaller numbers, but then it uses a software implementation of 
floating point arithmetic instead of using the built-in arithmetic 
instructions of the CPU.  A "machine number" is a number in a floating 
point format that is supported directly by the CPU, so arithmetic 
operations with them can be very fast.)

Read about the hardware representation of floating point numbers here:

(This will also answer your previous question about SetPrecision[0.1,50] 
and 0.1`50 being different.)

The minimal positive machine number in Mathematica is $MinMachineNumber, 
which is ~10^-308 on all CPUs I know.

An unrelated note:  There seems to be some trouble at Google, and 
today's posts did not show up in Google Groups.  Use another news server 
to read posts (only Google has trouble, the others work fine), or use 
the MG archive on the WRI site:

  • Prev by Date: Re: A strange precision behavior?
  • Next by Date: Re: ReplaceAll
  • Previous by thread: Re: PlotRange Trouble
  • Next by thread: Re: PlotRange Trouble