[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: My ideas about infinity in Scheme (revised)

This page is part of the web mail archives of SRFI 70 from before July 7th, 2015. The new archives for SRFI 70 contain all messages, not just those from before July 7th, 2015.

On 5/23/05, Aubrey Jaffer <agj@xxxxxxxxxxxx> wrote:
>  | Date: Sun, 22 May 2005 20:46:53 +0900
>  | From: Alex Shinn <alexshinn@xxxxxxxxx>
>  |
>  | On 5/22/05, Aubrey Jaffer <agj@xxxxxxxxxxxx> wrote:
>  | >
>  | > In hundreds of years of using rational numbers, mathematicians have
>  | > not discovered 1/0 to be a useful extension to the rational numbers.
>  |
>  | Well, mathematically 1/0 isn't real or complex either, as it doesn't
>  | obey the properties of a field
> 1/0 and -1/0 can be added in a way that preserves the total ordering
> of the real numbers.

But closure is lost because (+ 1/0 -1/0) is not real (at which point
it's no longer a group, much less field).  Introduction of 0/0 to
regain closure breaks the inverse element property of groups (the
identity element is still 1 but 0/0 has no inverse).

>  | and breaks the fundamental theorem of algebra.
> In which circumstances does it do that?  Is it only when 1/0 or -1/0
> is a coefficient in a polynomial?

Yes, such a polynomial would have no zeros.

> Many ideas about efficiency have been invalidated by the growth of
> instruction speed far outstripping growth in L1 cache size.  An
> article about this is:
> <http://swiss.csail.mit.edu/~jaffer/CNS/interpreter-speed>

An interpreter is still an order of magnitude slower than a native
compiler.  Regardless, if there are situations (either explicit from
the use of real? or implicit via method polymorphism) where in the
middle of a loop you must check against the IEEE-754 infinities, then
you will suffer a serious performance loss.