Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I have a list of numbers, e.g. {{1.,0``27.698970004336022},{2.,0``27.698970004336015}} but usually much longer, suitable for ListPlot. ListPlot however does not display anything, even if I reduce PlotRange manually. Obviously the numbers are too small for ListPlot. The numbers do indeed represent only noise, the relative deviation of two numerical computations at different precision. I do this because I want a visual ipression of the numerical error of a computation depending on one parameter. Can I give an argument to ListPlot or similar in order to force it to display the small numbers and, if not, how can I compactly multiply the second elements in the list by a suitable number to scale the plot range to 0...1?

share|improve this question
    
I got 2 points with ListPlot, what do you think 0``27.698970004336022 is? –  Kuba Jan 4 at 14:22
    
I get two points as well. They are both on the x-axis and the y-axis ranges from -1 to 1. I read 0``27.698970004336022 as 0.698970004336022*10^(-27) (do I read that incorrectly?) and I want a plot scaled such that this number can be seen to be different from the second one. –  highsciguy Jan 4 at 14:32
    
You have two zeroes with different uncertainty. How do you think should ListPlot turn your uncertainties into certain values different from zero? Are you sure that you understood what Accuracy means? –  halirutan Jan 4 at 14:32
    
@halirutan So I read the numbers incorrectly? –  highsciguy Jan 4 at 14:34
    
@highsciguy No, you misunderstand the syntax. Please read the documentation for Accuracy. –  Alexey Popkov Jan 4 at 14:47
add comment

1 Answer 1

up vote 3 down vote accepted

I think your reasoning about the numbers you want to plot is flawed. Let's make a simple example

1``5

(* 1.0000 *)

If you specify the accuracy like that, you say that you are uncertain of the digits that could possibly follow after 1.0000. Therefore, if you have an Accuracy of 5 and there are some digits after the zeroes, they are not taken into account

1.0000111``5 - 1.0000000``5
1.0000123``5 - 1.0000111``5

(* 0.*10^-5
   0.*10^-5 
*)

Both calculation give 0 with an accuracy of 5. It doesn't matter whether there are further digits.

In your example you are basically telling that you have two zeroes. The only difference is that you have different numbers of digits you are certain of. Therefore, plotting or even rescaling is useless, because you just don't know a specific difference between the numbers.

Rescale[{0``27.698970004336022, 0``27.698970004336015}]

(* {0, 0} *)

I hope this helps you understand why plotting does not work as you might have expected it.

Edit

Regarding your comment

Is 27.698970004336015 the fractional accuracy?

Yes, you are right and you might want to look at the Input Syntax Tutorial in the documentation. Let me cite from there

The precision or accuracy s can be any real number; it does not need to be an integer.

share|improve this answer
    
Thanks, I understand the notation 1.0000111``5, but in 0``27.698970004336015, what is the meaning of the digits after the dot? Is 27.698970004336015 the fractional accuracy? I don't find an example of this sort in the documentation of Accuracy –  highsciguy Jan 4 at 15:01
    
@highsciguy I updated my answer. –  halirutan Jan 4 at 15:18
    
Ok, thanks that confused me, even though I knew that there are fractional accuracies. –  highsciguy Jan 4 at 15:24
    
The precision and accuracy are represented as real numbers, though in this case the difference between them is not significant. This is because Mathematica uses pseudo-first-order error propagation, so this value represents something like a derivative. But, ultimately, it is not a continuous scale, since calculations must be done with a particular number of base-2 digits of precision, rather than in some abstract base. –  Oleksandr R. Jan 4 at 19:54
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.