Текст подпрограммы и версий amy3r_c.zip , amy3d_c.zip , amy3c_c.zip |
Тексты тестовых примеров tamy3r_c.zip , tamy3d_c.zip , tamy3c_c.zip |
Вычисление первой нормы симметричной матрицы, заданной в компактной форме.
amy3r_c вычисляет первую норму симметричной матрицы А порядка N, заданной в компактной форме
N max ∑ | a i j | , j = 1, 2, ..., N . j i =1
real amy3r_c (real *a, integer *n)
Параметры
a - | вещественный вектор длины n на (n + 1)/2, в котором задается исходная симметричная матрица в компактной форме; |
n - | заданный порядок матрицы (тип: целый). |
Версии
amy3d_c - | вычисление первой нормы симметричной матрицы, заданной в компактной форме с удвоенной точностью. |
amy3c_c - | вычисление первой нормы эрмитовой матрицы, заданной в компактной форме. |
Вызываемые подпрограммы
amy5r_c - amy5d_c amy5c_c | вычисление суммы абсолютных значений элементов строки (или столбца) симметричной матрицы, заданной в компактной форме с обычной и удвоенной точностью, и эрмитовой матрицы, заданной в компактной форме, соответственно. Используются в amy3r_c, amy3d_c и amy3c_c соответственно. |
Замечания по использованию
В функции amy3d_c вектор a должен иметь тип double. В функции amy3c_c вектор a должен иметь тип complex. |
int main(void) { /* Initialized data */ static float a[10] = { 1.1f,2.1f,2.2f,3.1f,3.2f,3.3f,4.1f,4.2f,4.3f,4.4f }; /* Local variables */ extern float amy3r_c(float *, int *); static int n; static float y; n = 4; y = (float)amy3r_c(a, &n); printf("\n %16.7e \n", y); return 0; } /* main */ Результат: y = 17.