Текст подпрограммы и версий ( Фортран ) afj0r.zip , afj0d.zip |
Тексты тестовых примеров ( Фортран ) tafj0r.zip , tafj0d.zip |
Текст подпрограммы и версий ( Си ) afj0r_c.zip , afj0d_c.zip |
Тексты тестовых примеров ( Си ) tafj0r_c.zip , tafj0d_c.zip |
Текст подпрограммы и версий ( Паскаль ) afj0r_p.zip , afj0e_p.zip |
Тексты тестовых примеров ( Паскаль ) tafj0r_p.zip , tafj0e_p.zip |
Приведение матрицы Якоби к симметрической трехдиагональной матрице преобразованием подобия.
Пусть Т - матрица Якоби, т.е. трехдиагональная матрица, произведения пар внедиагональных элементов которой все неотрицательны и равны нулю только тогда, когда оба сомножителя равны нулю.
Подпрограмма АFJ0R приводит матрицу Т к симметричной матрице Н преобразованием подобия Н = D - 1ТD , где D - диагональная матрица. При этом используются лишь внедиагональные элементы матрицы Т, поскольку диагональные элементы матриц Т и Н совпадают.
SUBROUTINE AFJ0R (B, C, N, IERR)
Параметры
B - | вещественный вектор длины N, содержащий в последних N - 1 компонентах наддиагональные элементы матрицы Якоби Т; на выходе подпрограммы в последних N - 1 компонентах вектора в запоминаются вычисленные наддиагональные элементы матрицы Н; |
C - | вещественный вектор длины N, в последних N - 1 компонентах которого содержатся поддиагональные элементы исходной матрицы Якоби; на выходе подпрограммы на месте вектора с запоминаются вычисленные диагональные элементы диагональной матрицы D; |
N - | заданный порядок исходной матрицы Якоби Т (тип: целый); |
IERR - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом: |
IЕRR=66 - | если не все попарные произведения соответствующих элементов побочных диагоналей исходной матрицы неотрицательны; |
IЕRR=67 - | если имеется равное нулю произведение соответствующих элементов побочных диагоналей, причем сомножители равны нулю неодновременно; |
IЕRR=68 - | если матрица Н получена, но матрица преобразования D не вычислена, т.к. она или обратная к ней матрица алгоритмически вырождена. |
Версии
AEJ0D - | приведение матрицы Якоби, заданной с двойной точностью, к симметрической трехдиагональной матрице преобразованием подобия. |
Вызываемые подпрограммы
UTAF12 - | подпрограмма выдачи диагностических сообщений при работе подпрограмм АFJ0R и АFJ0D. |
Замечания по использованию
В подпрограмме АFJ0D параметры В, С должны иметь тип DОUВLЕ РRЕСISIОN. |
DIMENSION B(5), C(5) DATA B /0., 1., 1., -4., -4./, C /0., 4., 16., -4., -4./ N = 5 CALL AFJ0R (B, C, N, IERR) Результаты: B = (0., 2., 4., 4.), C = (1., 2., 8., -8., 8.), IERR = 0