|
Текст подпрограммы и версий ( Фортран ) aee6r.zip , aee6d.zip |
Тексты тестовых примеров ( Фортран ) taee6r.zip , taee6d.zip |
|
Текст подпрограммы и версий ( Си ) aee6r_c.zip , aee6d_c.zip |
Тексты тестовых примеров ( Си ) taee6r_c.zip , taee6d_c.zip |
|
Текст подпрограммы и версий ( Паскаль ) aee6r_p.zip , aee6e_p.zip |
Тексты тестовых примеров ( Паскаль ) taee6r_p.zip , taee6e_p.zip |
Вычисление плотности распределения собственных значений симметричной трехдиагональной матрицы на заданном полуинтервале.
Подпрограмма АЕЕ6R строит последовательность точек
V = X0 < X1 < X2 ... < XM-1 < XM = U ,
разбивающую заданный полуинтервал (V, U) на заданное число (М) равных частей. Для каждого полученного полуинтервала (ХK - 1, ХК), К = 1, ... М, вычисляется МW (К) - число собственных значений симметричной трехдиагональной матрицы, принадлежащих полуинтервалу (ХК - 1, ХК).
SUBROUTINE AEE6R ( A, B, N, V, U, M, MW)
Параметры
| A - | вещественный вектор длины N, содержащий диагональные элементы симметричной трехдиагональной матрицы; |
| B - | вещественный вектор длины N, содержащий в последних N - 1 компонентах поддиагональные элементы симметричной трехдиагональной матрицы; |
| N - | порядок симметричной трехдиагональной матрицы (тип: целый); |
| V, U - | соответственно нижняя и верхняя границы заданного полуинтервала (тип: вещественный); |
| M - | заданное число разбиений исходного полуинтервала (тип: целый); |
| MW - | целый вектор длины М, содержащий вычисленные значения плотности. |
Версии
| AEE6D - | вычисление плотности распределения собственных значений симметричной трехдиагональной матрицы, заданной с двойной точностью, на заданном полуинтервале. |
Вызываемые подпрограммы : нет
Замечания по использованию
| 1. |
Подпрограмма АЕЕ6R не сохраняет исходные векторы А и В. | |
| 2. |
В подпрограмме АЕЕ6D параметры А и В имеют тип DОUВLЕ РRЕСISIОN. | |
| 3. | Подпрограмма АЕЕ6R может быть использована и для вычисления плотности распределения собственных значений комплексной эрмитовой трехдиагональной матрицы на заданном полуинтервале. Для этого нужно предварительно привести комплексную эрмитову трехдиагональную матрицу к вещественной симметричной трехдиагональной матрице преобразованием подобия (например, обратиться к подпрограмме АFЕ0С). |
DIMENSION A(50), B(50), MW(20)
DATA A /1., 49., 48*0.0/
DATA B /0., 7., 48*0./
N = 50
V = -13.
U = 7.
M = 20
CALL AEE6R (A, B, N, V, U, M, MW)
Результаты:
MW(1) = MW(2) = ... = MW(13) = 0 ,
MW(14) = 49 ,
MW(15) = MW(16) = ... = MW(20) = 0 .