|
Текст подпрограммы и версий am00r_p.zip , am00e_p.zip , am00c_p.zip |
Тексты тестовых примеров tam00r_p.zip , tam00e_p.zip , tam00c_p.zip |
Вычисление евклидовой нормы квадратной матрицы.
Для заданной квадратной матрицы А порядка N вычисляется евклидова норма
N N
|| A || E = ( ∑ ∑ | a k m | 2 )1/2
k =1 m =1
function AM00R(var A :Array of Real; N :Integer): Real;
Параметры
| A - | двумерный массив размера N на N, в котором задается исходная матрица А (тип: вещественный); |
| N - | порядок матрицы А (тип: целый). |
Версии
| AM00E - | вычисление евклидовой нормы вещественной квадратной матрицы, заданной с расширенной (Extended) точностью; |
| AM00C - | вычисление евклидовой нормы комплексной квадратной матрицы; |
Вызываемые подпрограммы: нет.
Замечания по использованию
| 1. |
В функции АМ00E параметр А имеет тип Extended. | |
| 2. | В функции AM00C параметр А имеет тип Complex. |
Unit tam00r_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, AM00R_p;
function tam00r: String;
implementation
function tam00r: String;
var
N :Integer;
Z :Real;
const
A :Array [0..15] of Real = ( 1.0,2.0,3.0,4.0,1.0,0.0,1.0,1.0,1.0,0.0,0.0,1.0,
2.0,3.0,4.0,0.0 );
begin
Result := '';
N := 4;
Z := AM00R(A,N);
Result := Result + Format(' %20.16f ',[Z]) + #$0D#$0A;
UtRes('tam00r',Result); { вывод результатов в файл tam00r.res }
exit;
end;
end.
Результат: Z = 8.