Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: Constructors motion



Hi Vlaidk,

Thanks for the feedback. I get the digital rounding formulas from the
quantified interpretation of the Kaucher arithmetic, i.e., the modal
intervals of Gardenes, et. al.

For example, if X=[1,2] and we quantify reciprocal as
   (for all x in X)(exists y in Y) y = 1/x    (1)
then we can perform any outward rounding such that
   [1/2,1] \subseteq Y,
and Y=[0.4,1.1] would be example of a very pessimistic but valid enclosure.
This is FTIA we all are familliar with.

If instead we quantify reciprocal as
   (for all y in Y)(exists x in X) y = 1/x    (2)
then we must perform an inward rounding such that
   Y \subseteq [1/2,1],
i.e., in the outward rounded result Y=[0.4,1.1] there is no x in [1,2] for
the value 1/x when y = 0.4 so (2) would be false. But for all y in [0.6,0.9]
there is x in [1,2] for (2) to be true.

Note that (1) and (2) are both true iff Y is exact.

For the digital roundings, there is a "dual computing theorem" that
transforms the problem of finding the inner rounding into an equivalent
computation that uses only the outward rounding, e.g.:
   1/[1,2]=[roundDown(1/2),roundUp(1/1)]=[0.4,1.1]
is the outward-rounded result of proper interval [1,2] and
   1/[2,1]=[roundDown(1/1),roundUp(1/2)]=[0.9,0.6]
is the inward-rounded result of improper interval [2,1]. This means that
computation of both inward and outward roundings come for free with a
Kaucher/modal implementation... and implementers only need to provide an
outward rounding to accomodate both. For those that are interested, Gardenes
et. al. discuss this in thier papers.

But implementers don't need to know the full theory... in practice these
formulas are very easy to implement.

Nate


----- Original Message ----- From: "Kreinovich, Vladik" <vladik@xxxxxxxx>
To: "Nate Hayes" <nh@xxxxxxxxxxxxxxxxx>; "Jürgen Wolff von Gudenberg"
<wolff@xxxxxxxxxxxxxxxxxxxxxxxxxxx>; "Dan Zuras Intervals"
<intervals08@xxxxxxxxxxxxxx>
Cc: <stds-1788@xxxxxxxxxxxxxxxxx>
Sent: Thursday, December 29, 2011 3:19 PM
Subject: RE: Constructors motion


Dear Nate,

The very fact that you have to explain shows that most of us are not that
familiar with the semantics of Kaucher intervals (level 1). While for
normal intervals, it is very clear what we want (a range and if exact
range is not possible, an enclosure for the range) this is much less clear
for Kaucher intervals. Before we start talking about level 2
implementations, we need to understand level 1. I know of several
semantics, I am not sure they all lead to exactly the same roundings.

For example, if we add two normal intervals [a,b] and [c,d], the lower
endpoint of the sum a+c is rounded down. What you are saying is that if we
inverse them and add [b,a] and [d,c], then the same sum a+c becomes an
upper endpoint and thus, according to your formula, is rounded up not
down.

This may be true, but without a clear understanding of why this is not a
good idea to add it to the standard.

My understanding is that we are somewhat behind with normal intervals, so
unless this issue can be resolved quickly, I do not think it is a good
idea to add Kaucher intervals to the proposed standard at this point.
What is necessary -- and I agree with you on that -- is to make sure that
we do not block the way for future extensions to Kaucher intervals.


________________________________________
From: stds-1788@xxxxxxxx [stds-1788@xxxxxxxx] On Behalf Of Nate Hayes
[nh@xxxxxxxxxxxxxxxxx]
Sent: Thursday, December 29, 2011 2:11 PM
To: Nate Hayes; Jürgen Wolff von Gudenberg; Dan Zuras Intervals
Cc: stds-1788@xxxxxxxxxxxxxxxxx
Subject: Re: Constructors motion

Nate Hayes wrote:
A valid computer implementation of Kaucher addition is:
   [a,b] + [c,d] = [roundDown(a+b),roundUp(c+d)]

Dang type-o.

Of course I meant:
   [a,b] + [c,d] = [roundDown(a+c),roundUp(b+d)]

Nate