|
Текст подпрограммы и версий am00r_c.zip , am00d_c.zip , am00c_c.zip |
Тексты тестовых примеров tam00r_c.zip , tam00d_c.zip , tam00c_c.zip |
Вычисление евклидовой нормы квадратной матрицы.
Для заданной квадратной матрицы А порядка N вычисляется евклидова норма
N N
|| A || E = ( ∑ ∑ | a k m | 2 )1/2
k =1 m =1
real am00r_c (real *a, integer *n)
Параметры
| a - | двумерный массив размера n на n, в котором задается исходная матрица A (тип: вещественный); |
| n - | порядок матрицы A (тип: целый). |
Версии
| am00d_c - | вычисление евклидовой нормы вещественной квадратной матрицы, заданной с удвоенной точностью; |
| am00c_c - | вычисление евклидовой нормы комплексной квадратной матрицы; |
Вызываемые подпрограммы: нет.
Замечания по использованию
| 1. |
В функции am00d_c пapaмeтp a имeeт тип double. | |
| 2. | В функции am00c_c пapaмeтp a имeeт тип complex. |
int main(void)
{
/* Initialized data */
static float a[16] /* was [4][4] */ = { 1.f,2.f,3.f,4.f,1.f,0.f,1.f,1.f,
1.f,0.f,0.f,1.f,2.f,3.f,4.f,0.f };
/* Local variables */
extern float am00r_c(float *, int *);
static int n;
static float z__;
n = 4;
z__ = (float)am00r_c(a, &n);
printf("\n %12.4e \n", z__);
return 0;
} /* main */
Результат: z__ = 8.