# CVS difference for ais/ai-00296.txt

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

```--- ais/ai-00296.txt	2003/10/29 22:54:11	1.12
+++ ais/ai-00296.txt	2003/11/27 02:01:14	1.13
@@ -1,4 +1,4 @@
-!standard G.3 (01)                                     03-10-24  AI95-00296/06
+!standard G.3 (01)                                     03-11-05  AI95-00296/07
!standard G.3.1 (01)
!standard G.3.2 (01)
!class amendment 02-06-07
@@ -1038,10 +1038,10 @@
the relaxed mode. In the strict mode the modulus of the absolute error of the
inner product X*Y shall not exceed g*abs(X)*abs(Y) where g is defined as

-   g = sqrt(2.0) * X'Length * Machine_Radix**(1-Machine_Mantissa) for mixed
+   g = X'Length * Machine_Radix**(1-Machine_Mantissa) for mixed
complex and real operands

-   g = sqrt(8.0) * X'Length * Machine_Radix**(1-Machine_Mantissa) for two
+   g = sqrt(2.0) * X'Length * Machine_Radix**(1-Machine_Mantissa) for two
complex operands

Implementations shall document any techniques used to reduce cancellation
@@ -1156,10 +1156,10 @@

These requirements for inner product are based on the analysis in Chapter 3
of Accuracy and Stability of Numerical Algorithms by N J Higham. A factor of
-nearly 2 has been added as a precaution. In the complex case the factor is
-increased by a factor of sqrt(2) in the mixed complex and real case to take
-account of the hypotenuse effect and by a further factor of 2 in the pure
-complex case since the number of terms is effectively doubled.
+nearly 2 has been added as a precaution. The mixed real and complex case uses
+the same formula as the pure real case but a further factor of sqrt(2) is
+required in the pure complex case essentially because of the introduction of
+cross terms.

Functions have been added to Numerics.Generic_Real_Arrays for matrix inversion
and related operations. On the grounds that it would be helpful to have simple
@@ -2282,10 +2282,10 @@
For operations involving an inner product, no requirements are specified in
the relaxed mode. In the strict mode the modulus of the absolute error of the
inner product X*Y shall not exceed g*abs(X)*abs(Y) where g is defined as
-@xindent<g = sqrt(2.0) * X'Length * Machine_Radix**(1-Machine_Mantissa) for mixed
+@xindent<g = X'Length * Machine_Radix**(1-Machine_Mantissa) for mixed
complex and real operands>

-@xindent<g = sqrt(8.0) * X'Length * Machine_Radix**(1-Machine_Mantissa) for two
+@xindent<g = sqrt(2.0) * X'Length * Machine_Radix**(1-Machine_Mantissa) for two
complex operands>

Implementations shall document any techniques used to reduce cancellation
```

Questions? Ask the ACAA Technical Agent