Текст подпрограммы и версий
av11r_p.zip  av11e_p.zip  av11c_p.zip 
Тексты тестовых примеров
tav11r_p.zip  tav11e_p.zip  tav11c_p.zip 

Функция:  AV11R (модуль AV11R_p)

Назначение

Вычисление скалярного произведения двух вещественных векторов.

Математическое описание

AV11R вычисляет скалярное произведение двух  n - мерных вещественных векторов

  (X, Y) = x1 y1 + x2 y2 +...+ xn yn 

где  X = ( x1, x2, ... , xn ) , Y = ( y1, y2, ... , yn ) .

Векторы X и Y не обязательно должны занимать последовательные слова памяти машины и могут располагаться в памяти с некоторыми постоянными интервалами между компонентами, которые называются параметрами приращения.

Эти параметры могут быть меньше нуля, если обработка компонент вектора должна производиться в обратном порядке.

В случае когда параметры приращения равны 1, используется развернутый цикл с шагом 5.

Использование

function AV11R(N :Integer; var SX :Array of Real; INCX :Integer;
                var SY :Array of Real; INCY :Integer;
                var IERR :Integer): Real;

Параметры

N - размерность векторов (тип: целый);
SX, SY - вещественные одномерные массивы длины N * | INСХ | и N * | INСY | соответственно, содержащие заданные векторы;
         INCX -
         INCY  
параметры приращения, задающие расположение векторов в массивах SХ и SY соответственно (тип: целый);
IERR - целая переменная, указывающая характер ошибки, при этом:
IЕRR=65 - когда N ≤ 0;
IЕRR=66 - когда в процессе счета произошло переполнение центрального процессора.

Версии

AV11E - вычисление скалярного произведения вещественных векторов, заданных с расширенной (Extended) точностью.
AV11C - вычисление скалярного произведения комплексных векторов по формуле:
(X, Y) = x1 y*1 + x2 y*2 +... + xn y*n
где " * " - знак комплексного сопряжения.

Вызываемые подпрограммы

UTAV10 - подпрограмма выдачи диагностических сообщений при работе подпрограмм АV11R и АV11С.
UTAV11 - подпрограмма выдачи диагностических сообщений при работе подпрограммы АV11E.

Замечания по использованию

 

В функции АV11E одномерные массивы, содержащие заданные векторы, обозначены DХ и DY и имеют тип Extended.

В функции АV11С одномерные массивы, содержащие заданные векторы, обозначены СХ и СY и имеют тип Complex.

Пример использования

Unit tAv11r_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, AV11R_p;

function tAv11r: String;

implementation

function tAv11r: String;
var
N,INCY,INCX,IERR :Integer;
R11 :Real;
const
SX :Array [0..10] of Real = ( 1.0,2.0,2.0,2.0,3.0,2.0,4.0,2.0,5.0,2.0,6.0 );
SY :Array [0..10] of Real = ( 1.0,2.0,2.0,2.0,3.0,2.0,4.0,2.0,5.0,2.0,6.0 );
begin
Result := '';
N := 6;
INCY := 2;
INСХ := 2;
R11 := AV11R(N,SX,INCX,SY,INCY,IERR);
Result := Result + Format('%s',['   PEЗYЛЬTAT=']);
Result := Result + Format('%20.16f',[R11]) + #$0D#$0A;
Result := Result + Format('%s',['  IERR=']);
Result := Result + Format('%3d',[IERR]);
UtRes('tAv11r',Result);  { вывод результатов в файл tAv11r.res }
exit;
end;

end.

Результаты:    R11  =  91.0 ,    IERR  =  0