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

*To*: schlie@xxxxxxxxxxx*Subject*: Re: infinity notations*From*: Aubrey Jaffer <agj@xxxxxxxxxxxx>*Date*: Wed, 6 Jul 2005 22:17:35 -0400 (EDT)*Cc*: srfi-70@xxxxxxxxxxxxxxxxx*Delivered-to*: srfi-70@xxxxxxxxxxxxxxxxx*In-reply-to*: <BEEEFFC8.AB77%schlie@xxxxxxxxxxx> (message from Paul Schlie on Mon, 04 Jul 2005 15:01:28 -0400)*References*: <BEEEFFC8.AB77%schlie@xxxxxxxxxxx>

| Date: Mon, 04 Jul 2005 15:01:28 -0400 | From: Paul Schlie <schlie@xxxxxxxxxxx> | | > Some new possibilities have come to light. Here are all the possible | > Scheme infinity notations that I know of: | > Notations C and G use a trailing `.' to indicate inexactness as K | > does. This requires a small extension to R5RS number syntax, as | > rational notation (`1/0') does not currently allow a trailing period. | | - however may not be necessary if +Inf is symbolically defined as +1/0. [R5RS] ... in all implementations a sequence of letters, digits, and "extended alphabetic characters" that begins with a character that cannot begin a number is an identifier. In addition, `+', `-', and `...' are identifiers. Since `+' can begin a number, +Inf would not be an identifier unless it was made one of the "In addition" cases; which is also a syntax extension. | And I'll concede my perceived necessity to denote an ambiguously | signed infinity in exchange for the prevention of incorrectly | signed infinities, which means that the region about 0 must be | considered correspondingly invalid, (i.e. both are considered NaN | or 0/0). yielding: | | | / NaN \ or equivalently: / 0/0 \ | / | \ / | \ | -Inf | +Inf -1/0 | +1/0 | ------+------- (reciprocal projection axis) ------+------ | -0.0 | 0.0 -0.0 | +0.0 | \ | / \ | / | \ NaN / \ 0/0 / | | | | 0 0 | (negative projection axis) (negative projection axis) | | (where NaN and +-Inf may be thought of as symbols defined as 0/0 | and +-1/0) | | Which helps eliminates the ordering concern, although it's likely | still a good idea to define (= -0.0 0 +0.0) => #t, and (< -0.0 0 | +0.0) => #t, etc. The perceived asymmetry driving all these shades of zero is not a consequence of infinities, but of mathematical units. `1/0' is an extension of division to zero divisors. But it includes the unit `1'. If we pick finite, nonzero numerators at random, then n_i/0 will be negative roughly half of the time. So there is no imbalance in the expected proportion of signs of resulting from division by unsigned zero. | However then 0/0 denotes all ambiguities in either sign or value, | even those which may be very small, then Therefore: | | (+ +0.0 -0.0) => 0/0 [aka NaN] | | as otherwise: | | (/ (+ +0.0 -0.0 +0.0)) :: (/ (+ 0 +0.0)) :: (/ +0.0) => +Inf | | [which would be incorrect] | | Thereby one can argue that this is actually good, as then the | iterative sum of alternating infinitely small value about 0 is | considered ambiguous, which would typically be the case. and | correspondingly yield 0/0 for all ambiguities in either sign or | significant magnitude. | | (tan pi/2) => 0/0 | (/ 0.0 0.0) => 0/0 | | and as it may not be obvious, the difference between any two | equivalently valued inexact value is an exact 0. I.e.: | | (- 1.5 1.5) => 0 This violates R5RS; it also is not true for SRFI-70 inexacts, which represent real intervals. | as there is no inexact 0, as that would imply a value about 0 with | an ambiguous sign, which would both have a value range which | overlaps +0.0, 0, and +0.0; and who's reciprocal was not self | consistent. (or if one chooses, an exact 0 is equivalent to an | inexact 0, both mean absolute 0.)

**References**:**Re: infinity notations***From:*Paul Schlie

- Prev by Date:
**Re: comparison operators and *typos** - Next by Date:
**Re: comparison operators and *typos** - Previous by thread:
**Re: infinity notations** - Next by thread:
**Re: infinity notations** - Index(es):