Текст подпрограммы и версий
amy3r_c.zip , amy3d_c.zip , amy3c_c.zip
Тексты тестовых примеров
tamy3r_c.zip , tamy3d_c.zip , tamy3c_c.zip

Функция:  amy3r_c

Назначение

Вычисление первой нормы симметричной матрицы, заданной в компактной форме.

Математическое описание

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.