Computes the dot product on two vectors.

**VECTOR_A**- is a vector with a numeric or logical data type.
**VECTOR_B**- must be of numeric type if VECTOR_A is of numeric type and of logical type if VECTOR_A is of logical type. It must be the same size as VECTOR_A.

**Class**

Transformational function

**Result Value**

The result is a scalar whose data type depends on the data type of the two vectors, according to the rules in Table 3 and Table 4.

If either vector is a zero-sized array, the result equals zero when it has a numeric data type, and false when it is of type logical.

If VECTOR_A is of type integer or real, the result value equals SUM(VECTOR_A * VECTOR_B).

If VECTOR_A is of type complex, the result equals SUM(CONJG(VECTOR_A) * VECTOR_A).

If VECTOR_A is of type logical, the result equals ANY(VECTOR_A .AND. VECTOR_B).

**Examples**

```
! A is (/ 3, 1, -5 /), and B is (/ 6, 2, 7 /).
RES = DOT_PRODUCT (A, B)
! calculated as
! ( (3*6) + (1*2) + (-5*7) )
! = ( 18 + 2 + (-35) )
! = -15
```