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