Текст подпрограммы и версий ( Фортран ) aib1r.zip aib1d.zip |
Тексты тестовых примеров ( Фортран ) taib1r.zip taib1d.zip |
Текст подпрограммы и версий ( Си ) aib1r_c.zip aib1d_c.zip |
Тексты тестовых примеров ( Си ) taib1r_c.zip taib1d_c.zip |
Текст подпрограммы и версий ( Паскаль ) aib1r_p.zip aib1e_p.zip |
Тексты тестовых примеров ( Паскаль ) taib1r_p.zip taib1e_p.zip |
Обращение ленточной матрицы, заданной в компактной форме, с выбором ведущего элемента по столбцу.
Подпрограмма АIВ1R вычисляет матрицу B, такую что А*В = Е, где А - исходная ленточная, а Е - единичная матрицы. Обращение осуществляется с выбором главного элемента по столбцу.
Дж.Х.Уилкинсон, Алгебраическая проблема собственных значений. "Наука", М., 1970.
SUBROUTINE AIB1R (A, B, N, NLC, NUC, R, IERR)
Параметры
A - | вещественный двумерный массив размера N на (NLС+NUС+1), в котором содержится заданная матрица, записанная в компактной форме; |
B - | вещественный двумерный массив размера N на N, в котором записывается вычисленная обратная матрица; |
N - | порядок матрицы (тип: целый); |
NLC - | число ненулевых диагоналей матрицы, расположенных под главной диагональю (тип: целый); |
NUC - | число ненулевых диагоналей матрицы, расположенных над главной диагональю (тип: целый); |
R - | вещественный двумерный массив размера N на (NLС+1), используемый как рабочий; |
IERR - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом: |
IЕRR=65 - | если заданная матрица является алгоритмически сингулярной. |
Версии
AIB1D - | обращение ленточной матрицы, заданной в компактной форме с удвоенной точностью. Используется выбор ведущего элемента по столбцу. |
Вызываемые подпрограммы
UTBF10 - | подпрограмма печати диагностических сообщений при работе подпрограммы АIВ1R; |
UTBF11 - | подпрограмма печати диагностических сообщений при работе подпрограммы АIВ1D. |
Замечания по использованию
При работе подпрограммы исходная матрица не сохраняется. На место вектора А помещается его треугольное разложение. Для подпрограммы АIВ1D параметры А, B, R должны иметь тип DОUВLЕ РRЕСISIОN. |
DIMENSION A(3, 3), B(3, 3), R(3, 2) DATA A /0., 1., 2., 1., 3., 3., -1., -2., 0./ N = 3 NLC = 1 NUC = 1 CALL AIB1R (A, B, N, NLC, NUC, R, IERR) Результаты: B = (0.8125, -0.1875, 0.125, 0.1875, 0.1875, -0.125, 0.125, 0.125, 0.25), IERR = 0