Текст подпрограммы и версий amtcr_c.zip |
Тексты тестовых примеров tamtcr_c.zip |
Символическое транспонирование прямоугольной разреженной матрицы, заданной в формате 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)