Текст подпрограммы и версий ( Фортран )
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

Подпрограмма:  AEE6R

Назначение

Вычисление плотности распределения собственных значений симметричной трехдиагональной матрицы на заданном полуинтервале.

Математическое описание

Подпрограмма АЕЕ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 .