Текст подпрограммы и версий 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.