| Текст подпрограммы и версий am19r_c.zip , am19d_c.zip | Тексты тестовых примеров tam19r_c.zip , tam19d_c.zip | 
Умножение прямоугольной разреженной матрицы, заданной в формате RR (C) U, на заполненный вектор - столбец
Описание формата RR (C) U приведено в описании подпрограммы amtsr_c .
Пусть заданы прямоугольная разреженная матрица A размеров N на M в формате RR (C) U и заполненный вектор - столбец B длины M. Подпрограмма am19r_c вычисляет заполненный вектор - столбец C длины N, равный произведению матрицы A на вектор - столбец B
С.Писсанецки. Технология разреженных матриц. -М.: Мир, 1988
    int am19r_c (integer *ia, integer *ja, real *an, real *b,
        integer *n, integer *m, real *c)
Параметры
| ia, ja - an | заданные портрет и ненулевые элементы матрицы A в формате RR (C) U; | 
| b - | вещественный одномерный массив m, содержащий компоненты заданного заполненного вектора - столбца; | 
| n - | заданное число строк матрицы A (тип: целый); | 
| m - | заданное число столбцов матрицы A (тип: целый); | 
| c - | вещественный одномерный массив длины n, содержащий компоненты результирующего вектора | 
Версии
| am19d_c - | умножение прямоугольной разреженной матрицы, заданной в формате RR (C) U, на заполненный вектор - столбец в режиме удвоенной точности; при этом параметры an, b и c должны быть описаны в режиме double | 
Вызываемые подпрограммы: нет
Замечания по использованию: нет
int main(void)
{
    /* Initialized data */
    static int ia[5] = { 1,3,7,9,11 };
    static int ja[10] = { 5,3,4,3,1,5,1,6,4,2 };
    static float an[10] = { -1.f,2.f,3.f,3.f,4.f,7.f,-2.f,-1.f,1.f,1.f };
    static float b[6] = { 1.f,1.f,1.f,1.f,1.f,1.f };
    /* Local variables */
    extern int am19r_c(int *, int *, float *, float *, int *, int *,
                       float *);
    static float c__[4];
    static int m, n, i__;
    n = 4;
    m = 6;
    am19r_c(ia, ja, an, b, &n, &m, c__);
    for (i__ = 1; i__ <= 4; ++i__) {
         printf("\n  %6.0f \n", c__[i__-1]);
    }
    return 0;
} /* main */
Результаты:    c__ = ( 1, 17, - 3, 2 )