Текст подпрограммы и версий av02r_c.zip av02d_c.zip av02c_c.zip |
Тексты тестовых примеров tav02r_c.zip tav02d_c.zip tav02c_c.zip |
Вычисление евклидовой нормы вектора.
Для заданного вектора a длины N вычисляется евклидова норма
|| A ||E = ( | a1 |2 + | a2 |2 + ... + | aN |2 )1/2
real av02r_c (real *a, integer *n)
Параметры
a - | одномерный массив длины n, в котором задается исходный вектор (тип: вещественный); |
n - | размерность вектора a (тип: целый). |
Версии
av02d_c - | вычисление евклидовой нормы вектора с повышенной точностью; |
av02c_c - | вычисление евклидовой нормы комплексного вектора; |
Вызываемые подпрограммы: нет
Замечания по использованию
1. |
В функции av02d_c параметр a имеет тип double. | |
2. |
В функции av02c_c параметр a имеет тип complex. | |
3. | Функция av02r_c и ее версии могут быть использованы для вычисления евклидовой нормы матрицы. |
int main(void) { /* Initialized data */ static float a[5] = { 1.f,1.f,2.f,3.f,1.f }; /* Local variables */ extern float av02r_c(float *, int *); static int n; static float z__; printf("\n %12.3e %12.3e %12.3e %12.3e %12.3e \n", a[0], a[1], a[2], a[3], a[4]); n = 5; z__ = (float)av02r_c(a, &n); printf("\n %14.4e \n", z__); return 0; } /* main */ Результат: z__ = 4.