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