Текст подпрограммы и версий
am01r_c.zip , am01d_c.zip , am01c_c.zip
Тексты тестовых примеров
tam01r_c.zip , tam01d_c.zip , tam01c_c.zip

Функция:  am01r_c

Назначение

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

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

Для симметричной матрицы  А порядка  N, заданной в компактной форме, вычисляется евклидова норма

                                  N        N 
          || A || E   =   (    ∑       ∑     | a k m | 2  )1/2
                                 k =1    m =1 

Использование

    real am01r_c (real *a, integer *n)

Параметры

a - вектор длины n * (n + 1)/2, в котором задается симметричная матрица  A в компактной форме (тип: вещественный);
n - порядок матрицы  A (тип: целый).

Версии

am01d_c - вычисление евклидовой нормы вещественной симметричной матрицы, заданной в компактной форме с удвоенной точностью;
am01c_c - вычисление евклидовой нормы комплексной симметричной или эрмитовой матрицы, заданной в компактной форме;

Вызываемые подпрограммы: нет.

Замечания по использованию

  1. 

В функции am01d_c пapaмeтp  a имeeт тип double.

  2.  В функции am01c_c пapaмeтp  a имeeт тип complex.

Пример использования

int main(void)
{
    /* Initialized data */
    static float a[6] = { 0.f,2.f,3.f,1.f,1.f,2.f };

    /* Local variables */
    extern float am01r_c(float *, int *);
    static int n;
    static float z__;

    n = 3;
    z__ = (float)am01r_c(a, &n);

    printf("\n  %12.4e \n", z__);
    return 0;
} /* main */


Результат:    z__  =  5.