Текст подпрограммы и версий amy3r_p.zip , amy3e_p.zip , amy3c_p.zip |
Тексты тестовых примеров tamy3r_p.zip , tamy3e_p.zip , tamy3c_p.zip |
Вычисление первой нормы симметричной матрицы, заданной в компактной форме.
AMY3R вычисляет первую норму симметричной матрицы А порядка N, заданной в компактной форме
N max ∑ | a i j | , j = 1, 2, ..., N . j i =1
function AMY3R(var A :Array of Real; N :Integer): Real;
Параметры
A - | вещественный вектор длины N на (N + 1)/2, в котором задается исходная симметричная матрица в компактной форме; |
N - | заданный порядок матрицы (тип: целый). |
Версии
AMY3E - | вычисление первой нормы симметричной матрицы, заданной в компактной форме с расширенной (Extended) точностью. |
AMY3C - | вычисление первой нормы эрмитовой матрицы, заданной в компактной форме. |
Вызываемые подпрограммы
AMY5R - AMY5E AMY5C | вычисление суммы абсолютных значений элементов строки (или столбца) симметричной матрицы, заданной в компактной форме с обычной и расширенной (Extended) точностью, и эрмитовой матрицы, заданной в компактной форме, соответственно. Используются в АМY3R, АМY3E и АМY3С соответственно. |
Замечания по использованию
В функции АМY3E вектор А должен иметь тип Extended. В функции АМY3С вектор А должен иметь тип Complex. |
Unit tamy3r_p; interface uses SysUtils, Math, { Delphi } LStruct, Lfunc, UtRes_p, AMY3R_p; function tamy3r: String; implementation function tamy3r: String; var N :Integer; Y :Real; const A :Array [0..9] of Real = ( 1.1,2.1,2.2,3.1,3.2,3.3,4.1,4.2,4.3,4.4 ); begin Result := ''; N := 4; Y := AMY3R(A,N); Result := Result + Format('%20.16f ',[Y]) + #$0D#$0A; UtRes('tamy3r',Result); { вывод результатов в файл tamy3r.res } exit; end; end. Результат: Y = 17.