Текст подпрограммы и версий ( Фортран )
am21r.zip , am21d.zip
Тексты тестовых примеров ( Фортран )
tam21r.zip , tam21d.zip
Текст подпрограммы и версий ( Си )
am21r_c.zip , am21d_c.zip
Тексты тестовых примеров ( Си )
tam21r_c.zip , tam21d_c.zip
Текст подпрограммы и версий ( Паскаль )
am21r_p.zip , am21e_p.zip
Тексты тестовых примеров ( Паскаль )
tam21r_p.zip , tam21e_p.zip

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

Назначение

Умножение симметричной разреженной матрицы, заданной в формате RR (U) U, на заполненный вектор - столбец

Математическое описание

Сокращенное название формата RR (U) U происходит от английского словосочетания "Row - wise Representation, Upper, Unordered" (строчное представление, верхний треугольник, неупорядоченное).

Данный формат используется для симметричных и верхних треугольных матриц, у которых большинство диагональных элементов отличны от нуля. В этом формате представляется только верхний треугольник матрицы (внутри каждой строки элементы могут храниться в произвольном порядке), а ее диагональные элементы хранятся в отдельном одномерном массиве.

Поясним данный формат на следующем примере. Пусть дана симметричная матрица  A четвертого порядка:

                               1     2     3     4

                     1     |   0     1     2     3   |
          A =     2     |   1     1     2     3   |
                     3     |   2     2     2     3   |
                     4     |   3     3     3     3   | 

Тогда в рассматриваемом формате представление матрицы  A может иметь следующий вид:

             IA  =  ( 1, 4, 6, 7;  7 )
             JA  =  ( 4, 2, 3;  4, 3;  4 )
            AN  =  ( 3, 1, 2;  3, 2;  3 )
            AD  =  ( 0, 1, 2, 3 ) 

Правила формирования массивов  IA, JA и AN аналогичны правилам формирования соответствующих массивов в формате RR (C) U, описание которого приведено в описании подпрограммы AMTSR .

Подпрограмма AM21R умножает симметричную разреженную матрицу  A порядка  N, заданную в формате RR (U) U, на заполненный вектор - столбец  B длины  N и помещает разультирующий заполненный вектор - столбец в одномерный массив  C длины  N

С.Писсанецки. Технология разреженных матриц. - М.: Мир, 1988

Использование

    SUBROUTINE  AM21R ( IA, JA, AN, AD, B, N, C) 

Параметры

 IA, JA, -    AN, AD  заданные портрет и ненулевые элементы матрицы A в формате RR (U) U;
B - вещественный одномерный массив N, содержащий компоненты заданного заполненного  вектора - столбца;
N - заданный порядок матрицы A (тип: целый);
C - вещественный одномерный массив длины N, содержащий компоненты результирующего  вектора - столбца

Версии

AM21D - умножение симметричной разреженной матрицы, заданной в формате RR (U) U, на разреженный  вектор - столбец в режиме удвоенной точности; при этом параметры AN, AD, B и C должны иметь тип DOUBLE PRECISION

Вызываемые подпрограммы: нет

Замечания по использованию: нет

Пример использования

       DIMENSION  IA(5), JA(6), AN(6), AD(4), B(4), C(4)
       DATA  IA /1, 4, 6, 7, 7/,
      *            JA / 4, 2, 3, 4, 3, 4/,
      *           AN /3., 1., 2., 3., 2., 3./,
      *           AD /0.0, 1., 2., 3./,
      *             B /1., 1., 1., 1./
       N = 4
       CALL  AM21R (IA, JA, AN, AD, B, N, C)

Результаты:    C = ( 6, 7, 9, 12 )