Текст подпрограммы и версий
amtcr_c.zip
Тексты тестовых примеров
tamtcr_c.zip

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

Назначение

Символическое транспонирование прямоугольной разреженной матрицы, заданной в формате RR (C) U

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

Описание форматов RR (C) U и RR (C) O приведены в описании подпрограммы amtsr_c .

Данная подпрограмма по портрету исходной матрицы A вычисляет портрет транспонированной матрицы AT и представляет его в формате RR (C) O.

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

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

    int amtcr_c (integer *ia, integer *ja, integer *n, integer *m,
            integer *iat, integer *jat)

Параметры

ia, ja - заданный портрет транспонируемой прямоугольной матрицы A в формате RR (C) U;
n - заданное число строк транспонируемой матрицы A (тип: целый);
m - заданное число столбцов транспонируемой матрицы A (тип: целый);
      iat -
      jat  
вычисленный портрет транспонированной матрицы A в формате RR (C) O

Версии: нет

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

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

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

int main(void)
{
    /* Initialized data */
    static int ia[6] = { 1,4,6,8,11,14 };
    static int ja[13] = { 5,6,3,4,1,3,4,4,3,1,2,6,5 };

    /* Local variables */
    static int m, n;
    extern int amtcr_c(int *, int *, int *, int *, int *, int *);
    static int iat[7], jat[13];

    n = 5;
    m = 6;
    amtcr_c(ia, ja, &n, &m, iat, jat);

    printf("\n  %5i %5i %5i %5i %5i %5i %5i \n",
           iat[0], iat[1], iat[2], iat[3], iat[4], iat[5], iat[6]);
    printf("\n  %5i %5i %5i %5i %5i %5i %5i %5i %5i %5i %5i %5i %5i \n",
           jat[0], jat[1], jat[2], jat[3], jat[4], jat[5], jat[6],
           jat[7], jat[8], jat[9], jat[10], jat[11], jat[12]);
    return 0;
} /* main */


Результаты: 

      iat  =  (1, 3, 4, 7, 10, 12, 14) 
      jat  =  (2, 4, 5, 1, 3, 4, 2, 3, 4, 1, 5, 1, 5)