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

Подпрограмма:  AMTPR

Назначение

Транспонирование прямоугольной разреженной матрицы, заданной в формате 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 )