Текст подпрограммы и версий
am01r_p.zip , am01e_p.zip , am01c_p.zip
Тексты тестовых примеров
tam01r_p.zip , tam01e_p.zip , tam01c_p.zip

Функция:  AM01R (модуль AM01R_p)

Назначение

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

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

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

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

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

function AM01R(var A :Array of Real; N :Integer): Real; 

Параметры

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

Версии

AM01E - вычисление евклидовой нормы вещественной симметричной матрицы, заданной в компактной форме с расширенной (Extended) точностью;
AM01C - вычисление евклидовой нормы комплексной симметричной или эрмитовой матрицы, заданной в компактной форме.

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

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

  1. 

В функции АМ01E параметр  А имеет тип Extended.

  2.  В функции AM01C параметр  А имеет тип Complex.

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

Unit tam01r_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, AM01R_p;

function tam01r: String; 

implementation

function tam01r: String;
var
N :Integer;
Z :Real;
const
A :Array [0..5] of Real = ( 0.0,2.0,3.0,1.0,1.0,2.0 );
begin
Result := '';
N := 3;
Z := AM01R(A,N);
Result := Result + Format(' %20.16f ',[Z]) + #$0D#$0A;
UtRes('tam01r',Result);  { вывод результатов в файл tam01r.res }
exit;
end;

end.


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