Function: [L, U] = mpfr_vector_dot_d (XL, YL, XU, YU, DIM)
Function: [D, E] = mpfr_vector_dot_d (R, X, Y, dim)

Compute the dot product of arrays of binary 64 numbers along dimensionDIM with correctly rounded result.

Syntax 1: Compute the lower and upper boundary of the dot product of interval arrays [XL, XU] and [YL, YU] with tightest accuracy.

Syntax 2: Compute the dot product D of two binary64 arrays with correctly rounded result and rounding direction R (0: towards zero, 0.5: towards nearest and ties to even, +inf: towards positive infinity, -inf: towards negative infinity). Output parameter E yields an approximation of the error, that is the difference between the exact dot product and D as a second binary64 number, rounded towards zero.

The result is guaranteed to be tight / correctly rounded. That is, the dot product is evaluated with (virtually) infinite precision and the exact result is approximated with a binary64 number using the desired rounding direction.

For syntax 2 only: If one element of a dot product is NaN, infinities of both signs or a product of zero and (positive or negative) infinity are encountered, the result will be NaN. An exact zero is returned as +0 in all rounding directions, except for rounding towards negative infinity, where -0 is returned.

[l, u] = mpfr_vector_dot_d (-1, -1, 2, 3, 1)
 ⇒
   l = -3
   u = 6

See also: dot.

Package: interval