|
Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://num-anal.srcc.msu.ru/lib_na/cat/am_htm_p/amtcr_p.htm
Дата изменения: Mon Nov 9 15:28:46 2015 Дата индексирования: Sun Apr 10 03:41:58 2016 Кодировка: Windows-1251 |
|
Текст подпрограммы и версий amtcr_p.zip |
Тексты тестовых примеров tamtcr_p.zip |
Символическое транспонирование прямоугольной разреженной матрицы, заданной в формате RR (C) U .
Описание форматов RR (C) U и RR (C) O приведены в описании подпрограммы AMTSR .
Данная подпрограмма по портрету исходной матрицы A вычисляет портрет транспонированной матрицы AT и представляет его в формате RR (C) O .
С.Писсанецки. Технология разреженных матриц. - М.: Мир, 1988.
procedure AMTCR(var IA :Array of Integer; var JA :Array of Integer;
N :Integer; M :Integer; var IAT :Array of Integer;
var JAT :Array of Integer);
Параметры
| IA, JA - | заданный портрет транспонируемой прямоугольной матрицы A в формате RR (C) U; |
| N - | заданное число строк транспонируемой матрицы A (тип: целый); |
| M - | заданное число столбцов транспонируемой матрицы A (тип: целый); |
|
IAT - JAT | вычисленный портрет транспонированной матрицы A в формате RR (C) O . |
Версии: нет
Вызываемые подпрограммы: нет
Замечания по использованию: нет
Unit TAMTCR_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, AMTCR_p;
function TAMTCR: String;
implementation
function TAMTCR: String;
var
N,M,_i :Integer;
IАТ :Array [0..6] of Integer;
JАТ :Array [0..12] of Integer;
const
IA :Array [0..5] of Integer = ( 1,4,6,8,11,14 );
JA :Array [0..12] of Integer = ( 5,6,3,4,1,3,4,4,3,1,2,6,5 );
begin
Result := '';
{ ТЕСТ ДЛЯ ПРОГРАММЫ AMTCR }
N := 5;
M := 6;
AMTCR(IA,JA,N,M,IAT,JAT);
Result := Result + Format('%s',[' IAT=']);
Result := Result + #$0D#$0A;
for _i:=0 to 6 do
begin
Result := Result + Format('%5d ',[IAT[_i]]);
if ( ((_i+1) mod 15)=0 )
then Result := Result + #$0D#$0A;
end;
Result := Result + #$0D#$0A;
Result := Result + Format('%s',[' JAT=']);
Result := Result + #$0D#$0A;
for _i:=0 to 12 do
begin
Result := Result + Format('%5d ',[JAT[_i]]);
if ( ((_i+1) mod 15)=0 )
then Result := Result + #$0D#$0A;
end;
Result := Result + #$0D#$0A;
UtRes('TAMTCR',Result); { вывод результатов в файл TAMTCR.res }
exit;
end;
end.
Результаты:
IAT = (1, 3, 4, 7, 10, 12, 14)
JAT = (2, 4, 5, 1, 3, 4, 2, 3, 4, 1, 5, 1, 5)