Текст подпрограммы и версий ( Фортран )
ask8c.zip
Тексты тестовых примеров ( Фортран )
task8c.zip
Текст подпрограммы и версий ( Си )
ask8c_c.zip
Тексты тестовых примеров ( Си )
task8c_c.zip
Текст подпрограммы и версий ( Паскаль )
ask8c_p.zip
Тексты тестовых примеров ( Паскаль )
task8c_p.zip

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

Назначение

Решение системы линейных алгебраических уравнений с клеточно - циркулянтной матрицей, все клетки которой суть клеточно - циркулянтные матрицы с теплицевыми клетками.

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

Решается система А*x = b с клеточно - циркулянтной матрицей А (см. [1]) клеточного размера К на К, с клетками размера (М*L) на (М*L); клетки матрицы А сами являются клеточно - циркулянтными матрицами клеточного размера L на L, с теплицевыми клетками размера М на М.

В основе алгорифма лежит подобное преобразование матрицы А к клеточно - диагональной матрице клеточного размера К на К, с клетками размера (М*L) на (М*L). Тем самым решение исходной системы порядка М на L на К сводится к решению К систем порядка М на L, матрицы которых - клеточно - циркулянтные, с теплицевыми клетками (см. [2]).

1.  В.В.Воеводин. Вычислительные основы линейной алгебры. М., Наука, 1977.
2.  Е.Е.Тыртышников. О решении систем с матрицами типа теплицевых. В сб. "Численный анализ на ФОРТРАНе. Вычисл. Методы и инструментальные системы". Изд-во МГУ, 1978.

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

    SUBROUTINE  ASK8C (A, X, R, M, L, K) 

Параметры

A - комплексный одномерный массив длины (2*М - 1) на L на К, в котором задается матрица системы следующим образом. Массив А делится на К кусков длины (2*М - 1) на L. В I - ом куске, I = 1, ..., К, задается I - ая клетка первой клеточной строки исходной матрицы. Задание I - ой клетки в своем куске осуществляется следующим образом. Соответствующий кусок делится на L сегментов длины 2*М - 1. В J - ом сегменте, J = 1, ..., L, задается J - ая клетка первой клеточной строки I - ой клетки. Каждая внутренняя клетка в своем сегменте задается первой строкой, за которой следуют элементы первого столбца, начиная со второго элемента;
X - комплексный одномерный массив длины М на L на К, в котором задается правая часть. На выходе из подпрограммы в Х получается решение;
R - комплексный одномерный рабочий массив длины max (2*М, L, К);
M - порядок внутренней клетки (тип: целый);
L - клеточный порядок клеток исходной матрицы (тип: целый);
K - клеточный порядок исходной матрицы (тип: целый).

Версии: нет

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

ASTAC - решение системы линейных алгебраических уравнений с теплицевой матрицей.
ASK5C - решение системы линейных алгебраических уравнений с клеточно - циркулянтной матрицей, все клетки которой суть теплицевы матрицы.

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

  В подпрограмме АSК8С используются служебные подпрограммы АR01С, АR02С.

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

      COMPLEX  A(12), X(8), R(4)
      DATA  A / (1., 1.),  (2., 2.),  (2., 2.),  (2., 2.),  (4., 4.),  (4., 4.), 
     *                 (2., 2.),  (4., 4.),  (4., 4.),  (4., 4.),  (8., 8.),  (8., 8.) /
      DATA  X /8* (27., 27.)/
      M = 2
      L = 2
      K = 2
      CALL  ASK8C (A, X, R, M, L, K)

Результат:

      X  =  ( (1., 0.),  (1., 0.),  (1., 0.),  (1., 0.),  (1., 0.),  (1., 0.), 
                (1., 0.),  (1., 0.) )