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