CVS difference for ais/ai-00296.txt

Differences between 1.2 and version 1.3
Log of other versions for file ais/ai-00296.txt

--- ais/ai-00296.txt	2003/01/23 03:11:15	1.2
+++ ais/ai-00296.txt	2003/01/24 04:14:27	1.3
@@ -653,3 +653,90 @@
+From: John Barnes
+Sent: Tuesday, January 21, 2003  10:33 AM
+Gosh - I have made a start on AI-296. [Editor's note: This is version /01
+of the AI.]
+I have pulled all the Ada text in and written a first cut at
+the description for the real vectors and matrices. I thought
+maybe it would be a good idea to get the style settled
+before spending time on the complex ones.
+Here are some thoughts.
+There are questions of how to arrange the annex in
+What do we use for the plural of index when talking about
+arrays?  I suspect that it ought to be indexes and not
+indices as Don had.
+I have slimmed down the accuracy and error stuff that Don
+Sando had by simply referring to the underlying real
+operations. There are as yet no useful remarks on the
+accuracy of inner product.
+I started by explaining the bounds of the result in terms of
+the bounds of the parameters whereas Don had done it in
+terms of ranges. Later I discovered that ranges are much
+easier for the more elaborate matrix cases so perhaps I
+should have used ranges throughout. Thus saying for example
+"the index range of the result is Left'Range" rather than
+"the bounds of the result are those of the left operand".
+I am not sure whether I need to say anything about null
+arrays. I note that 4.5.1(8) doesn't seem to.
+Incidentally, I am still overwhelmed with other work.
+Although the Spark book has gone away to be proof read, it
+re-emerges tomorrow and will keep me busy for several days
+in doing final corrections. Also I have to prepare a one-day
+course on Spark at the University of York the week after
+Padua so I have to send the notes beforehand. I do this
+course each year but at the last minute they want a lot of
+But we do have a baseline to discuss on AI-296 for Padua even
+if I don't get a chance to spend much more time on it before
+then. So I don't feel too guilty.
+There is a lot of interest in this stuff (especially
+problems of accuracy) in the UK and we have a BSI meeting in
+mid February to discuss this.
+From: Pascal Leroy
+Sent: Wednesday, January 22, 2003  8:24 AM
+> There are as yet no useful remarks on the
+> accuracy of inner product.
+I think that the accuracy of the inner product should be defined in a way
+similar to that of the complex multiplication.  If you look at the inner
+product of vectors (a1, a2) and (b1, b2), the result is quite similar to the
+real part of the (complex) multiplication of a1 + ib1 and a1 - ib2.
+The box error in G.2.5 ensures that if the result of a multiplication lands
+very close to one of the axis, you don't have to provide an unreasonable
+accuracy on the "small" component, because presumably cancellations happened.
+Moreover, the "large" component gives you some information on the magnitude of
+the cancellation, so it can be used to define the acceptable error.  That's
+essentially what the box error does (at least that's my understanding).
+For the inner product of v1 and v2, I believe that the error should similarly
+be defined to be of the form d * length(v1) * length (v2).  If cancellations
+happen, i.e. if the vectors are nearly orthogonal, the error can be quite large
+compared to the final result.  In the absence of cancellations, i.e. if the
+vectors are not orthogonal, then with a proper choice for d we can require good
+The alert reader will notice that this amounts to defining the relative error
+on the result as d/cos (A) where A is the angle of the two vectors.
+This is just a back-of-an-envelope proposal.  No rigorous analysis was done.

Questions? Ask the ACAA Technical Agent