categories - Category Theory list
 help / color / mirror / Atom feed
From: Toby Bartels <toby+categories@ugcs.caltech.edu>
To: categories list <categories@mta.ca>
Subject: Re: "Kantor dust"
Date: Sun, 8 Feb 2009 16:31:34 -0800	[thread overview]
Message-ID: <E1LWZYd-0000nY-TQ@mailserv.mta.ca> (raw)

Steve Stevenson wrote in part:

>How about IEEE 754 reals? They're really "scientific notation".  There
>has been a tremendous amount of work on them by William Kahan and others
>and now are the standard for the numerical analysis world and computers.
>Since this is the basics for computation, I'd propose that they can be
>tightened up even more to suit constructivist purposes.

Floating-point reals have terrible theoretical properties;
they're not even a ring (not even classically).
This is why even after all of Kahan's good work on algorithms,
rounding errors are unavoidable (the "Table-Maker's Dilemma").

A floating-point real basically consists of a rational number x
together with a rational maximum error e, subject to the condition
that, for some integer n, 10^n x is an integer and e = 10^{-n}/2.
(There is some redundancy in this simplified description.)
This is not acceptable constructively, since one cannot prove
(even with countable choice, impredicative power sets, etc)
that every real number has such a floating-point representation.

At the very least, one must add some epsilon to the maximum e;
to keep it simple, I would set e to 10^{-n} (so that 1.6 is acceptable
as the result of 5/3, although good algorithms would probably give 1.7).
This would remove rounding errors from the Table-Maker's Dilemma.
I believe (but I may be wrong through unfamiliarity with the literature)
that most researchers prefer instead to allow arbitrarily large e,
thus using interval arithmetic, even though this is more complicated.

(Actual implementations of floating-point arithmetic
usually also have maximum allowed values of both n and 10^n x,
leading to rounding errors from underflow and overflow.
However, overflow errors already arise in natural-number arithmetic,
so this is not really the fault of the floating-point idea.
One can delay all such errors until run-time memory limits.)


--Toby




             reply	other threads:[~2009-02-09  0:31 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-09  0:31 Toby Bartels [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-02-13  5:40 Vaughan Pratt
2009-02-12  9:05 Bas Spitters
2009-02-12  9:00 Prof. Peter Johnstone
2009-02-12  4:25 Toby Bartels
2009-02-12  4:10 Toby Bartels
2009-02-12  4:05 Toby Bartels
2009-02-11 23:51 Vaughan Pratt
2009-02-11 22:16 Bhupinder Singh Anand
2009-02-11 19:56 Greg Meredith
2009-02-11 17:53 Vaughan Pratt
2009-02-11 17:33 Prof. Peter Johnstone
2009-02-11 16:11 Michael Shulman
2009-02-11 15:55 Toby Kenney
2009-02-11  9:01 Vaughan Pratt
2009-02-11  9:01 Vaughan Pratt
2009-02-11  5:49 Vaughan Pratt
2009-02-11  0:13 Toby Bartels
2009-02-10 22:18 Prof. Peter Johnstone
2009-02-10 21:05 Greg Meredith
2009-02-10 19:04 Steve Stevenson
2009-02-10  9:54 Vaughan Pratt
2009-02-09 22:47 Prof. Peter Johnstone
2009-02-09 22:18 Dusko Pavlovic
2009-02-09  1:30 Toby Bartels
2009-02-08 20:36 Steve Stevenson
2009-02-08 15:03 Paul Taylor
2009-02-08 14:51 Prof. Peter Johnstone
2009-02-08 11:56 gcuri
2009-02-07 22:58 Toby Bartels
2009-02-07 17:18 Prof. Peter Johnstone
2009-02-07  0:37 Vaughan Pratt
2009-02-05 21:44 Toby Bartels
2009-02-04 20:24 Vaughan Pratt
2009-02-03 17:59 Prof. Peter Johnstone
2009-02-02 23:43 Vaughan Pratt
2009-02-01 18:53 Prof. Peter Johnstone
2009-02-01  0:06 Vaughan Pratt
2009-01-31 10:25 spitters
2009-01-31  4:35 Galchin, Vasili
2009-01-30 22:40 Galchin, Vasili
2009-01-30 21:52 Bas Spitters
2009-01-30  7:18 Galchin, Vasili
2009-01-30  7:18 Galchin, Vasili

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1LWZYd-0000nY-TQ@mailserv.mta.ca \
    --to=toby+categories@ugcs.caltech.edu \
    --cc=categories@mta.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).