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

Re: My ideas about infinity in Scheme (revised)

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.