[Date Index]
[Thread Index]
[Author Index]
Re: locating overlow/underflow (and the issue of accuracy)
*To*: mathgroup at smc.vnet.net
*Subject*: [mg112277] Re: locating overlow/underflow (and the issue of accuracy)
*From*: Leslaw Bieniasz <nbbienia at cyf-kr.edu.pl>
*Date*: Tue, 7 Sep 2010 06:07:51 -0400 (EDT)
Hi,
Well, I am afraid you do not answer my question.
Assuming that I eliminated the underflow/overflow error messages
by restricting down the range of y, for which I tabulate my expression,
what is the accuracy of the results I obtain? Can I trust that
it is 70 significant digits? This is what I need to know in the first
place. If there are limitations of N[] in this respect, then how
can I know if the limitations enter into play? Does the fact that I don't
get error messages or warnings mean that there are no errors, or not?
Apart from that, I believe that the issues of accuracy and maximum/minimum
numbers are closely interrelated, since they both depend on the floating
point representation used. What I don't know is whether this
representation is adaptively chosen by Mathematica in order to achieve
a particular goal (accuracy), or it is fixed. In the latter case, I would
argue that the feature of "arbitrary precision" is a fiction.
Leslaw
On Tue, 7 Sep 2010, Bill Rowe wrote:
> On 9/6/10 at 6:36 AM, nbbienia at cyf-kr.edu.pl (Leslaw Bieniasz) wrote:
>
>> Thanks for your comments. I have reduced the range of y, and I am
>> now obtaining results without any error messages. However, this
>> exercise raises my doubts whether the desired "arbitrary precision"
>> is indeed reached, especially when y approaches 100. The program
>> output yields infinity for the number of valid significant digits,
>> but how many digits can I really trust if I declare 70 digits?
>> Shouldn't the output contain warnings if the number of valid digits
>> is smaller than 70? I don't perhaps need as many as 70, something
>> like 30 would be enough, but I need to be sure that I really have
>> that accuracy. I don't know how all that works, but I can imagine
>> MATHEMATICA should automatically allocate appropriately more bytes
>> to the floating point representations used, if the current number of
>> bytes is insufficient. There are algorithms that can do that, I
>> believe, like interval arithmetics? How can I check whether the
>> accuracy is indeed as I want it to be?
>
> You are conflating two separate issues. Your comments above
> center on arbitrary precision. But the issue you are having is
> related to underflow/overflow. There are limits to how
> large/small of a number can be represented in Mathematica's
> arbitrary precision format. Specifically, these are given by
> $MinNumber and $MaxNumber. On my system, I get
>
> In[1]:= Log[10, $MaxNumber]
>
> Out[1]= 3.232284580911158146609071*10^8
>
> In[2]:= Log[10, $MinNumber]
>
> Out[2]= -3.232284580911158146609071*10^8
>
> In[3]:= Log[10, Erfc[10^4]] // N
>
> Out[3]= -4.34295*10^7
>
> That is long before you get to a value of 5 10^19 for y,
> Erfc[Sqrt[y]] is outside the range of values that can be
> represented in Mathematica's arbitrary precision format.
>
> It might be possible to obtain the number of accurate digits you
> want. But this cannot be done using a simplistic approach with
> Mathematica's built-in functions such as N due to the
> limitations of what can be represented.
>
> Note, I am not saying Mathematica cannot be used to obtain what
> you want. Since Mathematica can be seen as a general purpose
> programming language, any mathematical problem that can be
> solved on your system can be solved with the tools available in
> Mathematica. But to obtain accurate digits for values that lie
> outside the range of $MinNumber to $MaxNumber means you will
> need to write your own code in Mathematica to deal with such
> large/small numbers. Moreover, since you are using functions
> like Erfc, you will need to write code to replace these as well.
> This is clearly not a simple thing to do. It will not be easy to
> do even if you use something other than Mathematica.
Prev by Date:
**Re: A dragging matter of Interpretation**
Next by Date:
**Re: notebooks default context**
Previous by thread:
**Re: How to delay action of ...[[i]] (Part[...,i]) until appropriate time?**
Next by thread:
**Re: locating overlow/underflow (and the issue of accuracy)**
| |