On Oct 4, 12:35 pm, Fredrik Johansson <fredrik.johans...@gmail.com>
wrote:
...big snip.. which I may respond to later (or not..)


> Indeed, without manually setting the precision,
>
> sage: maxima('bfloat(exp(1/%pi^1000)-1)')
> 0.0b0
>
> which is wrong, and with no indication that it is wrong.

Actually, it is doing the right thing, which is to compute in the
default precision
(initially 56 bits for about 16 decimal digits), the values of pi,
pi^1000, exp(..) and
the subtraction.  It is doing the arithmetic correctly rounded. The
result of doing
the arithmetic correctly rounded in 56-bit arithmetic is 0. If you
want to do the arithmetic in a different precision, try, for example,
fpprec:1000 .

bfloat does not claim to do what N[] does in mathematica.  It is
plausible that one could obtain similar results by using bfloat in a
loop --- if one computed with a few different fpprec  and got the same
value, but such a simple scheme can be defeated. But there are no
guarantees on the accuracy of the RESULT, just best effort to achieve
the accuracy of each operation to (typically) one unit in the last
place or better.

There ARE problems with maxima 5.18 in that
if you ask  is (exp(1/%pi^1000)-1  >0)   it returns false ... it
thinks that expression is equal to 0.

The commercial Macsyma has a decision procedure associated with its
version of "is" computes that the expression is positive.

in fact it computes
is ((exp
(1/%pi^1000000000000000000000000000000000000000000000000000000000000000)-1)
>0);
in 0.0 milliseconds.


>So it seems
> that Maxima does not implement any automatic error checking
> whatsoever. Or is there another function that accomplishes this?

I don't know of one, but someone could make one up with bfloat, if you
want something like what you seem to have programmed.

Although there are several rigorous interval arithmetic systems
available in Lisp,
none of them have been incorporated in any "automatic" scheme in
Maxima, so far as I know.

I'm not sure whether this is because of
(a) lack of interest by users
(b) lack of interest in programmers
(c) both?

... more snip...

RJF
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to