--- 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 +!proposal. + +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 +changes. + +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 +accuracy. + +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