--- 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