Текст подпрограммы и версий ( Фортран ) aet3c.zip , aet3p.zip |
Тексты тестовых примеров ( Фортран ) taet3c.zip , taet3p.zip |
Текст подпрограммы и версий ( Си ) aet3c_c.zip , aet3p_c.zip |
Тексты тестовых примеров ( Си ) taet3c_c.zip , taet3p_c.zip |
Текст подпрограммы и версий ( Паскаль ) aet3c_p.zip , aet3z_p.zip |
Тексты тестовых примеров ( Паскаль ) taet3c_p.zip , taet3z_p.zip |
Вычисление собственных вектоpов верхней комплексной матрицы Хессенберга, соответствующих указанным собственным значениям.
Подпрограмма AET3C по заданным собственным значениям верхней комплексной матрицы Хессенберга A вычисляет соответствующие собственные векторы с помощью метода обратных итераций.
Возникающие в методе обратных итераций системы
( A - λ I ) x = y ,
где λ - задаваемое приближение к собственному значению матрицы A, решаются методом Гаусса с выбором ведущего элемента по столбцу.
Уилкинсон, Райнш. Справочник алгоритмов на языке АЛГОЛ. Линейная алгебра. M.: "Машиностроение", 1976.
SUBROUTINE AET3C (NM, N, AR, AI, WR, WI, SELECT, MM, M, ZR, ZI, RM1, RM2, RV1, RV2, IERR)
Параметры
NM - | число стpок двумерных массивов AR, AI, ZR и ZI, указанное при описании этих массивов в вызывающей подпрограмме (тип: целый); |
N - | порядок исходной матрицы, N ≤ NM (тип: целый); |
AR, AI - | вещественные двумерные массивы размерности NM на N, содержащие в своих первых N стpоках соответственно вещественную и мнимые части исходной матрицы Хессенберга; |
WR, WI - | вещественные векторы длины N, содержащие на входе в подпрограмму соответственно вещественные и мнимые части собственных значений исходной матрицы Хессенберга; если исходная матрица является правой квазитреугольной, то требуется, чтобы собственные значения каждой диагональной клетки исходной матрицы имели бы в массивах WR и WI индексы, заключенные между граничными индексами соответствующей диагональной клетки; этому условию удовлетворяют собственные значения, вычисленные подпрограммой AET2R; |
SELECT - | логический вектоp длины N, служащий для выделения тех собственных значений, для которых нужно вычислить собственные векторы, при этом, если требуется вычислить собственный вектоp, соответствующий собственному значению, имеющему индекс I в массивах WR и WI, то SELECT (I) = .TRUE.; |
MM - | задаваемая оценка свеpху для числа столбцов, требующихся для хранения вычисляемых собственных вектоpов (тип: целый); |
M - | целая переменная равная на выходе из подпрограммы числу столбцов, действительно использованных для хранения вычисленных собственных вектоpов; |
ZR, ZI - | вещественные двумерные массивы размерности NM на MM, содержащие на выходе из подпрограммы в своих первых M столбцах соответственно вещественные и мнимые части вычисленных собственных вектоpов; |
RM1 - RM2 | вещественные рабочие векторы длины N2; |
RV1 - RV2 | вещественные рабочие векторы длины N; |
IERR - | целочисленная переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом: |
IERR = - (2*N + 1) - | если для хранения искомых собственных вектоpов требуется более MM столбцов, в этом случае на выходе из подпрограммы M = MM; |
IERR = - K - | если для собственного значения с индексом K не было получено приемлемого приближения к собственному вектоpу; в этом случае компоненты этого вектоpа приравниваются нулю; если таких собственных вектоpов несколько, то в качестве K берется индекс последнего из них; |
IERR = - (N + K) - | если обе описанные выше ошибки имели место; |
IERR= 0 - | в случае нормального выхода из подпрограммы. |
Версии
AET3P - | вычисление собственных вектоpов верхней комплексной матрицы Хессенберга, заданной с двойной точностью, по заданным собственным значениям. |
Вызываемые подпрограммы
UTAE12 - | подпрограмма выдачи диагностических сообщений при работе подпрограмм AET3C и AET3P. |
Замечания по использованию
1. |
Подпрограмма AET3C сохраняет исходную матрицу (массив A) и заданные собственные значения (массивы WR и WI), если не считать незначительные возмущения вещественных частей некоторых близких собственных значений (массив WR), произведенные с целью получения независимых собственных вектоpов. | |
2. | B подпрограмме AET3P параметры AR, AI, WR, WI, ZR, ZI, RM1, RM2, RV1, RV2 имеют тип DOUBLE PRECISION. |
LOGICAL SELECT DIMENSION AR(3, 3), AI(3, 3), WR(3), WI(3), SELEST(3), ZR(3, 2), * ZI(3, 2), RM1(3, 3), RM2(3, 3), RV1(3), RV2(3) DATA AR /2., 0., 0., -2., 0., -1., 4., 2., 3./ DATA AI /2., 2*0., -2., 1., 0., 4., 0., 1./ DATA WR /2., 1., 2./ DATA WI /2., 1., 1./ N = 3 MM = 3 SELEST(1) = .TRUE. SELEST(2) = .FALSE. SELEST(3) = .TRUE. CALL AET3C (3, 3, AR, AI, WR, WI, SELEST, MM, M, ZR, ZI, * RM1, RM2, RV1, RV2, IERR) Результаты: M = 2 , IERR = 0 , | 1. 1. | ZR = | 0. -0.25 | | 0. -0.25 | | 0. 0. | ZI = | 0. -0.25 | | 0. -0.25 |