Текст подпрограммы и версий ( Фортран ) aee7r.zip , aee7d.zip |
Тексты тестовых примеров ( Фортран ) taee7r.zip , taee7d.zip |
Текст подпрограммы и версий ( Си ) aee7r_c.zip , aee7d_c.zip |
Тексты тестовых примеров ( Си ) taee7r_c.zip , taee7d_c.zip |
Текст подпрограммы и версий ( Паскаль ) aee7r_p.zip , aee7e_p.zip |
Тексты тестовых примеров ( Паскаль ) taee7r_p.zip , taee7e_p.zip |
Вычисление группы подряд идущих собственных значений симметричной трехдиагональной матрицы по заданным номерам.
Пусть все собственные значения заданной симметричной трехдиагональной матрицы порядка N перенумерованы в порядке неубывания:
λ1 ≤ λ2 ≤ ... ≤ λN-1 ≤ λN
Подпрограмма АЕЕ7R методом бисекций вычисляет группу подряд идущих собственных значений этой матрицы по заданным номерам (задаются минимальный и максимальный номера искомой группы собственных значений).
Дж.Х.Уилкинсон, Алгебраическая проблема собственных значений, "Наука", М., 1970.
SUBROUTINE AEE7R ( A, B, N, M1, M2, RU, W)
Параметры
A - | вещественный вектор длины N, содержащий диагональные элементы симметричной трехдиагональной матрицы; |
B - | вещественный вектор длины N, содержащий в последних N - 1 компонентах поддиагональные элементы симметричной трехдиагональной матрицы; |
N - | заданный порядок симметричной трехдиагональной матрицы (тип: целый); |
M1, M2 - | заданные минимальный и максимальный номера искомой группы собственных значений, М1 ≤ М2 (тип: целый); |
RU - | вещественный вектор длины М2, используемый как рабочий; |
W - | вещественный вектор длины М2, в компонентах которого начиная с М1 - ой, содержатся вычисленные собственные значения соответствующих номеров. |
Версии
AEE7D - | вычисление по заданным номерам группы подряд идущих собственных значений симметричной трехдиагональной матрицы, заданной с двойной точностью. |
Вызываемые подпрограммы : нет
Замечания по использованию
1. |
Подпрограмма АЕЕ7R не сохраняет исходные векторы А и В. | |
2. |
В подпрограмме АЕЕ7D параметры А, В, RU, W должны иметь тип DОUВLЕ РRЕСISIОN. | |
3. | Подпрограмма АЕЕ7R может быть использована и для вычисления по заданным компонентам группы подряд идущих собственных значений комплексной эрмитовой трехдиагональной матрицы. Для этого нужно предварительно привести комплексную эрмитову трехдиагональную матрицу к вещественной симметричной трехдиагонльной матрице преобразованиями подобия (например, обратиться к подпрограмме АFЕ0С). | |
4. |
Подпрограмма АЕE7R использует служебную подпрограмму AMA1R. Подпрограмма АЕE7D использует служебную подпрограмму AMA1D. |
DIMENSION A(50), B(50), RU(15), W(15) DATA A /1., 49., 48*0.0/ DATA B /0., 7., 48*0./ M1 = 3 M2 = 15 N = 50 CALL AEE7R (A, B, N, M1, M2, RU, W) Результаты: W(3) = W(4) = ... = W(15) = -2.55*10-12