Текст подпрограммы и версий
amy6r_p.zip , amy6e_p.zip
Тексты тестовых примеров
tamy6r_p.zip , tamy6e_p.zip

Функция:  AMY6R (модуль AMY6R_p)

Назначение

Нахождение максимального по модулю элемента строки (или столбца) симметричной матрицы, заданной в компактной форме.

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

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

function AMY6R(var A :Array of Real; N :Integer; I :Integer;
                var J :Integer): Real; 

Параметры

A - вещественный вектор длины N на (N + 1)/2, в котором задается симметричная матрица в компактной форме;
N - заданный порядок матрицы (тип: целый);
I - заданный номер строки (или столбца) (тип: целый);
J - целая переменная, содержащая второй (или первый) индекс максимального по модулю элемента исходной матрицы в предположении, что она задана в виде квадратной матрицы, а не в компактной форме.

Версии

AMY6E - нахождение максимального по модулю элемента строки (или столбца) симметричной матрицы, заданной в компактной форме с расширенной (Extended) точностью.

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

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

  В функции АМY6E вектор  А должен иметь тип Extended.

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

Unit tamy6r_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, AMY6R_p;

function tamy6r: String; 

implementation

function tamy6r: String;
var
N,I,J :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 );
label
_5;
begin
Result := '';
N := 4;
I := 1;
_5:
Y := AMY6R(A,N,I,J);
Result := Result + Format(' %20.16f  %5d ',[Y,J]) + #$0D#$0A;
I := I+1;
if ( I < 5 ) 
 then goto _5;
UtRes('tamy6r',Result);  { вывод результатов в файл tamy6r.res }
exit;
end;

end.


Результаты:    Y = 4.3 ,    J = 4