DOT_PRODUCT — Dot product function#

DOT_PRODUCT(VECTOR_A, VECTOR_B)#

DOT_PRODUCT(VECTOR_A, VECTOR_B) computes the dot product multiplication of two vectors VECTOR_A and VECTOR_B. The two vectors may be either numeric or logical and must be arrays of rank one and of equal size. If the vectors are INTEGER or REAL, the result is SUM(VECTOR_A*VECTOR_B). If the vectors are COMPLEX, the result is SUM(CONJG(VECTOR_A)*VECTOR_B). If the vectors are LOGICAL, the result is ANY(VECTOR_A .AND. VECTOR_B).

Parameters
  • VECTOR_A – The type shall be numeric or LOGICAL, rank 1.

  • VECTOR_B – The type shall be numeric if VECTOR_A is of numeric type or LOGICAL if VECTOR_A is of type LOGICAL. VECTOR_B shall be a rank-one array.

Returns

If the arguments are numeric, the return value is a scalar of numeric type, INTEGER, REAL, or COMPLEX. If the arguments are LOGICAL, the return value is .TRUE. or .FALSE..

Standard:

Fortran 90 and later

Class:

Transformational function

Syntax:
RESULT = DOT_PRODUCT(VECTOR_A, VECTOR_B)
Example:
program test_dot_prod
    integer, dimension(3) :: a, b
    a = (/ 1, 2, 3 /)
    b = (/ 4, 5, 6 /)
    print '(3i3)', a
    print *
    print '(3i3)', b
    print *
    print *, dot_product(a,b)
end program test_dot_prod