Spec-Zone.ru › GNU Fortran 9

9.87 DOT_PRODUCT — Функция скалярного произведения

Описание:

DOT_PRODUCT(VECTOR_A, VECTOR_B) вычисляет скалярное произведение двух векторов VECTOR_A и VECTOR_B. Оба вектора могут быть числовыми или логическими и должны быть одномерными массивами одинакового размера. Если векторы являются INTEGER или REAL, результат SUM(VECTOR_A*VECTOR_B). Если векторы являются COMPLEX, результат SUM(CONJG(VECTOR_A)*VECTOR_B). Если векторы являются LOGICAL, результат ANY(VECTOR_A .AND. VECTOR_B).

Стандарт:

Fortran 95 и выше

Класс:

Функция преобразования

Синтаксис:

RESULT = DOT_PRODUCT(VECTOR_A, VECTOR_B)

Аргументы:
VECTOR_A Тип должен быть числовым или LOGICAL, ранг 1.
VECTOR_B Тип должен быть числовым, если VECTOR_A имеет числовой тип, или LOGICAL если VECTOR_A имеет тип LOGICAL. VECTOR_B должен быть одномерным массивом.
Возвращаемое значение:

Если аргументы являются числовыми, возвращаемое значение — скаляр числового типа, INTEGER, REAL, или COMPLEX. Если аргументы являются LOGICAL, возвращаемое значение .TRUE. или .FALSE..

Пример:
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

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gfortran/DOT_005fPRODUCT.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API