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

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

Назначение

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