Текст подпрограммы и версий ( Фортран ) ask9c.zip |
Тексты тестовых примеров ( Фортран ) task9c.zip |
Текст подпрограммы и версий ( Си ) ask9c_c.zip |
Тексты тестовых примеров ( Си ) task9c_c.zip |
Текст подпрограммы и версий ( Паскаль ) ask9c_p.zip |
Тексты тестовых примеров ( Паскаль ) task9c_p.zip |
Решение системы линейных алгебраических уравнений с клеточно - циркулянтной матрицей, все клетки которой суть клеточно - теплицевы матрицы с клетками общего вида.
Решается система А*x = b с клеточно - циркулянтной матрицей А (см. [1]) клеточного размера К на К, с клетками размера (М*L) на (М*L); клетки матрицы А являются клеточно - теплицевыми матрицами клеточного размера L на L, с клетками общего вида размера М на М.
В основе алгорифма лежит подобное преобразование матрицы А к клеточно - диагональной матрице клеточного размера К на К, с клетками размера (М*L) на (М*L). Тем самым решение исходной системы порядка М на L на К сводится к решению К систем порядка М на L, матрицы которых - клеточно - теплицевы с клетками общего вида (см. [2]).
1. | В.В.Воеводин. Вычислительные основы линейной алгебры. М., Наука, 1977. |
2. | Е.Е.Тыртышников. О решении систем с матрицами типа теплицевых. В сб. "Численный анализ на ФОРТРАНе. Вычисл. Методы и инструментальные системы". Изд-во МГУ, 1978. |
SUBROUTINE ASK9C (A, X, R, M, L, K)
Параметры
A - | комплексный одномерный массив длины М2 на (2*L - 1) на К, в котором задается матрица системы следующим образом. Массив А делится на К кусков длины М2 на (2*L - 1). В I - ом куске, I = 1, ..., К, задается I - ая клетка первой клеточной строки исходной матрицы. Задание I - ой клетки в своем куске осуществляется следующим образом: соответствующий кусок делится на I - 1 сегментов длины М2. В J - ом сегменте, J = 1, ..., L, записывается J - ая клетка первой клеточной строки I - ой клетки. В L + J - ом сегменте, J = 1, ..., L - 1, записывается J + 1 - ая клетка первого клеточного столбца J - ой клетки. Все внутренние клетки в своих сегментах записываются по столбцам; |
X - | комплексный одномерный массив длины М на L на К, в котором задается правая часть. На выходе из подпрограммы в Х получается решение; |
R - | комплексный одномерный рабочий массив длины max (2*М2*L + 4*М2 + М, К); |
M - | порядок внутренней клетки (тип: целый); |
L - | клеточный порядок клеток исходной матрицы (тип: целый); |
K - | клеточный порядок исходной матрицы (тип: целый). |
Версии: нет
Вызываемые подпрограммы
ASKAC - | решение системы линейных алгебраических уравнений с клеточно - теплицевой матрицей с клетками общего вида. |
ASG1C - | обращение комплексной матрицы методом Жордана с выбором по столбцу. |
Замечания по использованию
В подпрограмме АSК9С используются служебные подпрограммы АR01С, АR02С, АSКВС. |
COMPLEX A(24), X(8), R(34) DATA A / (1., 1.), (2., 2.), (2., 2.), (1., 1.), (2., 2.), (4., 4.), * (4., 4.), (2., 2.), (2., 2.), (4., 4.), (4., 4.), (2., 2.), * (2., 2.), (4., 4.), (4., 4.), (2., 2.), (4., 4.), (8., 8.), * (8., 8.), (4., 4.), (4., 4.), (8., 8.), (8., 8.), (4., 4.) / DATA X /8* (27., 27.)/ M = 2 L = 2 K = 2 CALL ASK9C (A, X, R, M, L, K) Результат: X = ( (1., 0.), (1., 0.), (1., 0.), (1., 0.), (1., 0.), (1., 0.), (1., 0.), (1., 0.) )