Текст подпрограммы и версий ( Фортран ) ait1r.zip ait1d.zip ait1c.zip |
Тексты тестовых примеров ( Фортран ) tait1r.zip tait1d.zip tait1c.zip |
Текст подпрограммы и версий ( Си ) ait1r_c.zip ait1d_c.zip ait1c_c.zip |
Тексты тестовых примеров ( Си ) tait1r_c.zip tait1d_c.zip tait1c_c.zip |
Текст подпрограммы и версий ( Паскаль ) ait1r_p.zip ait1e_p.zip ait1c_p.zip |
Тексты тестовых примеров ( Паскаль ) tait1r_p.zip tait1e_p.zip tait1c_p.zip |
Обращение вещественной треугольной матрицы.
Заданная вещественная верхняя (нижняя) треугольная матрица А порядка N обращается путем последовательного обращения треугольных подматриц Аi порядка i, i = 1,...,N, стоящих в левом верхнем (правом нижнем) углу матрицы.
Дж. Форсайт, М. Малькольм, К. Моулер. Машинные методы математических вычислений, М.: Мир, 1980.
SUBROUTINE AIT1R (A, M, N, LOW, IERR)
Параметры
A - | вещественный двумерный массив размера М на N, в котором задается исходная треугольная матрица; на выходе содержит вычисленную матрицу А-1; |
M - | первая размерность массива А в вызывающей программе (тип: целый); |
N - | порядок матрицы А (тип: целый); |
LOW - | признак обращаемой матрицы (тип: целый), причем LОW = 0, если матрица А верхняя треугольная, LОW≠0, если матрица А нижняя треугольная; |
IERR - | целая переменная, содержащая на выходе информацию о прохождении счета; при этом: |
IЕRR=65 - | если М ≤ 0 или N ≤ 0, |
IЕRR=66 - | если в процессе работы произошло переполнение (это говорит о том, что некоторые элементы матрицы А- 1 превосходят по абсолютной величине максимальное представимое на данной машине число); |
IЕRR=-К - | если в К - й строке матрицы А диагональный элемент равен нулю (это свидетельствует о вырожденности матрицы А). Если таких строк несколько, то значение K полагается равным номеру первой из них. |
Версии
AIT1D - | обращение вещественной треугольной матрицы, заданной с удвоенной точностью. |
AIT1C - | обращение комплексной треугольной матрицы. |
Вызываемые подпрограммы
UTAFSI - | подпрограмма выдачи диагностических сообщений. |
Замечания по использованию
1. |
В подпрограмме АIТ1D массив А имеет тип DОUВLЕ РRЕСISIОN. | |
2. |
В подпрограмме АIТ1С массив А имеет тип СОМРLЕХ. | |
3. | Если вырабатывается значение переменной IЕRR, отличное от нуля, то выдается соответствующее диагностическое сообщение и происходит выход из подпрограммы. |
DIMENSION A(5, 5) M = 5 N = 5 LOW = 0 DO 4 J = 1, N DO 3 I = 1, J A(I, J) = FLOAT(I*10 + J) 3 CONTINUE 4 CONTINUE CALL AIT1R (A, M, N, LOW, IERR) Результаты: | 9.091E-2 -4.959E-2 -1.251E-3 -9.107E-4 -7.120E-4 | | 0 4.546E-2 -3.168E-2 -3.131E-4 -2.448E-4 | A = | 0 0 3.031E-2 -2.342E-2 -1.252E-4 | | 0 0 0 2.273E-2 -1.860E-2 | | 0 0 0 0 1.818E-2 |