|
Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://num-anal.srcc.msu.su/lib_na/cat/ae/aet1c.htm
Дата изменения: Wed Dec 2 11:51:49 2015 Дата индексирования: Sun Apr 10 00:27:41 2016 Кодировка: Windows-1251 |
|
Текст подпрограммы и версий ( Фортран ) aet1c.zip , aet1p.zip |
Тексты тестовых примеров ( Фортран ) taet1c.zip , taet1p.zip |
|
Текст подпрограммы и версий ( Си ) aet1c_c.zip |
Тексты тестовых примеров ( Си ) taet1c_c.zip |
|
Текст подпрограммы и версий ( Паскаль ) aet1c_p.zip , aet1z_p.zip |
Тексты тестовых примеров ( Паскаль ) taet1c_p.zip , taet1z_p.zip |
Вычисление всех собственных значений и собственных векторов комплексной верхней матрицы Хессенберга QR - алгоpитмом.
Подпрограмма АЕТ1С вычисляет собственные значения комплексной верхней матрицы Хессенберга QR - алгоpитмом со сдвигом; информация о выполняемых преобразованиях запоминается и используется потом для вычисления собственных векторов матрицы Хессенберга.
Если рассматриваемая матрица Хессенберга была получена в результате унитарного подобного преобразования некоторой комплексной матрицы общего вида с помощью подпрограммы АFG7С, то подпрограмма АЕТ1С может вычислить непосредственно собственные векторы исходной комплексной матрицы общего вида.
Уилкинсон Дж.Х. Алгебраическая проблема собственных значений. М.: "Наука", 1970.
SUBROUTINE AET1C (NM, N, LOW, IGH, ORTR, ORTI, HR, HI,
WR, WI, ZR, ZI, IERR)
Параметры
| NM - | число строк двумерных массивов НR, НI, ZR, ZI, указанное при описании этих массивов в вызывающей подпрограмме (тип: целый); |
| N - | порядок исходной матрицы (тип: целый); |
|
LOW - IGH | выходные параметры подпрограммы АМВ1С (тип: целый); если матрица не масштабировалась, то можно взять LОW = 1, IGН = N; |
|
ORTR - ORTI |
вещественные векторы длины IGН; первые
LОW - 1 компонент этих векторов подпрограммой
АЕТ1С не используются; если требуется
вычислить собственные векторы матрицы
Хессенберга, то на входе в подпрограмму должно выполняться ОRТR (I) = ОRТI (I) = 0.0, I = LОW, LОW + 1, ..., IGН; если требуется вычислить собственные векторы комплексной матрицы общего вида (к которой была предварительно применена подпрограмма АFG7С), то ОRТR и ОRТI являются выходными параметрами подпрограммы АFG7С и содержат часть информации о выполненном унитарном преобразовании; |
| HR, HI - | вещественные двумерные массивы размерности NМ на N, содержащие на входе в подпрограмму в своих первых N строках соответственно вещественную и мнимые части исходной матрицы Хессенберга; если требуется вычислить собственные векторы матрицы Хессенберга, то остальные элементы массивов НR и НI (лежащие ниже поддиагонали) могут быть произвольными; если же требуется вычислить собственные векторы комплексной матрицы общего вида, то НR и НI - выходные параметры подпрограммы АFG7С, которые кроме матрицы Хессенберга содержат еще оставшуюся информацию о выполненном унитарном преобразовании; |
| WR, WI - | вещественные векторы длины N, содержащие на выходе из подпрограммы соответственно вещественные и мнимые части вычисленных собственных значений; |
| ZR, ZI - | вещественные двумерные массивы размерности NM на N, содержащие на выходе из подпрограммы в своих столбцах соответственно вещественные и мнимые части вычисленных собственных векторов; собственные векторы не нормируются; |
| IERR - | целочисленная переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; на выходе из подпрограммы IЕRR равно индексу собственного значения для вычисления которого требуется более 30 итераций, при этом собственные значения с индексами IЕRR + 1, IЕRR + 2, ..., N вычислены правильно, а собственные векторы не вычисляются; если вычислены все собственные значения и соответствующие собственные векторы, то IЕRR = 0. |
Версии
| AET1P - | вычисление всех собственных значений и собственных векторов комплексной матрицы Хессенберга, заданной с двойной точностью, с помощью QR - алгоpитма со сдвигом. |
Вызываемые подпрограммы
| UTAE12 - | подпрограмма выдачи диагностических сообщений при работе подпрограмм АЕТ1С и АЕТ1Р. |
Замечания по использованию
| 1. |
В подпрограмме АЕТ1Р параметры ОRТR, ОRТI, НR, НI, WR, WI, ZR, ZI имеют тип DОUВLЕ РRЕСISIОN. | |
| 2. | Подпрограмма АЕТ1С (АЕТ1Р) не сохраняет исходные массивы НR и НI. |
DIMENSION HR(3, 3), HI(3, 3), ZR(3, 3), ZI(3, 3), ORTR(3),
* ORTI(3), WR(3), WI(3)
DATA HR /6., 3*0., 3., 1., 0., 1., 3./
DATA HI /1., 2*0., -2., 1., 0., 2., 0., 1./
N = 3
DO 10 I = 1, N
ORTR(I) = 0.
ORTI(I) = 0.
10 CONTINUE
CALL AET1C (3, 3, 1, 3, ORTR, ORTI, HR, HI, WR, WI, ZR, ZI,
* IERR)
Результаты:
IERR = 0 , WR = (6., 4., 2.) , WI = (1., 1., 1.)
| 1. 0. 0. |
ZR = | 0. a -a |
| 0. a a |
| 0. 0. -a |
ZI = | 0. 0. 0. |
| 0. 0. 0. |
где a = 0.707106781187