Текст подпрограммы и версий 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)