Текст подпрограммы и версий ( Фортран ) aee8r.zip , aee8d.zip |
Тексты тестовых примеров ( Фортран ) taee8r.zip , taee8d.zip |
Текст подпрограммы и версий ( Си ) aee8r_c.zip , aee8d_c.zip |
Тексты тестовых примеров ( Си ) taee8r_c.zip , taee8d_c.zip |
Текст подпрограммы и версий ( Паскаль ) aee8r_p.zip , aee8e_p.zip |
Тексты тестовых примеров ( Паскаль ) taee8r_p.zip , taee8e_p.zip |
Вычисление собственных значений симметричной трехдиагональной матрицы, принадлежащих данному полуинтервалу, и определение номеров этих собственных значений.
Пусть все собственные значения заданной симметричной трехдиагональной матрицы Т порядка N перенумерованы в порядке неубывания :
λ1 ≤ λ2 ≤ ... ≤ λN-1 ≤ λN
Подпрограмма АЕЕ8R определяет номера собственных значений матрицы Т, принадлежащих данному полуинтервалу (V, U), и производит вычисление этих собственных значений методом бисекций.
Дж.Х.Уилкинсон, Алгебраическая проблема собственных значений, "Наука", М., 1970.
SUBROUTINE AEE8R ( A, B, N, V, U, M1, M2, RU, W)
Параметры
A - | вещественный вектор длины N, содержащий диагональные элементы симметричной трехдиагональной матрицы; |
B - | вещественный вектор длины N, содержащий в последних N - 1 компонентах поддиагональные элементы симметричной трехдиагональной матрицы; |
N - | заданный порядок симметричной трехдиагональной матрицы (тип: целый); |
V, U - | соответственно нижняя и верхняя границы заданного полуинтервала (тип: вещественный); |
M1, M2 - | номера соответственно наименьшего и наибольшего собственных значений, принадлежащих данному полуинтервалу (тип: целый); |
RU - | вещественный вектор длины N, используемый как рабочий; |
W - | вектор длины N, с М1 - й по М2 - ю компоненту которого содержатся вычисленные собственные значения принадлежащие заданному полуинтервалу. |
Версии
AEE8D - | вычисление собственных значений симметричной трехдиагональной матрицы, заданной с двойной точностью, принадлежащих данному полуинтервалу, и определение номеров этих собственных значений. |
Вызываемые подпрограммы : нет
Замечания по использованию
1. |
Подпрограмма АЕЕ8R не сохраняет исходные векторы А и В. | |
2. |
Если заданный полуинтервал не содержит ни одного собственного значения симметричной трехдиагональной матрицы, то подпрограмма АЕЕ8R присваивает М1 и М2 нулевые значения. | |
3. |
В подпрограмме АЕЕ8D параметры А, В, V, U, RU, W должны иметь тип DОUВLЕ РRЕСISIОN. | |
4. | Подпрограмма АЕЕ8R может быть использована для вычисления собственных значений комплексной эрмитовой трехдиагональной матрицы, принадлежащих данному полуинтервалу, и определения номеров этих собственных значений. Для этого нужно предварительно привести комплексную эрмитовую трехдиагональную матрицу к вещественной симметричной трехдиагональной матрице преобразованиями подобия (например, обратиться к подпрограмме АFЕ0С). | |
5. |
Подпрограмма АЕE8R использует служебную подпрограмму AMA1R. Подпрограмма АЕE8D использует служебную подпрограмму AMA1D. |
DIMENSION A(50), B(50), RU(50), W(50) DATA A /1., 49., 48*0.0/ DATA B /0., 7., 48*0./ N = 50. V = -2. U = 7. CALL AEE8R (A, B, N, V, U, M1, M2, RU, W) Результаты: M1 = 1, M2 = 49 , W(1) = W(2) = ... = W(49) = -1.34*10-11