Текст подпрограммы и версий ( Фортран ) ammjr.zip , ammjd.zip |
Тексты тестовых примеров ( Фортран ) tammjr.zip , tammjd.zip |
Текст подпрограммы и версий ( Си ) ammjr_c.zip , ammjd_c.zip |
Тексты тестовых примеров ( Си ) tammjr_c.zip , tammjd_c.zip |
Текст подпрограммы и версий ( Паскаль ) ammjr_p.zip , ammje_p.zip |
Тексты тестовых примеров ( Паскаль ) tammjr_p.zip , tammje_p.zip |
Численное умножение прямоугольных разреженных матриц, заданных в формате RR (C) U
Описание формата RR (C) U приведено в описании подпрограммы AMTSR .
Пусть в формате RR (C) U заданы матрица A размеров p на q и матрица B размеров q на r. Пусть известен также портрет результирующей матрицы C = A * B в формате RR (C) U, полученный, например, предварительно при помощи подпрограммы AMMIR. Подпрограмма AMMJR вычисляет ненулевые элементы матрицы C посредством алгоритма, изложенного в описании подпрограммы AMMIR
С.Писсанецки. Технология разреженных матриц. - М.: Мир, 1988
SUBROUTINE AMMJR ( IA, JA, AN, IB, JB, BN, IC, JC, NP, NQ, NR, CN, X)
Параметры
IA, JA - AN | заданные портрет и ненулевые элементы матрицы A в формате RR (C) U; |
IB, JB - BN | заданные портрет и ненулевые элементы матрицы B в формате RR (C) U; |
IC, JC - | заданный портрет результирующей матрицы C в формате RR (C) U; |
NP - | заданное число строк матрицы A (тип: целый); |
NQ - | заданное число столбцов матрицы A и строк матрицы B (тип: целый); |
NR - | заданное число столбцов матрицы B (тип: целый); |
CN - | вещественный одномерный массив, в котором помещаются вычисленные ненулевые элементы матрицы C согласно портрету IC, JC; |
X - | вещественный одномерный массив длины NR, используемый в подпрограмме в качестве рабочего |
Версии
AMMJD - | численное умножение прямоугольных разреженных матриц, заданных в формате RR (C) U, в режиме удвоенной точности; при этом параметры AN, BN, CN и X должны иметь тип DOUBLE PRECISION |
Вызываемые подпрограммы нет
Замечания по использованию нет
DIMENSION AN(6), BN(6), CN(4), IA(5), JA(6), IB(6), * JB(6), IC(5), JC(4), X(3) DATA IA /1, 4, 4, 6, 7/, * JA /1, 5, 4, 4, 2, 1/, * IB /1, 2, 4, 6, 6, 7/, * JB /2, 2, 1, 2, 1, 2/ * IC /1, 2, 2, 4, 5/, * JC /2, 2, 1, 2/, * AN /1., 1., 1., 1., 1., 1./, * BN /1., 1., 1., 1., 1., 1./ NP = 4 NQ = 5 NR = 3 CALL AMMJR (IA, JA, AN, IB, JB, BN, IC, JC, NP, NQ, NR, CN, X) Результаты: CN = ( 2, 1, 1, 1 )