Текст подпрограммы и версий ( Фортран ) amtpr.zip , amtpd.zip |
Тексты тестовых примеров ( Фортран ) tamtpr.zip , tamtpd.zip |
Текст подпрограммы и версий ( Си ) amtpr_c.zip , amtpd_c.zip |
Тексты тестовых примеров ( Си ) tamtpr_c.zip , tamtpd_c.zip |
Текст подпрограммы и версий ( Паскаль ) amtpr_p.zip , amtpe_p.zip |
Тексты тестовых примеров ( Паскаль ) tamtpr_p.zip , tamtpe_p.zip |
Транспонирование прямоугольной разреженной матрицы, заданной в формате RR (С) U, с одновременной перестановкой строк.
Описание форматов RR (С) U и RR (С) О приведены в описании подпрограммы AMTSR .
Пусть исходная прямоугольная матрица А размеров N на M задана в формате RR (С) U и пусть задан массив K = ( k1, k2,..., kN ), содержащий некоторую перестановку чисел ( 1, 2,..., N ), определяющую требуемую перестановку строк.
В результате работы подпрограммы AMTPR вычисляется транспортированная к А матрица в формате RR (С) О с переставленными в нужном порядке строками.
С.Писсанецки. Технология разреженных матриц. - М.: Мир, 1988
SUBROUTINE AMTPR ( IA, JA, AN, N, M, K, IAT, JAT, ANT)
Параметры
IA,JA,AN - | заданные портрет и ненулевые элементы транспонируемой матрицы А в формате RR (С) U; |
N - | заданное число строк транспонируемой матрицы А (тип: целый); |
М - | заданное число столбцов транспонируемой матрицы А (тип: целый); |
К - | целый одномерный массив длины N, компоненты которого содержат перестановку чисел ( 1, 2,..., N ), описывающую требуемую перестановку строк матрицы А; |
IAT, JAT, - ANT | вычисленные портрет и ненулевые элементы транспонированной матрицы в формате RR (С) O с переставленными в требуемом порядке строками; |
Версии
AMTPD - | транспонирование прямоугольной разреженной матрицы, заданной в формате RR (С) U, с одновременной перестановкой строк в режиме удвоенной точности; при этом параметры AN и ANT должны быть описаны как DOUBLE PRECISION. |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
DIMENSION IA(6), JA(13), AN(13), K(5), IAT(7), JAT(13), ANT(13) DATA IA /1, 4, 6, 8, 11, 14/ DATA JA /5, 6, 3, 4, 1, 3, 4, 4, 3, 1, 2, 6, 5/ DATA AN /15., 16., 13., 24., 21., 33., 34., * 44., 43., 41., 52., 56., 55./ DATA K /5, 3, 2, 4, 1/ N = 5 M = 6 CALL AMTPR (IA, JA, AN, N, M, K, IAT, JAT, ANT) Результаты: IAT = ( 1, 3, 4, 7, 10, 12, 14 ) JAT = ( 3, 4, 1, 2, 4, 5, 2, 3, 4, 1, 5, 1, 5 ) ANT = ( 21, 41, 52, 33, 43, 13, 34, 24, 44, 55, 15, 56, 16 )