|
Текст подпрограммы и версий av04r_c.zip av04d_c.zip av04c_c.zip |
Тексты тестовых примеров tav04r_c.zip tav04d_c.zip tav04c_c.zip |
Вычисление скалярного произведения векторов.
Для заданных векторов U и V длины N вычисляется скалярное произведение
(U,V) = U1*V1 + U2*V2 + ... + UN*VN.
real av04r_c (real *u, real *v, integer *n)
Параметры
| u, v - | одномерные массивы длины n, в которых задаются исходные векторы (тип: вещественный); |
| n - | размерность векторов U и V (тип: целый). |
Версии
| av04d_c - | вычисление скалярного произведения векторов с повышенной точностью; |
| av04c_c - | вычисление скалярного произведения комплексных векторов; |
Вызываемые подпрограммы: нет
Замечания по использованию
| 1. |
В функции av04d_c параметры u и v имеют тип double. | |
| 2. |
В функции av04c_c параметры u и v имеют тип complex. | |
| 3. |
В функции av04c_c скалярное произведение вычисляется по формуле (U,V) = U1*V*1 +
U2*V*2 +...
+ UN*V*N |
int main(void)
{
/* Initialized data */
static float u1[4] = { 3.f,2.f,1.f,1.f };
static float u2[4] = { 1.f,2.f,0.f,1.f };
/* Local variables */
extern float av04r_c(float *, float *, int *);
static int n;
static float s;
n = 4;
s = (float)av04r_c(u1, u2, &n);
printf("\n %16.7e \n", s);
return 0;
} /* main */
Результат: s = 8.