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

Re: inner add/subtract (was: IEEE Standard 1788-2015)



Svetoslav, P1788

Looking back at the history, I see we passed Motion 12 in 2010 but had doubts about it in 2012, in particular what rounding properties it should have in finite precision.
I append two sample emails about the issue. Note Arnold's comment marked ***** about rounding.
Should these be "OPERATIONS in algebraic sense"? I think lengthy discussion gave the conclusion that to be useful in practice they should NOT -- mainly because of the rounding issue.

John Pryce

On 28 Sep 2015, at 06:31, Svetoslav Markov <smarkov@xxxxxxxxxx> wrote:
> Baker and John,
> 
> the inner operations (inner addition and subtraction)
> are part of the "set-based standard", not part of
> Kaucher/modal arithmetic.
> 
> The inner addition and subtraction are defined in
> Motion 12. These operations are defined correctly
> for all standard intervals and result in a standard interval.
> 
> The "CancelPlus/CancelMinus"  included in the standard
> are not defined for all standard intervals and therefore are
> not OPERATIONS in algebraic sense. They require the width
> of the first operand to be greater or equal to the width of the
> second operand. I wonder when and how the "CancelPlus/CancelMinus"  
> "operations" appeared in the standard (Ch 9), substituting the
> inner addition and subtraction of Motion 12.
> 
> Svetoslav

========================
Begin forwarded message:
> From: Arnold Neumaier <Arnold.Neumaier@xxxxxxxxxxxx>
> Subject: Re: Motion P1788/M0012.01:InnerAdditionAndSubtraction
> Date: 22 March 2010 07:48:06 GMT
> To: Jürgen Wolff v Gudenberg <wolff@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
> Cc: "R. Baker Kearfott" <rbk@xxxxxxxxxxxxx>, stds-1788 <stds-1788@xxxxxxxxxxxxxxxxx>, Nate Hayes <nh@xxxxxxxxxxxxxxxxx>
> 
> Jürgen Wolff v Gudenberg wrote:
>> Nate, P1788
>> the inner operations are proposed in the Vienna proposal and are supported by Baker.
>> Nevertheless I would like to get more information about their application. I am not convinced by the examples given in the rationale.
> 
> We have found them important for efficient constraint propagation
> in solving global optimization problems, and use them in COCONUT and
> in GloptLab. Our use is explained in Proposition 14.2 of my survey paper
>   Complete Search in Continuous Global Optimization and Constraint
>   Satisfaction
>   http://www.mat.univie.ac.at/~neum/ms/glopt03.pdf
> 
>> Is it correct that they are the first step of Kaucher or modal arithmetic?
> 
*****
> They happen to coincide with Kaucher addition and subtraction in exact arithmetic, but must have the opposite rounding behavior (than what is advocated in the modal arithmetic literature) when executed with
> interval arithmetic, to be useful for the above applications in
> optimization. Thus they are not naturally part of a Kaucher arithmetic.
> 
> The required rounding behavior is specified in the Vienna Proposal,
> Section 5.7.3. (I haven't checked whether this coincides with the proposal in the motion. I have currently very little time for
> following the discussion of the 1788 standard.)
> 
> 
> Arnold Neumaier


========================
Begin forwarded message:
> From: John Pryce <j.d.pryce@xxxxxxxxxxxx>
> Subject: InnerAdditionAndSubtraction: too many choices!
> Date: 20 January 2012 15:31:14 GMT
> To: Ralph Baker Kearfott <rbk@xxxxxxxxxxxxx>, Vladik Kreinovich <vladik@xxxxxxxx>
> 
> Baker, Vladik
> 
> At the detail level, so many conventions in our literature! After unifying notation so that Z is output, X and Y are input, I get this.
> 
> Baker:
> ------
> Z = cancelminus(X,Y)  [or X cancelminus Y]  solves
> (a)    Y + Z = X  for Z,  given X is wider than Y.   e.g. cancelminus([0,5],[4,6]) = [-4,-1]
> 
> Vienna:
> -------
> Z = innerAddition(X,Y) solves
> (b)    Z - Y = X  for Z,  given X is wider than Y.   e.g. innerAddition([0,5],[4,6]) = [6,9]
> 
> Z = innerSubtraction(X,Y) solves
> (c)    X - Z = Y  for Z,  given Y is wider than X.   e.g. innerSubtraction([4,6],[0,5]) = [1,4]
> 
> Motion 12:
> ----------
> I write innerPlus for their "plus with a superscript minus", i.e. $+^-$ in TeX, and innerMinus for the other one.
> Z = innerPlus(X,Y) solves
> (d)    Z - Y = X  for Z   when X is wider than Y,   e.g. innerPlus([0,5],[4,6]) = [6,9]
> (e)    Z - X = Y  for Z   otherwise.                e.g. innerPlus([4,6],[0,5]) = [6,9]
> 
> Z = innerMinus(X,Y) solves
> (f)    Y + Z = X  for Z   when X is wider than Y,   e.g. innerMinus([0,5],[4,6]) = [-4,-1]
> (g)    X - Z = Y  for Z   otherwise.                e.g. innerMinus([4,6],[0,5]) = [1,4]
> 
> So
> (a) and (f) are the same.
> (b) and (d) are the same.
> (c) and (g) are the same.
> (e) is by itself.
> 
> Personally, I find Baker's cancelminus the most intuitive of all these. 
> 
> What I propose is to specify
> (d), equivalently (b), and call it innerPlus;
> (f), equivalently (a), and call it innerMinus.
> These both assume
>    width(1st argument) >= width(2nd argument), 
> which in my view helps in remembering what they do. If that does not hold, I'll make the result undefined (at Level 1).
> 
> It is now fairly clear to me that rounding outward is required at Level 2.
> 
> What a kerfuffle. Any objections to this from a design, or other, viewpoint?
> 
> John