Текст подпрограммы и версий ( Фортран ) ama8r.zip , ama8d.zip |
Тексты тестовых примеров ( Фортран ) tama8r.zip , tama8d.zip |
Текст подпрограммы и версий ( Си ) ama8r_c.zip , ama8d_c.zip |
Тексты тестовых примеров ( Си ) tama8r_c.zip , tama8d_c.zip |
Текст подпрограммы и версий ( Паскаль ) ama8r_p.zip , ama8e_p.zip |
Тексты тестовых примеров ( Паскаль ) tama8r_p.zip , tama8e_p.zip |
Численное сложение двух прямоугольных разреженных матриц, заданных в формате RR (C) U.
Описание формата RR (C) U приведено в описании подпрограммы AMTSR .
Пусть заданы прямоугольные разреженные матрицы A и B размеров N на M в формате RR (C) U и портрет матрицы C, равной A + B, также в формате RR (C) U, который может быть получен подпрограммой AMA7R на символическом этапе сложения. Подпрограмма AMA8R по этим исходным данным вычисляет ненулевые элементы матрицы C
С.Писсанецки. Технология разреженных матриц. - М.: Мир, 1988
SUBROUTINE AMA8R ( IA, JA, AN, IB, JB, BN, N, M, IC, JC, CN, X)
Параметры
IA, JA - AN | заданные портрет и ненулевые элементы матрицы A в формате RR (C) U; |
IB, JB - BN | заданные портрет и ненулевые элементы матрицы B в формате RR (C) U; |
N - | заданное число строк матриц A, B и C (тип: целый); |
M - | заданное число столбцов матриц A, B и C (тип: целый). |
IC, JC - | заданный портрет матрицы C = A + B в формате RR (C) U; |
CN - | вещественный одномерный массив, в котором формируются ненулевые элементы матрицы C согласно портрету IC, JC; |
X - | вещественный массив длины M, используемый в подпрограмме в качестве рабочего |
Версии:
AMA8D - | численное сложение двух прямоугольных разреженных матриц, заданных в формате RR (C) U, в режиме удвоенной точности; при этом параметры AN, BN и CN должны быть описаны как DOUBLE PRECISION |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
DIMENSION IA(5), JA(10), AN(10), IB(5), JB(9), * BN(9), IC(5), JC(15), CN(15), X(6) DATA IA /1, 3, 7, 9, 11/, * JA /5, 3, 4, 3, 1, 5, 1, 6, 4, 2/, * AN /- 1., 2., 3., 3., 4., 7., - 2., - 1., 1., 1./, * IB /1, 4, 5, 8, 10/, * JB /1, 6, 3, 5, 4, 2, 1, 2, 3/ * BN /1., 5., - 1., - 2., 2., 6., 4., - 1., 1./, * IC /1, 5, 9, 13, 16/, * JC /5, 3, 1, 6, 4, 3, 1, 5, 1, 6, 4, 2, 4, 2, 3/ N = 4 M = 6 CALL AMA8R (IA, JA, AN, IB, JB, BN, N, M, IC, JC, CN, X) Результаты: CN = ( - 1, 1, 1, 5, 3, 3, 4, 5, 2, - 1, 2, 6, 1, 0, 1 )